-
IT café
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
-
ekkold
Topikgazda
válasz vegyszer #17800 üzenetére
Pl. a PIN-ek kiolvasását, és tárolását intézheted egy megszakításban. folyamatosan. A küldés - visszaolvasás pedig mehet a főprogramban.
Amikor egy tárolt blokk megtelik, akkor a megszakítás beállíthat egy flag-et, és egy másik tárolóba folytatja az írást. a flag alapján a főprogram indítja a küldést. Amikor a második tároló telik meg ismét beállít egy flag-et, és az első tárolót kezdi írni (aminek a tartalma addigra már remélhetőleg mentve lett). Ha ez így időben nem jön ki akkor több/nagyobb buffer kell.
[ Szerkesztve ]
Eladó: https://www.hobbielektronika.hu/apro/apro_159350.html
-
Janos250
őstag
válasz vegyszer #17800 üzenetére
Írtam választ, de - úgy látszik - elfelejtettem elküldeni, mert nem látom.
Most röviden:
https://prohardver.hu/tema/arduino/hsz_17346-17346.htmlHa nem boldogulsz, írj, és segítek.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
daninet
veterán
Sziasztok!
Rotary enkóderrel küzdök, nem tudom eldönteni én vagyok a béna vagy az enkóder rossz. Még a mintakódok sem működnek nekem.
Adott egy darab egyszerű rotary enkóder, klikkelős fajta 5 lába van, 5V, GND, SW, DT, CLK
Rákötöttem arduinora CLK és DT a 2-3 pinre, 5v, gnd stb.Feltöltöm az alábbi minta kódot, de tökmindegy melyik mintakódot töltöm fel, az ardunio.cc oldalról feltöltött is ugyan ezt csinálja.
Mindegy, hogy balra vagy jobbra tekerem, látszólag ugyanazt a pulzust adja be és a függvényben levő counter csak felfelé számol. Aztán néha pedig bedobja random egyszer egyszer az ellenkező irányba is. Ha felcserélem a breadboardon a lábak tüskéit akkor is csak ugyanarra számol.Ez a konzol kimenet:
18:11:20.981 -> Direction: CW -- Value: 45
18:11:21.049 -> Direction: CW -- Value: 46
18:11:21.253 -> Direction: CW -- Value: 47
18:11:21.287 -> Direction: CW -- Value: 48
18:11:21.321 -> Direction: CW -- Value: 49
18:11:21.423 -> Direction: CW -- Value: 50
18:11:21.457 -> Direction: CW -- Value: 51
18:11:21.526 -> Direction: CW -- Value: 52
18:11:21.666 -> Direction: CW -- Value: 53
18:11:21.701 -> Direction: CW -- Value: 54
18:11:21.701 -> Direction: CW -- Value: 55
18:11:21.734 -> Direction: CW -- Value: 56
18:11:22.041 -> Direction: CW -- Value: 57
18:11:22.041 -> Direction: CW -- Value: 58
18:11:22.076 -> Direction: CW -- Value: 59
18:11:22.109 -> Direction: CW -- Value: 60
18:11:23.166 -> Direction: CW -- Value: 61
18:11:23.267 -> Direction: CW -- Value: 62
18:11:24.017 -> Direction: CW -- Value: 63
18:11:24.086 -> Direction: CW -- Value: 64
18:11:24.593 -> Direction: CW -- Value: 65
18:11:24.697 -> Direction: CW -- Value: 66
18:11:25.070 -> Direction: CW -- Value: 67
18:11:25.174 -> Direction: CW -- Value: 68
18:11:25.448 -> Direction: CW -- Value: 69
18:11:25.516 -> Direction: CCW -- Value: 68
18:11:25.687 -> Direction: CW -- Value: 69
18:11:25.789 -> Direction: CW -- Value: 70
18:11:26.130 -> Direction: CW -- Value: 71
Miért vegyem meg, ha 3x annyiért, 3x annyi idő alatt megépíthetem? ´¯`·.¸¸.·´¯`·.¸><(((º>
-
daninet
veterán
válasz daninet #17805 üzenetére
kiírtam a két láb pulzusát, hogy lássam mi történik. Ha balra ha jobbra tekerem ez a kimenet:
Ez egy darab fordítás18:52:07.316 -> DT: 1 CLK: 1
18:52:07.349 -> DT: 1 CLK: 1
18:52:07.349 -> DT: 1 CLK: 1
18:52:07.384 -> DT: 1 CLK: 1
18:52:07.384 -> DT: 1 CLK: 1
18:52:07.417 -> DT: 1 CLK: 1
18:52:07.417 -> DT: 1 CLK: 1
18:52:07.451 -> DT: 1 CLK: 1
18:52:07.451 -> DT: 1 CLK: 0
18:52:07.485 -> DT: 0 CLK: 0
18:52:07.485 -> DT: 0 CLK: 0
18:52:07.520 -> DT: 0 CLK: 0
18:52:07.520 -> DT: 0 CLK: 0
18:52:07.553 -> DT: 0 CLK: 0
18:52:07.553 -> DT: 0 CLK: 0
18:52:07.587 -> DT: 0 CLK: 0
18:52:07.587 -> DT: 0 CLK: 0
18:52:07.620 -> DT: 0 CLK: 0
18:52:07.620 -> DT: 0 CLK: 0
18:52:07.655 -> DT: 0 CLK: 0
18:52:07.655 -> DT: 0 CLK: 1
18:52:07.688 -> DT: 1 CLK: 1
18:52:07.688 -> DT: 1 CLK: 1
18:52:07.721 -> DT: 1 CLK: 1
18:52:07.721 -> DT: 1 CLK: 1
18:52:07.754 -> DT: 1 CLK: 1
18:52:07.754 -> DT: 1 CLK: 1
Miért vegyem meg, ha 3x annyiért, 3x annyi idő alatt megépíthetem? ´¯`·.¸¸.·´¯`·.¸><(((º>
-
daninet
veterán
-
biker
nagyúr
válasz daninet #17808 üzenetére
Aryes leírta, de a rotaryk lapján is ott a metódus, 0101 vagy 1010 a forgatás, plusz van félosztású rotary is.
Kell hozzá feldolgozás, hogy a bejövő 0101 az CW a kimenő és jó lesz
a néha visszaforgás jelaz meg olyan hiba ha félosztásba rakod és 0101 0101 0110 jön véletlen
és szimulátor kormányokhoz építek lapokat, azokon kitapasztaltamElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
tibi-d
tag
Lenne egy feladat, hátha megmozgatja a fantáziátokat. Két analóg bemenet jelét kéne tárolni, és ha bármelyik értéke meghalad egy beállított szintet, vagy egy digit jel hatására el kéne menteni a trigger esemény előtti 100 és utáni 200 mintát. A mintavétel 10/s lenne. Az adatokkal együtt le kéne tárolni az esemény dátumát, időpontját, tárolás okát (szint, digit). Ha a tárolás a digit jel hatására történne, a további rögzítésre már nem lenne szükség. Ez lenne az utolsó letárolt csomag. A folyamat 24/7 üzemmódban működne. Minden elképzelést, ötletet szívesen fogadok. Jelenleg a következő modulokkal rendelkezem: Arduino UNO, Data logger shield v1.0, ESP13 shield. Köszi.
-
Tankblock
aktív tag
válasz tibi-d #17812 üzenetére
Szia
Oszcilloszkóp
beszélgetés indítónak a következők jutottak eszembe:
ha az analog jel felakad folyamatosan a trigger szint főlé akkor mi fog történni?
Mekkora felbontással kellene tárolni az adatokat (8bit elég -e mert 2*300 byte csak maga 600 byte a memóriában vagy csak 2* 100 bytot tárolunk és azt nem tudom mennyi idő kiírni ), illetve ha megtörténik a hiba akkor mind a 2 csatorna kellene hogy mentve legyen?
Hiba után ha megvan a 200 jelszint akkor mennyi mérés eshet ki?
itt lesz fontos hogy mi van akkor ha folyamatosan a trigger szint fölött van vagy az körül ingadozik kicsit alatta, majd kicsit felette akkor mit kell tárolni?Release the Beast....
-
tibi-d
tag
válasz Tankblock #17813 üzenetére
Az én fejemben egy olyan megoldás motoszkál, hogy egy nagyobb kapacitású EEPROM-ba írnám folyamatosan a mérési adatokat, és amikor bekövetkezik a trigger esemény, még leszámolnék 200 mintát, majd az utolsó 2X 300 adatot kiírnám SD kártyára az idő és trigger bélyeggel kiegészítve. A trigger események között valószínűleg elég idő telik el, hogy a fenti feladatot el lehessen végezni. Ha a két analóg bemeneten 200 mintán belül jönne az indítójel, akkor az első előtti 100, és a második jel utáni 200 jel lenne kiírva a kártyára. Újabb triggerre 1-2 percen belül nem kell számítani. Az analóg jel felbontása 8 bit.
[ Szerkesztve ]
-
nagyúr
válasz tibi-d #17814 üzenetére
Ez tényleg kb. egy oszcilloszkóp működése Nemrég csináltam egyet, ezen a részén is dolgoztam egy keveset.
Ilyen sebesség mellett gyorsan el fog használódni az EEPROM, úgyhogy a logolást mindenképpen a RAM-ban kell végezni, és csak az eredményt menteni az EEPROM-ba.Én egy 256 elemű tömbbe írnám folyamatosan az adatokat, hogy kerek szám legyen
UINT8 lenne a számláló, ami 255 után túlcsordul, tehát csak növelni kell folyamatosan, és felülírja a régi adatot. A trigger esemény után a tömb utolsó 100 eleme lesz az előzmény, egy másik tömbbe pedig mehetnek az ezt követő minták. -
tibi-d
tag
Ha egy 24C256-ba gyűjteném az adatokat, és 2X16kB után írnám felül, akkor a 100.000 írási ciklus jó pár év alatt telne le. De ha csak 10.000 ciklust engedek meg, akkor is fél év. Amire nekem kell, az max. 1-2 hónap.
Hogy pontosan elmondjam mire kell, az az, hogy a hálózaton van két felügyelet nélkül üzemelő kompresszor (hűtő, fagyasztó). A probléma, hogy látszólag indokolatlanul leold a betáp kismegszakító, és ha nem kapcsoljuk vissza időben leolvad a fagyasztó, és tönkre megy a tartalma. Azt szeretném kideríteni, hogy milyen üzemállapot idézi elő az oldást. (Hibás kismegszakító, két berendezés egyidejű indulása, stb.) Az analóg bemenetek a két fogyasztó áramfelvételét mérné. A digit bemenet pedig a hálózat kiesését figyelné.[ Szerkesztve ]
-
Tankblock
aktív tag
válasz tibi-d #17814 üzenetére
Szia,
RAMba elfér, ha csak 2x128 mintát tárolsz akkor bőven. Bele kell tenni a SDkártya kezelő és a RTC mennyi memóriát foglal és maradékkal tudsz gazdálkodni.
Én timerre futtatnék ADC-t a két csatornára és értékét memóriába tárolatnám egy counterrel aztán jól van az úgy....ha megtellik akkor kezdi előről.
HA megvan a trigger akkor először RTC olvasás 1x , majd a következő ADC olvasás után kiír valahány értéket egyszerre SD re abban a 100ms ami rendelkezésre áll. Így marad 2X buffernek hely.
Digitálisra meg egy sima ISR fv figyelése egy GPIOnak aztán jól van.....
Release the Beast....
-
daninet
veterán
Nos, némi fejlemény. De továbbra sem értem nálam miért nem úgy működnek a dolgok mint a példákban. Most csak a CLK-t egy ellenállással PULLUP módba raktam (nem a kódban) és egészen hasonló a jel ahogyan leírod (csak majdnem). De ha mindkét lábat pullup rakom már nem jó
Viszont a mostani gondhoz nagyon kezdő vagyok.
3 jelet ad az enkóder, most így néz ki:
Egyik irány:18:01:20.583 -> DT: 1 CLK: 1
18:01:20.616 -> DT: 0 CLK: 1
18:01:20.616 -> DT: 0 CLK: 0
18:01:20.650 -> DT: 0 CLK: 1
18:01:20.650 -> DT: 1 CLK: 1
Másik irány:18:01:21.980 -> DT: 1 CLK: 1
18:01:22.015 -> DT: 0 CLK: 0
18:01:22.015 -> DT: 0 CLK: 0
18:01:22.048 -> DT: 0 CLK: 1
18:01:22.048 -> DT: 1 CLK: 1
Szóval 3 jel van (az egyesek azok az alapállapot) és nem is olyan iskolapélda ahogy a te leírásodban.
A kód amit beraktam (egy sima számláló) úgy néz ki ebből kettőt fog fel randomÍgy néz ki ha balra tekerem KÉTSZER:
18:05:04.148 -> Direction: CW -- Value: 71
18:05:04.250 -> Direction: CCW -- Value: 70
18:05:04.727 -> Direction: CW -- Value: 71
18:05:04.796 -> Direction: CCW -- Value: 70Így néz ki ha jobbra kétszer:
18:03:24.746 -> Direction: CW -- Value: 63
18:03:24.746 -> Direction: CW -- Value: 64
18:03:24.985 -> Direction: CW -- Value: 65
18:03:24.985 -> Direction: CW -- Value: 66Miért vegyem meg, ha 3x annyiért, 3x annyi idő alatt megépíthetem? ´¯`·.¸¸.·´¯`·.¸><(((º>
-
Tankblock
aktív tag
Igen, ha csak 2*128 byte is bőven elfér UNOban is.
STM32 nem volt az eredeti felsorolásban :-)nem olyan vészes project ez....
Ha csak a fogyasztás érdekel akkor akár Sonoff POW WiFi is használhatsz, vagy bármit ami méri a dolgok fogyasztását, általában esp82XX va benne és akár TASMOTA is tudja monitorozni.....Az a kérdés hogy hol kell a segítség...
Release the Beast....
-
tibi-d
tag
válasz Tankblock #17822 üzenetére
A felsorolt modulok egymásba illeszthetők. Az STM kilóg a sorból. A segítség abban kellett, hogy feleslegesen ne bonyolítsam túl a dolgot, és ha nem muszáj ne vegyek olyan kiegészítőt amire nem lenne szükség. Mivel a bekapcsolási folyamat lezajlik 5s belül, ezért elég lehet előtte 30 minta, utána 100 minta. Így, ha a programot kiegészítem pl. egy kijelzővel még akkor is maradhat elég memória. Köszi az ötleteket. Ha elakadok, jelentkezem. Az is érdekel, hogy a két berendezés milyen valószínűséggel indul egyszerre, és rántja meg a hálózatot. (Ennek kicsi az esélye, de nem nulla.)
[ Szerkesztve ]
-
tibi-d
tag
Még egy kérdés. Még nem kellet SD kártyára adatokat mentenem, a fájl neveket lehet-e programból indexelni, azért, hogy ne írja felül az utolsó az előzőt.
-
Tankblock
aktív tag
válasz tibi-d #17823 üzenetére
Ha ablakként tekintesz a memóriára és azt indexelve a tömböt körbeforgatod, akkor 2 * 128 byte memóriába vígan meg lehet oldani a 2x 300 adat memóriában tartását és abban a 100 [ms] pedig el tudod kezdeni kiírni SD re mondjuk 2x20 ával, mert akkor 5 * 100ms alatt kiírtad a 100 adatodat, majd megvárni hogy megint 2*100 összegyűljön. A triggerkor meg beszélgethetsz a RTCvel és kiírhatod SDre meg az okot is..
Én fix filenevet használnék és a végére raknám az új adatokat mindig. de kinek mi.
Release the Beast....
-
daninet
veterán
válasz Sebiferi #17833 üzenetére
veszek egy másikat és kipróbálom azt is akkor. Nem egy nagy érték szerencsére, csak bosszantó. Van egy arduino pro minim is ami nem akar működni, felprogramozom és csak kérdőjeleket látok a soros monitorban. Komolyan azt érzem néha valami arduino átok ül rajtam
[ Szerkesztve ]
Miért vegyem meg, ha 3x annyiért, 3x annyi idő alatt megépíthetem? ´¯`·.¸¸.·´¯`·.¸><(((º>
-
Undoroid
őstag
válasz daninet #17836 üzenetére
Szia!
Csak halkan kérdezem meg: zsír új az enkóder?! Honnan kap tápot ez az egész masina? Nem lehetséges, hogy egy kapcsoló üzemű tápegység 'zaja' (f)okozza ezeket az anomáliákat?
Ha van lehetőséged, akkor próbáld meg szűrni közvetlenül az enkóder betápját egy 1000uF/10V elkóval és egy 100nF/50V-os kerámiakondival! Hátha csak ennyi a probléma...vagy -első körben- mehetne ugyanez a mikrovezérlő betápjára (is) Kezdő lévén sajnos más ötletem nincs![ Szerkesztve ]
https://logout.hu/bejegyzes/ngabor2/nyugodj_bekeben_bordoi.html _ https://robo-venture.com -> Az ökotudatos, digitális közösségi alkotóműhely <-
-
kgbrg
tag
Sziasztok
Van egy műszerem amiben meghalt az atmega chip. Esetleg valakinek van itt ilyen és fel tudná programozni?
Atmel mega 328P U-TH
A szoftver megvan nálam ami kellene bele.
Sajnos nekem se ic, se programozó nincs.Ha valaki meg tudná oldani kérem küldjön üzenetet.
Köszönöm -
-
Janos250
őstag
Már megint bajban vagyok ezzel az Arduino könyvtárakkal :-(
Ha ezt így mindenestül beírom:#include <C:\Arduino\arduino-1.8.19Proba01\portable\sketchbook\libraries\vfs\include\esp_vfs.h>
Akkor jó.
De nem akarom mindig a teljes elérési utat beírni. Mit írjak be, hogy megtalálja a vfs könyvtárat, annak az include könyvtárában az esp_vfs.h fájlt?[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
vegyszer
addikt
válasz Janos250 #17844 üzenetére
Ha már hivatkozás, akkor mi a különbség, hogy csak bele írjuk a hivatkozott könyvtár nevét simán, kacsacsőrök közé, vagy asszem idézőjelek között is láttam ilyet?
Mi történik másképp a háttérben???"Újságírás az, amit a hatalom nem akar nyomtatásban látni. Minden más csak propaganda." George Orwell
-
Janos250
őstag
Kösz, valóban, ha átnevezem src-nek, akkor megtalálja.
Érdekes, hogy viszont több helyen van benne include-os is, és azt látja.
Így megy, de érteni továbbra sem értem a logikáját , mit , hol talál meg.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
Új hozzászólás Aktív témák
- A fociról könnyedén, egy baráti társaságban
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Bluetooth hangszórók
- Óra topik
- Xbox Series X|S
- Redmi Note 10 Pro - majdnem minden stimmel
- Politika
- iPad topik
- Perelnek a vallásos kripto-piramisjáték miatt
- Székesfehérvár és környéke adok-veszek-beszélgetek
- További aktív témák...
- LG OLED55C37LA GYÁRI GARANCIA 3 ÉV
- APPLE Mac Studio M1 Max 10C CPU, 24C GPU, 32G RAM, 512GB SSD
- Kingston A400 960GB (SA400S37/960G)
- Ohh! HP EliteBook 840 G6 Fémházas Laptop 14" -70% i5-8365U 4Mag 16GB 512GB SSD FHD IPS + Táska!
- Szép! HP EliteBook 840 G6 Fémházas Laptop 14" -70% i5-8365U 4Mag 8GB 512GB SSD FHD IPS + Táska!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen