-
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
-
gyapo11
őstag
válasz
zoombiee
#14015
üzenetére
Két dolog biztos kell, a pergésmentesítés és az időzítés.
A nyomógomb prelljére legegyszerűbb megoldás az adott idő utáni új beolvasás. Ha 0-ra vált a bemenet, onnantól kb. 50 ms múlva újra be kell olvasni, és ha még mindig 0, akkor a nyomógomb megnyomott állapotban van. Fölengedésnél ez nem kell, tételezzük föl, hogy megnyomott állapotban egy pillanatra sem szakad meg a vezetése.
Az időzítés pedig a millis() használatával és egy gomb figyelésével a következő:
if(1-es gomb megnyomva && regimill==0)
{regimill=millis()}if(1-es gomb megnyomva && (millis()-regimill)>1000)
{lejárt az 1 másodperc}if(regimill>0 && (millis()-regimill)>1000)
{regimill=0}A lényeg, hogy ne álljon le a loop pörgése, sok programban ez gond lenne, nálad is kerülhet be olyan programrészlet, aminek folyamatosan futnia kell, ezért ne használd a delayt.
Amint az 1-es gomb megnyomott állapotba kerül és a regimill változó értéke 0, beíródik a regimillbe a millis() aktuális értéke. Ez az if a továbbiakban a regimill nullázásáig nem hajtódik végre.
A második if-ben két feltételnek kell teljesülnie, ekkor lejárt az 1 másodperc.
A harmadik if biztosítja, hogy ha letelt az 1 másodperc, akkor is nullázza a regimill változót, ha közben fölengedték az 1-es gombot.
Még azt érdemes megoldnani, hogy a gomb fölengedésekor azonnal nullázza a regimill változót, hogy a következő gombnyomáskor indulhasson a számlálás.
Új hozzászólás Aktív témák
- És akkor a memóriapánik után beköszöntött a HDD-pánik
- iGO Primo
- Linux kezdőknek
- AMD vs. INTEL vs. NVIDIA
- A fociról könnyedén, egy baráti társaságban
- Építő/felújító topik
- Új képmotorral mutat fügét a ChatGPT a Google banánjának
- Az Enermax nagyon belehúzott a "tápozásba"
- VR topik
- PH! Darts
- További aktív témák...
- Honor 70 (FNE-NX9), 8/256GB, 5G, Dual SIM, Éjfekete, független
- Eladó ASUS ROG Claymore II RGB RX HU Kitűnő, Sértetlen Állapotban, Gyári Dobozában!
- NVIDIA RTX 3080 Ti 12GB GDDR6X Founders Edition Eladó!
- Újszerű Samsung IPS monitor, Emelhető-Forgatható, 2xHDMI, DP, Joystick
- Eladó ASUS Rog Spatha X Hibátlan, Gyári Dobozos Állapotban!
- HP EliteBook 640 G10 - 14" FullHD IPS - i5-1335U - 8GB - 512GB - Win11 - 1 év garancia - MAGYAR
- 3db - Dell Alienware 18 Area-51 AA18250 18" - Intel Core Ultra 9 275HX, 64GB, 2TB SSD, RTX 5090
- Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 1TB SSD, 4K multitouch + TOLL
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- 154 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
