-
Fototrend
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
-
Teasüti
nagyúr
Nyomógomb épp most volt terítéken nálam, itt egy konkrét példa.
Az utolsó oldalon láthatod a teljes kódot, amiben benne hagytam egy már nem használatos részletet is, ami a nyomvatartást kezeli.
Ha további magyarázatra lesz szükséged, írj bátran!(#10176) Imy
Itt némi zavart érzek az erőben. Miért szeretnéd leállítani a loop()-ot? Ha azt megállítod, akkor csak reset után fog újraindulni a program. Amúgy ki tudsz lépni belőle egy simareturn;
paranccsal, de innentől megáll működni a processzor. Ha egy feltételes várakozás kell (feltételes program stop, ha ez ismerős), akkor azt csinálhatod egy while ciklussal, ami végtelenül fut amíg nem teljesül a feltétele. De ezekre igazán semmi szükség, hisz maga a loop() is végtelenül ismétlődik, viszont ha a gombnyomásodtól függően indítasz el feltételeket, akkor megcsinálhatod úgy, hogy egész egyszerűen átugorja a parancsokat az if-ben egészen addig, amíg nem teljesül vmeyiknek a belépési feltétele. Ilyen formában nem áll meg a program működése, mégis kvázi üresen fut a loop().(#10170) ecaddsell
Pulse counter kellene frekvencia méréshez. Hardveres lehetőleg. És Arduino IDE-ben.(#10171) vargalex
Igen, természetesen. A működő példaprogramból emeltem át a szükséges sorokat egy az egyben, természetesen a helyüknek megfelelő sorrendben elhelyezve.
A második fülön lévő header fájl hívja meg az MPU6050.h könyvtárat, amiben meg definiálva van az MPU6050 osztály. Ez így ebben a formában simán lefordul a párhuzamosan megnyitott példaprogramban. Ötletem sincs itt miért nem. -
gyapo11
őstag
Nálam úgy volt, hogy a gomb benyomására egy változóba került a millis() értéke, indult egy while ciklus, ami figyelte a gomb felengedését, amikor ez bekövetkezett, akkor a jelenlegi és eltárolt millis összehasonlításából kiderült a nyomvatartási idő. Hátránya ennek a megoldásnak, hogy amíg a while fut, addig a loopban levő többi teendő nem fut, de nálam ez nem volt gond.
Ha fontos, hogy közben a loop pörögjön, akkor kicsit bonyolultabb.
Gomb benyomása után változóba millis, ezután olvasgatni a millist meg a gomb állapotát, 50 ms-en belül nem kell nézni a gomb felengedését, az még prell idő, utána már igen, és a felengedéskor kiszámolni a jelenlegi és a tárolt millis értékéből a nyomvatartási időt.
Hogy mikor mit csináljon a pörgő loopban, azt egy változóval lehet vezérelni, értékétől függően pl. egy switch egy-egy ága fut. Ha a változó 1, akkor mondjuk várja a gomb benyomását. Ha benyomódott a gomb, akkor a változóba 2, ekkor várja a felengedést. Ha felengedted, akkor változóba megint 1, és ismét várja a megnyomást.
Vagy vannak időzítő libek is, amikkel talán egyszerűbb, még nem próbáltam ilyeneket.
Új hozzászólás Aktív témák
- A Synology visszatáncolt a kötelező saját márkás HDD-től
- exHWSW - Értünk mindenhez IS
- KODI (ex-XBMC) Android alapokon, Androidos media-boxok
- Windows 11
- EA Sports WRC '23
- LEGO klub
- Minden, ami hőszivattyú
- Call of Duty: Black Ops 6
- Heroes of Might & Magic: Olden Era
- Samsung Galaxy Watch7 - kötelező kör
- További aktív témák...
- új állapotó, Apple AirPods 4, 1 év garancia
- új, makulátlan állapotú, Apple iPad 11" 2025 128GB WiFi Ezüst, 1,5 év garancia
- új, makulátlan állapotú, Apple Watch SE 2 Cellular 44mm Midnight Aluminium, 1,5 év garancia
- Sapphire Pulse RX 9070 16 GB - 3 év garancia
- Dell Precision 5530, 15,6" FHD IPS kijelző I7-8850H CPU, 32GB DDR4, 1TB NVMe SSD, Nvidia 4GB VGA, W
- Apple iPhone 13 Mini 128GB /Kártyafüggetlen / 12Hó Garancia / 99% akku
- Bomba ár! Lenovo ThinkPad L520 - i3-2GEN I 4GB I 160GB I DVDRW I 15,6" HD I Cam I W10 I Garancia!
- Keresünk dokkolókat
- iKing.Hu - Apple iPhone 14 Stílusos megjelenés, megbízható teljesítmény
- BESZÁMÍTÁS! MSI B760 WIFI i9 14900KF 32GB DDR5 1TB SSD RTX 3090 Trinity OC 24GB LIAN LI PC-O11D 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest