Hirdetés
- Kompatibilis lett az Android Quick Share és az Apple AirDrop
- Akciófigyelő: Black Friday kedvezmények az EarFun cuccaira
- Akciófigyelő: Huawei Black Friday akciók a tudatos életvitel jegyében
- Részletes fotókon a Honor robotkaros telefonja
- Ezekkel a kiegészítőkkel még sokoldalúbb eszközzé válik az Armor Pad 5
- Hivatalos a OnePlus 13 startdátuma
- Amazfit Bip 6 - jót olcsón
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Csavard fel a szőnyeget! - Xiaomi Vacuum 5 teszt
- Okosóra és okoskiegészítő topik
- Honor Magic6 Pro - kör közepén számok
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Apple iPhone 17 Pro Max – fennsík
- Yettel topik
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
zka67
őstag
Szia, a működése: a prev változó tárolja a nyomógomb előző állapotát, a state a kimenet aktuális állapotát.
Utána egy végtelen ciklusban beolvassa a curr változóba a nyomógomb aktuális állapotát, majd megnézi, hogy a nyomógomb most le van-e nyomva és az előző állapotban nem volt-e lenyomva, azaz most került-e lenyomásra. Ha igen, megváltoztatja a kimenet állapotát és kiírja azt a portra. A végén minden esetben átkerül az előző állapotba a nyomógomb aktuális állapota, és vár 100ms-et a nyomógomb prell elkerülésére.NYOMÓGOMB ___ _________ _____ ______
\____/ \/\______/ \_/
LED ______________ _______
___/ \______________/
MINTAVÉTEL | | | | | | | | | | | | | | |Szerk: lásd gyapo11 válaszát is

-
gyapo11
őstag
A while feltétele 1, ami igaz, vagyis örökké fog futni.
curr = digitalRead(NYOMOGOMB);
beírja a curr változóba a gomb állapotát.
if ((curr == 0) && (prev != 0)) {
Mivel prev=1, vagyis igaz, hogy nem 0, csak akkor igaz az if feltétele, ha curr=0. Vagyis amíg curr=1, addig nem történik változás, az if nem fut le,
prev = curr;
prevbe beírja a curr-t, vagyis 1-et, vár 100 msecet, és újra kezdi a while-t.Egyszer megváltozik a gomb állapota, és a curr-ba 0 kerül. Ekkor az if feltétele már igaz lesz, mert curr=0 és prev nem 0.
state ^= 1;
A ^ jel a bitwise xor, vagyis 1-gyel xorolja a biteket, aminek következtében ami 0 volt az 1 lesz, ami 1 volt az 0 lesz. A state eddig 0 volt, vagyis most 1 lesz.
digitalWrite(LED, state);
Vagyis a LED pinbe 1-et ír, a led világítani kezd.
prev = curr;
A prevbe 0 kerül, innen már tudjuk, hogy az if nem fog lefutni, mert a prev nem 0 feltétel nem teljesül, egészen addig, amíg a nyomógomb állapota ismét nem változik és válik 1-gyé.
delay(100);
Ez a pergésmentesítés miatt kell, hogy a nyomógomb lenyomásakor és felengedésekor létrejövő többtucat ki-be kapcsolást figyelmen kívül hagyjuk. Csak az első változást dolgozzuk föl, utána várunk 100 msecet, addig ezek a parazita kapcsolások megszűnnek.
Új hozzászólás Aktív témák
- Milyen autót vegyek?
- Hivatalos a OnePlus 13 startdátuma
- OpenMediaVault
- Black Friday november 29. / Cyber Monday december 2.
- BMW topik
- World of Warships
- Amazfit Bip 6 - jót olcsón
- Itt a Microsoft szörnyprocesszora, ami 132 maggal tarolhatja le a felhőt
- Kerékpárosok, bringások ide!
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- Újszerű bivaly Lenovo Thinkpad T16 gen3 (13.gen Core Ultra 7 32Gb DDR5 1 Tb SSD) MAGYAR 30 hó GARI!
- Bivaly Lenovo T14 gen5 (Core Ultra 7 32Gb DDR5 1 Tb SSD) laptopom eladó 30 hónap gyártói garanciával
- Bomba ár! Dell Latitude 3410 - i3-10110U I 8GB I 256SSD I HDMI I 13,3" FHD Touch I Cam I W11 I Gari
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128SSD I 15,6" FHD Touch I HDMI I W10 I Cam I Gari!
- Bomba ár! Dell Latitude E5540 - i5-4GEN I 4GB I 240SSD I Nvidia I 15,6" FHD I Cam I W10 I Garancia!
- ÓRIÁSI AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
- Garmin Forerunner 405 GPS óra
- ÚJ Xiaomi Mi Robot Vacuum Mop Essential robotporszívó feltörlő 2db 1999 Ft
- Lenovo Thinkpad T14 Gen 3, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

ekkold

