a long ido miért nem a setupban van?
most mit is csinálsz:
Kód: Egész kijelölése
loop
definiálod az idő változót
gombnyomás történt?
igen:
időnek a millis() értékét adod //(ez nem nullázza az időt, kap egy pillanatnyi értéket)
azonnal 3 vizsgálat: gomb nyomva van-e , az idő nagyobb-e 300nál, és relé állapot=high?
relé állapot átállítása= low
azonnal 3 vizsgálat: gomb nyomva van-e , az idő nagyobb-e 300nál, és relé állapot=low?
relé állapot átállítása=high
loop vége
mellesleg ha átfut a progi a loopon, és még mindig nyomva van a gomb, az idő új értéket kap a millis() függvénytől ugye?
hogyan valósul így meg a 300 ms-os késleltetés?
a másik dolog:
a két relékapcsolgatós if-ed állandó oszcillációban van, ha nyomod a gombot
csak ezt kiszedve a loopbol:
Kód: Egész kijelölése
loop
állapot=high?
igen: állapot=low
állapot=low?
igen: állapot=high
loop vége
szerintem folyamat valami iljen kellene, hogy legyen:
Kód: Egész kijelölése
loop
gombnyomás történt?
igen:
várok, míg lenyugszik a kapcsoló (300 ms)
még mindig nyomva van?
igen:
relé be van húzva?
igen:
relé elenged
nem: //else ág
relé behúz
még mindig nyomva vége
gombnyomás vége
loop vége
ezredmásodperces reléfüstölést csinál
ui: a programkódhoz érdemes a code nyomógombot használni, így jobban látszik a hozzászólásban.