Automatische blast gates (Arduino) bouwverslag

  • Hallo {username}, je postbus van het priveberichten systeem loopt vol.

klusrob

Actieve deelnemer
27 jun 2011
264
8
Omgeving Eindhoven
Ik volg ook, maar dan om te leren.
Als de code straks naar je wens is... (hint :))

Zie ik het nu goed, of had je in je eerste test een ander toetsenbord dan in de definitieve besturingskast? Welke onderdelen heb je uiteindelijk gebruikt en waar heb je die gehaald?
 

mhermans

Nieuw lid
28 jun 2020
7
0
Mijn advies is om deze te gebruiken US $4.48 10% OFF|Bidirectional current sensor module ACS758LCB 050B ACS758LCB 050B ACS758 120 kHz bandwidth AC, DC: 50 50A 0.04V/1A|Battery Accessories & Charger Accessories| - AliExpress

De ACS712 wordt namelijk erg warm als je er wat amperes overheen gaat jagen.
Hier wordt het goed in beeld gebracht:
Uiteindelijk beter om een wat geschiktere sensor ertussen te hangen natuurlijk, maar in huidige setup waar het nog voornamelijk spelen met code is en testen wat wel werkt/niet werkt is de ACS712 prima, je kan er goedkoop je doel mee testen en je hoeft er niet 4 weken op te wachten nu
 

jabjab

Actieve deelnemer
10 mei 2011
86
7
Ik volg ook, maar dan om te leren.
Als de code straks naar je wens is... (hint :))

Zie ik het nu goed, of had je in je eerste test een ander toetsenbord dan in de definitieve besturingskast? Welke onderdelen heb je uiteindelijk gebruikt en waar heb je die gehaald?
De code kun je krijgen hoor. Dat mag als hij naar wens is maar als je hem eerder wilt stuur je maar een PB (geldt ook voor andere belangstellenden)

Ik had eerder inderdaad een ander toetsenbord maar dat vond ik minder mooi. Ik heb daarom een keypad met "echte" toetsen besteld. Ik weet zo langzamerhand niet meer precies waar alle onderdelen vandaan komen :giggle:. De servo's en een Arduino starterkit komen uit China en de rest bij diverse elektronica zaken zoals Conrad, TinyTronics en nog wel meer geloof ik. Als je googelt op Arduino keypad dan kom je vanzelf op de zaken die Arduino onderdelen verkopen.
 

jabjab

Actieve deelnemer
10 mei 2011
86
7
Als je het automatisch zou willen laten gaan zou je waarschijnlijk zoiets kunnen gebruiken: ACS712 30A stroommeter - HobbyElectronica

Ik ben zelf software engineer, heb ons hele huis voorzien van home automations, heb zelf ook nog een sensortje als hierboven liggen die ik op mijn 3d printer wil hangen. Ik gebruik die dingen om te kunnen zien of iets aan staat of niet zodat het in homekit op de juiste status kan staan.

Als je zou willen zou je zelfs je huidige project kunnen verbinden met een HAPNode-JS instantie (als je een iOS gebruiker bent) waardoor je de status van iedere gate op je telefoon zou kunnen zien en wijzigen
Ik wil de gates niet automatisch laten gaan. (Maar bedankt voor het meedenken!)

De status op mijn IPhone is voor mij totaal overbodig, maar het is wel leuk dat kan :) Ik zal het onthouden voor toekomstige projecten waarbij ik het nut er dan wellicht wel in zie.
 

thijs947

Nieuw lid
13 jun 2020
17
6
  • Leuk
Waarderingen: tinco

jabjab

Actieve deelnemer
10 mei 2011
86
7
Ik begreep van de geleerden dat ik de drukknoppen niet parallel aan de keypad kan plaatsen dus deze moeten op aparte poorten komen. Ik hoor graag of iemand weet hoe ik dat aan de code toe moet voegen

de vraag is dan hoe ik dit in mijn code zet, drukknop 1 zal dan hetzelfde stuk code moeten laten werken als het keypad bij keuze 1 doet.
 

KrisG

Actieve deelnemer
3 jan 2017
267
7
Vlaams-Brabant, BE
Je maakt een variabele per gereedschap.
als die bvb waarde 1 heeft moet de poort open, als die 0 is moet ze toe.
De waarde van die variabele verander je naargelang welk nummer er is ingetoetst en ook naargelang welke toets is ingedrukt.
Naast je test op het toetsenbord komt er dus een test bij op de drukknoppen.
 

jabjab

