- Luck Dragon: Asszociációs játék. :)
- ldave: New Game Blitz - 2025
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
LOGOUT
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
-
válasz
lanszelot #20283 üzenetére
Nem tudom milyen enkódered van, de kénytelen leszel vagy interruptot használni, vagy ütemezőt, ahogy Aryes is írta.
Ha az a tipik pozícióba billenős kattogós enkódered van, akkor hiába forgatod, mert annak a clock lába mindig ugyanaz a stabil állapotban.
Mivel a kódod csak két villogás között mintavételez, ezért mindig csak az az állapot számít, ami a kék led kialvása + keses utáni DE a piros felvillanása előtti időben, azaz pár mikroszekundumban áll fenn. Tehát neked akkor kellene a CLK egy pillanatra más legyen. De ezt nagyon nehéz elkapni, leginkább lehetetlen, ezért a kódod folyamat azt látja, hogy a CLK változatlan, így nem tesz semmit a keses értékével.Interrupttal azt tudod csinálni, hogy a uC figyeli az inputot, és amint az változik, végrehajt egy kódot (esetedben a loop
/*read current state of inputCLK*/)
Ennek köszönhetően a kód nem marad le a váltásokról, mert az interrupt szépen kierőszakolja a futást minden váltáskor.
Ütemezéssel pedig maradhat így a kódod, csak a delay-eket törlöd, és helyettesíted if() feltételekkel. Esetedben 4 ütemre van szükség: redOn, redOff, blueOn, blueOff. A kód elején meghatározod, hogy a piros először mondjuk a futás első másodpercében kell felvillanjon (redOn = 1000). Akkor kialudnia redOff = redOn+keses; időben kell. A blueOn ideje redOff+keses. blueOff = blueOn+keses. Ezután csak kitalálod if használatával, hogy a futásidő millis() éppen melyik ütemen belül van, és annak az ütemnek a feladatát hajtja végre. Mikor az utolsó ütemből is kilépsz, újra kell számolni az ütemek új időpontját. Így a loop nagyon gyorsan ismétlődik, és van esély, hogy nem marad le a futásod az enkóder mozgásáról. Igen, arra is van esély, hogy lemarad, főleg attól függően, hogy mennyire bonyolult marad egy-egy ütem.
Új hozzászólás Aktív témák
- Milyen Android TV boxot vegyek?
- Autós topik látogatók beszélgetős, offolós topikja
- Képen az iPhone 17 Pro kétféle akkumulátora
- Hobby rádiós topik
- Anglia - élmények, tapasztalatok
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Vékonyabb házba rejti a Galaxy A17 5G az Exynost
- Autóhifi
- Milyen autót vegyek?
- Új szintre emeli a csalók elleni védelmet a Battlefield 6
- További aktív témák...
- T15 Gen1 15.6" FHD IPS i7-10610U 16GB 512GB NVMe magyar vbill ujjlolv gar
- Next level racing wheel stand 2.0
- Panasonic Lumix GX80 - makulátlan állapotban, sok extrával
- Eladó ASUS ROG FUSION II 500 + ASUS ROG THRONE QI Kitűnő Állapotban!
- ÚJ Samsung OLED 4K Vision Smart TV-k (2025) - Gyári garanciával, számlával, ingyen szállítással
- Bomba ár HP X360 11 G5 - Intel N4020 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W11 I Garancia!
- HIBÁTLAN iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2192, 100% Akkumulátor
- Xiaomi Redmi 14 C 128GB Kártyafüggetlen 1Év Garanciával
- HIBÁTLAN iPhone 11 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2132
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
Állásajánlatok
Cég: FOTC
Város: Budapest