-
PROHARDVER!
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
- Keressek intel i7-i9!!
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- Lenovo Tab M10 HD 64GB, Kártyafüggetlen, 1 Év Garanciával
- Honor X7D / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- ASUS ROG Ally konzol RC71L
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASRock B450M R5 3600 16GB DDR4 256GB SSD 2TB HDD RTX 2060 Super 8GB RAMPAGE Shiva 450W
- Lenovo Thinkpad X13 Gen2 WUXGA IPS Ryzen5 Pro 5650U 16GB 512GB SSD Radeon RX Vega7 W11 Pro Garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest
), úgy ki-bekapcsolgat a led, aztán mikor felengeded akkor teljesen random, hogy épp melyik állapotban lesz.
ekkold

