Hirdetés
- Egybegép lesz vagy ház? A Corsair sem tudja eldönteni.
- A Qwertykeys új klaviatúrái szépek, igényesek és sokrétűek
- Összement a mosásban az ASUS új VGA-inak PCI Express 5.0 csatlakozója
- Billentyűzet-választó: mechanikus vs membrános – kinek melyik a jobb?
- Sikerült önállóan 1 GHz-re és két magra ugrania Indiának
- Milyen TV-t vegyek?
- Projektor topic
- TCL LCD és LED TV-k
- Apple asztali gépek
- És akkor a memóriapánik után beköszöntött a HDD-pánik
- Sikerült önállóan 1 GHz-re és két magra ugrania Indiának
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Bluetooth hangszórók
- Kormányok / autós szimulátorok topikja
- Egérpad topik
-
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
-
Miért fontos, hogy a gombot röviden vagy hosszan nyomod meg? A leírásod szerint semmi különbség nincs ha csak röviden egyszer lenyomod akkor indul, még egyszer meg nyomod akkor meg leáll. Így programozás szempontból is egyszerűbb lenne.
Itt egy egyszerű példa interruptra.
Loop-ba belerakod a led és a motor vezérlő részt. interrupt függvénybe csak 1 változó értékét változtatod. 1x lenyomod a gombot belép példa szerint void blink, változó állít "HIGH" mondjuk, loop-ban if turn on == 1 akkor motor forog, led bekapcsol.
Ha megint lenyomod akkor meg változó void blink-en bleül LOW-ra áll és leáll a motor, led kikapcsol. -
Teasüti
nagyúr
Átírtam neked a programod.
Lefuttatni nem nyilván nem tudom, de ránézésre kb jónak tűnik.
Elvileg bekapcsolásra oda-vissza jár a léptetőmotor (feltéve ha ez a része jól működött az eredeti programnak) és felvillantja a led-et a mozgás végén. Majd két másodperc múlva újra.
Hosszú gombnyomásra megáll és két másodperces villogtatásba kezd, majd 1 perc elteltével újraindul a motor.Amúgy a Stepper.h könyvtár blokkolja a program futtatást, amíg mozgásban van a motor. Vagyis addig nem ugrik a következő sorra, amíg be nem fejezi a mozgást. Ez problémás lehet. Pl. nem tudom ez a könyvtár milyen hardvert használ (Timer, Int, stb.). Ha kikapcsolja a megszakításokat, akkor a millis() nem fog számlálni a motor léptetése közben.
-
Teasüti
nagyúr
Ez így jelenleg halva született. Ennyi delay() mellett nem lehet időt számolni. Ezzel így max billenőkapcsolót tudnál használni, azt nem kell időzíteni. Ha gombnyomást akarsz mérni, ahhoz másodpercenként többször ellenőrizni kell a gombot, vagyis gyorsnak kell lennie a programnak. Ennyi delay()-el 4-5 másodperc legalább, mire egyszer lefut a loop(). A lineáris gondolkodás még hiányzik, de majd kialakul ha megérted, hogy nem muszáj minden egyes ciklusban végigmenni az összes parancson.

Ezért használunk feltételeket, hogy szabadon ki-be ugrálhassunk az elágazásokba. Így lehet, hogy egy If parancs csak minden századik ciklusban fut le. Vagy ezredik. Vagy százezredik... Ha millis()-el időzítesz, akkor eltelt időt számolsz milliszekundumokban. Ezt feltételben vizsgálod, hogy igaz-e a reláció:if (millis() > temp + 1000) { }. Ideális esetben nincs megakasztva a program ennyi delay-el és mire teljesül pl. az 1000 ms várakozási idő, addigra akár sokezerszer ismétlődhet a loop(). Futhat akár üresen, ha egyik elágazásba (feltételbe) se ugrik bele, vagy csinálhat addig akármi mást is. -
Tankblock
aktív tag
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS4237,100% Akksi
- BESZÁMÍTÁS! Gigabyte H610M i3 12100F 16GB DDR4 512GB SSD RTX 2060 6GB Zalman S2 TG Chieftec 600W
- iPhone 17 Pro Max Silver - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok !!
- Hordozható napelem 10 Watt / 12 hó jótállás
- BESZÁMÍTÁS! Apple iPhone 12 Mini 64GB mobiltelefon garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

ekkold

