-
Fototrend
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
-
Teasüti
nagyúr
Ez azért van, mert a loop() másodpercenként több ezerszer lefut és amennyiben egy ciklus idejénél tovább tartod nyomva a gombot (
), úgy ki-bekapcsolgat a led, aztán mikor felengeded akkor teljesen random, hogy épp melyik állapotban lesz.
Ezért szokás egy változóval figyelni a gomb állapotát és minden ciklusban összehasonlítani az előző állapottal, ami ha megegyezik a jelenlegivel, akkor nem futsz fölösleges köröket. Ha nem egyezik meg a jelenlegivel, akkor ez alkalommal lett lenyomva a gomb, mely átállítja a változót is és a következő körben már nem fog beaktiválni.
Én ezt a módszert szoktam alkalmazni gombnyomásra, vagy bármi egyéb digitális jelzésre:
//button press
if (digitalRead(button) == LOW && !pressed) {
buttonOn = !buttonOn;
pressed = true;
Serial.println("Pressed");
}
else if (digitalRead(button) == HIGH) pressed = false;Ezzel a kóddal pontosan úgy fog működni a gomb, ahogy azt az ember várná. Már ha kapcsolóként akarod, nem pedig "nyomvatartósként". Utóbbinál nyilván nem kell akkor szűrni a jelet, elég annyi, hogy a buttonOn változót nem csak átbillented, hanem konkrétan meghatározod milyen értéket vegyen fel lenyomott és felengedett állapotban.
(#4200) Tankblock
Ez nem erre van kitalálva.
A kolléga egy-egy gombnyomásra akarja ki- és bekapcsolni. A késleltetéssel a prell-t szűrőd, viszont a feladatot nem oldja meg, hisz nyomva tartásnál villogtatni fogja a ledet, ha X időközönként újra és újra átbillenti a buttonOn változót, amíg tartod a gombot.
Új hozzászólás Aktív témák
- exHWSW - Értünk mindenhez IS
- Milyen kompakt digitális fényképezőgépet?
- Még annál is egyedibbé tehetjük a Realme GT 8 Pro-t
- Mit tehetsz jogilag, ha átvertek, megkárosítottak a Hardveraprón?
- Elektromos autók - motorok
- Xbox Series X|S
- Windows 10
- Egér probléma
- Milyen autót vegyek?
- Érkezik a One UI 8 az S22-es modellekre
- További aktív témák...
- iPhone 16 Pro Max 256GB Desert Titanium Gyári Apple garanciával!
- SAPPHIRE RX 9060 XT 16GB GDDR6 PULSE OC - Új, Bontatlan, 3 év garancia - Eladó!
- Nintendo Switch 2 + Balatro + hordozó táska + Splatoon tok + üvegfólia
- ÁFA-s Garis Félkonfig - i5 14400F, 64GB DDR4 RAM, Asrock B760 Pro
- AMD Ryzen 5 5600X - Új, 3 év garancia - Eladó!
- DELL Thunderbolt TB16 Dock
- DX Racer fekete gamer, irodai szék
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS2253,95% Akkumulátor
- Felsőkategóriás merev csöves Gamer PC-Számítógép! I9 11900K / RTX 3090 24GB / 64GB DDR4 / 1TB SSD
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3618,96% Akksi
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest