Hirdetés
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
-
hukhl
csendes tag
Sziasztok!
Lenne egy kezdő kérdésem. Nyomógomb lenyomásainak számát számolom és erre léptetek állapotokat, mint egy állapotgép szerűen. Az egyes állapotokban 4 db LED-et villogtatok. (minden állapotban más-más sorrendben) Először delay-t használtam. Ezzel az volt a gond, hogy, amíg az egyik állapotom nem járt le addig nem tudtam tovább léptetni.
Aztán rátaláltam a millis()-re amivel szépen meglehetne ezt oldani. Mivel sok LED-em van és sok állapotom, így arra gondoltam, hogy ezt behívható funkcióként kellene megcsinálni. És amikor az egyik állapotban meghívom, akkor megadom a funkció bemeneti értékként a kívánt LED számát és a késleltetés idejét. Ezt a funkciót egy állapotban többször meghívva különböző LED-eket különböző ideig lehetne villogtatni. És közben elvileg a nyomógombom állapotát is tudom figyelni.
Idáig jutottam:
//---------------
//Function
//--------------bool LedMillis(long interval, int LEDPin, unsigned long currentMillis, bool ledState){
bool LEDStateResultInternal;
unsigned long previousMillis = 0;if (currentMillis - previousMillis >= interval)
{if(ledState == LOW)
{
ledState = HIGH;ledState = LEDStateResultInternal;
}
else{
ledState = LOW;
ledState = LEDStateResultInternal;
}
previousMillis = currentMillis;
digitalWrite(LEDPin, ledState);
}
return LEDStateResultInternal;
}Az adott kimenet számát, amelyhez a LED tartozik - LEDPin értéken adom be
CurrentMillis-nél az aktuális Millis értéket adom be
ledState-értéknél pedig a returnként visszaadott led állapot csatolom vissza.A previousMillis értékem sajnos mindig 0 marad mivel újra meghívódik a funkció és kinullázódik.
A previousMillis érétket valahogy funkció meghívásonként el lehet tárolni valahogy külön-külön?
Visszatérési értékként lehet több különböző adatot visszaadni?
Bocsánat, ha kicsit katyvasznak tűnik így elsőre.
Még szoknom kell ezt a környezetet.Köszönöm a segítséget!
Új hozzászólás Aktív témák
- Kormányok / autós szimulátorok topikja
- One otthoni szolgáltatások (TV, internet, telefon)
- Sweet.tv - internetes TV
- Parkside szerszám kibeszélő
- Vírusirtó topic
- UHD filmek lejátszása
- Miért álltak az oldalak egy hétig, mi történt?
- Formula-1
- PROHARDVER! feedback: bugok, problémák, ötletek
- RAM topik
- További aktív témák...
- Motorola G72 128GB Kártyafüggetlen 1 év Garanciával
- LG 24GQ50F-B - 24" VA / 1920x1080 FHD / 165Hz 1ms / AMD FreeSync Premium / Adaptive Sync / HDR 10
- BESZÁMÍTÁS! ASROCK B550M R7 5800X 32GB DDR4 1TB SSD RTX 3060 Ti 8GB ZALMAN I3 NEO A-Data 650W
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3055
Állásajánlatok
Cég: FOTC
Város: Budapest