- Nyitott könyv a Pixel 10 Pro Fold
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy A52s 5G - jó S-tehetség
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy Watch7 - kötelező kör
- Bivalyerős lett a Poco F6 és F6 Pro
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Egy óra, két rendszer
- Új telefont és tabletet mutatott be a Telekom
- Honor Magic5 Pro - kamerák bűvöletében
-
Mobilarena
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
- OLED TV topic
- Vicces képek
- WLAN, WiFi, vezeték nélküli hálózat
- Nyitott könyv a Pixel 10 Pro Fold
- One otthoni szolgáltatások (TV, internet, telefon)
- Háztartási gépek
- Apple iPhone 16 Pro - rutinvizsga
- Melyik tápegységet vegyem?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Gumi és felni topik
- További aktív témák...
- Lenovo ThinkPad P1 Gen 3 UHD, Érintőkijelző, i7-10875H, 32GB DDR4, 256GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV G
- Lenovo ThinkPad L490 FHD, TOUCH, I5-8365U CPU, 16GB DDR4, 256GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- Lenovo ThinkPad T490 FHD, I5-8365U CPU, 16GB DDR4, 256GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- 2020 M1 macbook pro 8/256GB elado/cserelheto
- Lenovo ThinkPad T480s FHD, Érintőkijelző, I5-8350U CPU, 8GB DDR4, 256GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GA
- Xiaomi Redmi Note 11 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
- Bomba ár! Lenovo ThinkPad T470 - i5-G6 I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Garancia!
- GYÖNYÖRŰ iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2183, 100% Akkumulátor
- Microsoft Surface Pro 9 i5-1245U 16GB 256GB 1év garancia
Állásajánlatok
Cég: FOTC
Város: Budapest