-
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
-
Janos250
őstag
Multitasking:
Már régebben próbáltam, csak nagyjából emlékszem rá.
Van Arduinon a loop1, loop2,...... módszer, a scheduler libraryt használja.
Ez - úgy rémlik - Atmel procikkal is megy.
Valamin próbáltam működött, de már nem emlékszem többre.
Arra sem, hogy melyik schedulert használtam, mert - úgy rémlik - több is van.
Amikor waitet talál, akkor átugrik a következő loopra. Ha nincs wait, akkor kell egy wait(0), vagy ami ugyanez: yield()
https://www.arduino.cc/en/Reference/SchedulerYieldAmire nekem kellet, arra a ticker is megfelelt.
Most nincs időm rendezgetni, bemásolok ide egy program egy részletét. Ha nem érted, majd kérdezel. Két fűtést vezérel, hogy az 5 sec [PWMdurationHeat1Sec] hány százalékában legyen bekapcsolva. (A százalékokat WEBen állítgatjuk percentHeat1on, percentKolonna )
Ne kérdezd, hogy mi az értelme, mert demonstráció IOT-re.
Kell Ticker típusú objektum, nálam kettő (Ticker heat1 ; Ticker heatKolonna ; )
Mindkettőhöz tartozik egy bekapcsoló (ON) és egy kikapcsoló (OFF) függvény [ void heat1ON () ......]
A lényeg, hogy a bekapcsoló, miután bekapcsolta a fűtést, időzíti [heat1.once], hogy mikor fusson le a kikapcsoló. Egy korai verziót írok be, amiben ellenőrző kiírások is vannak..
A setupban mindkettőre kell egy indítás [ heat1OFF () ; heatKolonnaOFF (); ]
Szépen elketyegnek a program többi részétől függetlenül.
Az elnevezések némileg logikátlanok, de hirtelenjében nem találom azt a verziót, amin már át vannak nevezve.Ticker heat1 ;
Ticker heatKolonna ;float PWMdurationHeat1Sec = 5 ;
uint8_t percentHeat1on = 20 ;
uint8_t percentHeat1off = 100 - percentHeat1on ;uint8_t percentKolonna = 80 ;
uint8_t percentKolonnaoff = 100 - percentKolonna ;uint8_t heat1pin = 12 ;
uint8_t kolonnaPin = 13 ;void heat1ON () {
digitalWrite(heat1pin, HIGH) ;
heat1.once ( (PWMdurationHeat1Sec * percentHeat1on / 100) , heat1OFF ) ;
Serial.print ("heat1 be"); Serial.println(" percentHeat1on = "); Serial.println(percentHeat1on);
} ;void heat1OFF () {
digitalWrite(heat1pin, LOW) ;
heat1.once ( (PWMdurationHeat1Sec * ( 100 - percentHeat1on ) / 100 ) , heat1ON ) ;
Serial.println("heat1 ki");
} ;void heatKolonnaON () {
digitalWrite(kolonnaPin, HIGH) ;
heatKolonna.once ( (PWMdurationHeat1Sec * percentKolonna / 100) , heatKolonnaOFF ) ;
Serial.print ("kolonna be"); Serial.print(" percentkolonna = "); Serial.println(percentKolonna);
} ;void heatKolonnaOFF () {
digitalWrite(kolonnaPin, LOW) ;
heatKolonna.once ( (PWMdurationHeat1Sec * ( 100 - percentKolonna ) / 100 ) , heatKolonnaON ) ;
Serial.print ("kolonna ki");
Serial.print(" percentkolonna = "); Serial.println(percentKolonna);
} ;
Új hozzászólás Aktív témák
- GIGABYTE GeForce RTX 4060 EAGLE OC 8G (GV-N4060EAGLE OC-8GD
- TP-Link Archer AX73 AX5400 Router
- ÚJ TP-Link Archer AX55 AX3000 Router
- Intel Core i5-14600K 14-Core 3.4GHz LGA1700 Box (BX8071514600K) Processzor
- Brutál ERŐMŰ! Lenovo P710 / 2x Xeon E5 (44 mag!) / 256GB DDR4 / 2x 512 SSD / 8TB HDD / ASUS 1660 6GB
- Mini PC, tiny PC HP Fujitsu Esprimo i5-7500T
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Asus Számítógép PC Játékra! R5 1600X / GTX 1080 8GB / 32GB DDR4 / 256SSD + 2TB HDD
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged