-
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
- Battlefield 6
- sziku69: Szólánc.
- Milyen légkondit a lakásba?
- Villanyszerelés
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- Mibe tegyem a megtakarításaimat?
- Epic Store Ünnepi Ajándékozás - 4. nap: Sorry We're Closed
- Még sokáig drágák maradnak – sőt, tovább drágulnak – az SSD-k
- Házimozi belépő szinten
- XPEnology
- További aktív témák...
- Asus ROG Zephyrus G16 Intel Core Ultra 9 185H/RTX 4060/16GB DDR5/1TB SSD eladó NÁLAM A LEGOLCSÓBBAN!
- MacBook Pro M1 13 inch 8/512GB magyar bill nálam a legolcsóbban
- Fujitsu 27" B27-8 TE Full HD 1920x1080 hófehér monitor állítható magasság, PIVOT, HDMI számla + gar
- AMD Ryzen 5 Félkonfig eladó!
- Asus Z13 Flow Acronym Limited Edition
- Bomba ár! HP EliteBook 830 G8 - i7-1185G7 I 16GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Gari!
- GYÖNYÖRŰ iPhone 12 mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3849, 100% Akksi
- Dell Precision M6800 17,3" FHD, i7, Quadro 4GB workstation notebook számlával, garanciával
- KÉSZLETKISÖPRÉSI ULTRAAKCIÓ!!! SPACE BLACK MacBook Pro 14" M4 10C/10G 16GB 512GB Gar!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
