Hirdetés
- Milyen hagyományos (nem okos-) telefont vegyek?
- Kis méret, nagy változás a Motorolánál
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S25 - végre van kicsi!
- MIUI / HyperOS topik
- Redmi Note 14 Pro+ 5G - a tizenhármas átka
- Milyen okostelefont vegyek?
- Vivo X200 Pro - a kétszázát!
- Xiaomi 14T Pro - teljes a család?
- Akciófigyelő: Százezer forint engedmény a Nothing Phone (3)-ra
-
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
-
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. -
Tankblock
aktív tag
Hello
Timert tegyél hozzá. mert így looponként fogsz váltani.
unsigned long timer = 0;
az if feltételét egészítsd ki millis()-timer > X ahol X lehet játszani
az ifben meg timer = millis();
így a változás csak X enként van követve.
Szerk: Annyire nem is volt rossz az ötletem : [link]
Új hozzászólás Aktív témák
- Horgász topik
- Milyen videókártyát?
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- Milyen házat vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vicces képek
- További aktív témák...
- BESZÁMÍTÁS! Gigabyte Z370P i7 9700K 16GB DDR4 512GB SSD RTX 2070 Super 8GB RAMPAGE Shiva A-data 600W
- Apple iPhone 17 Pro Max 256GB,Uj, Bontatlan,36 hónap garancia
- BESZÁMÍTÁS! Apple iPad Pro 13 2024 M4 16GB/2TB WiFi tablet garanciával hibátlan működéssel
- REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 Dock
- HP Omen 80G8E9 - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB Type-C
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
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