Actieve deelnemer
10 mei 2011
86
7
Ik heb hier echt te weinig kennis van om de code hier zelf bij te bedenken:oops: Ik heb de vraag ook even uitgezet in het Arduino forum, mocht daar een antwoord komen dan laat ik het weten.
 

klusrob

Actieve deelnemer
27 jun 2011
264
8
Omgeving Eindhoven
Naast je test op het toetsenbord komt er dus een test bij op de drukknoppen.
Even zonder enige kennis geschoten...
Moet JabJab de drukknop (bijv nr 1) op dezelfde aansluiting aansluiten als de drukknop nr 1 op zijn toetsenbord? Dus de beide drukknoppen parallel zetten, zodat als 1 van beide wordt ingeschakeld de arduino het signaal "knop ingedrukt" krijgt en dus de klep opengaat?
Of moeten deze knoppen bij het apparaat op een aparte aansluiting, en dus de code herhalen voor deze aparte knoppen?
 

KrisG

Actieve deelnemer
3 jan 2017
267
7
Vlaams-Brabant, BE
Omdat zijn toetsenbord in een matrix is opgebouwd is dat niet zo evident. Het kan, maar het is niet zo gemakkelijk.

Ik denk dat het gemakkelijker is om een afzonderlijke ingang te gebruiken (er zijn er toch genoeg) en in de code te zorgen dat ze hetzelfde effect hebben.
Als je dan later zou beslissen om het ene of het andere toch een ander effect te laten hebben, is dat gemakkelijker aan te passen.
 

mhermans

Nieuw lid
28 jun 2020
7
0
@jabjab

zonder je code te zien kan ik wel proberen antwoord te geven.
Wat de rest zegt is waar je kunt ze op een andere ingang zetten, let wel er zijn bepaalde pinnen geschikt voor het lezen van high/low en bepaalde totaal niet.

Het beste wat je kunt doen is bovenin je variabelen zetten op basis van de pinnen die je gebruikt, zoiets:

#define TABLESAW D5 // Relay Pin on Board (D5)
#define ROUTER D1 // REED pin on Board (D1)


je maakt een functie aan als dit

void movePort(int forPin) {
switch (forPin) {
case TABLESAW:
<INSERT MOTOR COMMAND HERE>
break;
case ROUTER:
<INSERT MOROR COMMAND HERE>
break;
default:
break;
}
}


Je weet op dit moment al welke poort open is en welke dicht is voeg dit toe aan je switch cases zodat je de statussen hiervan goed bijhoud.

je maakt dan nog een extra functie om te controleren of de knop ingedrukt is
void readButtonTableSaw() {
delay(500); // voor een momentary switch niet echt ideaal speel hier even een klein beetje mee.
int switchState = digitalRead(TABLESAW);
if (currentTableSawState != switchState) { // je controleert of de status anders is dan voorheen anders voer je niks uit
currentTableSawState = switchState;
movePort(TABLESAW);
}
}

void readReedRouter() {
delay(500); // voor een momentary switch niet echt ideaal speel hier even een klein beetje mee.
int switchState = digitalRead(ROUTER);
if (currentRouterState != switchState) { // je controleert of de status anders is dan voorheen anders voer je niks uit
currentRouterState = switchState;
movePort(ROUTER);
}
}



in je loop hoef je dan slechts de read functies aan te roepen om te zorgen dat ze constant gechecked worden.
Mogelijk zijn er efficiëntere manieren om dit in Arduino, ik ben zelf een iOS developer live cycles en opties zijn nogal anders dan in Arduino, maar op deze manier heb ik zelf alles werkend gekregen tot nu toe.
 

Hiertebreeddaartelang

Actieve deelnemer
7 mrt 2015
368
10
P'beek
Hier is de starterkit inmiddels binnen! (Eerst even leren en dan eens kijken wat we ermee kunnen).
Zag dat er ook wat meet-accessoires waren. Ideetje om een temperatuur, vochtigheid, fijnstof en geluidslog te maken. Zou moeten kunnen.

Ik hou me aanbevolen voor de code, mooi om te leren. Bedankt alvast!

@all: zijn er nog meer mensen die iets van automatisering hebben doorgevoerd (of zit dat bij CNC rubriek?)
 

Deze plek is voor toekomstige tekst. Door nu alvast deze kolom te activeren blijft de kolommen structuur ongewijzigd en de lezerservaring hetzelfde als er hier content geplaatst gaat worden.

Hier kan straks ook info geplaatst worden.