-
GAMEPOD.hu
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
-
-
nagyúr
válasz tonermagus #11678 üzenetére
Szénkefés motorhoz hogy használsz te ESC-t?
-
nagyúr
válasz Gergosz2 #11691 üzenetére
Én ma hallottam először az ESC-ről, utána kellett gugliznom, de nem az jött le, hogy kimondottan a BLDC motorok vezérlőjét hívják így, megkülönböztetésképpen a h-hídtól, amit h-hídnak neveznek.
Visszatérve az eredeti kérdésre, a TB6612FNG "csak" egy h-bridge, semmi más. Esetleg lehet még mellette i2c chip + frekvencia generátor, mint pl a wemos d1 mini motor shield. -
nagyúr
válasz zsolti_20 #11695 üzenetére
Miért nem mutatod meg az egész kódot!?
A "masodik" változó hol van definiálva? Jól látszik, hogy itt:printf(filename, "%s%02d%02d%02d.TXT",konyvtar2, now.day(),now.month(),now.year());
a "filename" változóba, amely egy 12 elemű több, beírsz egy 4 karakterrel hosszabb szöveget, ami azt jelenti, hogy felülírsz egy másik változóhoz tartozó memóriaterületet. Az a csoda, hogy egyáltalán lefut a kód.[ Szerkesztve ]
-
nagyúr
válasz zsolti_20 #11698 üzenetére
Ez meg hogy jön ide?
A filename annyi lehet, amekkorára előtte definiáltad. Ha többet írsz bele, azzal olyan megmagyarázhatatlan hibákat okozol, mint most is.Én többet nem segítek, amíg nem írod be az egész kódot. Bár szeretek nyomozni, és már tudom is, mit követtél el.
[ Szerkesztve ]
-
nagyúr
Nem stimmel.
A filename kiírásánál kéne, hogy hibás legyen.
char filename[] = "00000000.TXT";
char masodik[] = "00000000.TXT";
char dir[] = "asd/";A filename és a masodik is 13 elemű változó (12+\0).
sprintf(masodik, "%s%02d%02d%02d.TXT",konyvtar, now.minute(),now.month(),now.year());
Itt 17 karaktert írsz a masodik változóba, felülírva a dir változót is (írasd csak ki és meglátod)
Utána itt
sprintf(filename, "%s%02d%02d%02d.TXT",konyvtar2, now.minute(),now.month(),now.year());
felülírod a "masodik" elejét, így olvad össze.
De csak akkor van értelme, ha a fenti két változó eredetileg fordítva helyezkedik el a RAM-ban.[ Szerkesztve ]
-
nagyúr
válasz zsolti_20 #11702 üzenetére
Szerintem nem ezt a kódot töltötted fel a kontrollerre, azóta változtattál rajta, mert tudom, hogy az történik, amit fent írtam, de csak akkor, ha néhány sor fel van cserélve a linkelt kódhoz képest.
Vagy ez a két sor:
char filename[] = "00000000.TXT";
char masodik[] = "00000000.TXT";
vagy a compiler a két változót fordítva helyezte el a ramban (ilyen lehet? miért?)
Ja, akkor már jöjjön a megoldás: a vargalex által írt megoldás csak abban segít, hogy fordítási hibát kapj, ha túlírod a változót. Adj meg kezdeti értéknek akkora számot, amitől hosszabb akkor se lesz a filenév, ha 9 mappa mélységbe ereszkedsz. Pl:
char filename[] = "00000000.TXT";
char masodik[] = "00000000.TXT";
helyett
char filename[255];
char masodik[255];[ Szerkesztve ]
-
nagyúr
válasz tonermagus #11708 üzenetére
Miért redukálná le 5V-ra? Az csak a logikai jelszint. A L289N olyan 1,6V feszültségeséssel dolgozik, 9,5V-ot fog kapni a motor, de a 6V-os motor szerintem simán bírja. Ha nagyon melegszik, esetleg egy áramkorlátozó ellenállást lehet elé tenni.
Én ma hallottam először az ESC-ről, eddig azt hittem, hogy egy gomb a billentyűzeten. -
nagyúr
válasz tonermagus #11710 üzenetére
Én egész jól elboldogulok ESC nélkül is DC motorokkal. De a TB6612FNG akkus üzemnél jobb, mert kevesebb a vesztesége és kisebb tápfeszültségen is jól működik a kis motorjaiddal. De ezt már írtam neked korábban azt hiszem.
-
nagyúr
válasz tonermagus #11712 üzenetére
Hát ehhez nem ártana látni, hogy hogy kötötted össze a dolgokat (csinálj fotót vagy rajzold le), mert lehet, hogy vmit fordítva kötöttél és megfőzted a drivert.
A kódot is jó lenne, ha linkelnéd. -
nagyúr
válasz tonermagus #11714 üzenetére
A legprózaibb ok az lehet, hogy lemerült az elem... Más ötletem nincs, amíg nem teszel fel vmi képet a konfigról.
-
nagyúr
válasz tonermagus #11720 üzenetére
A jumper helyére köss be egy-két diódát, azokon esik 0.6V, de nem hiszem, hogy az a 0.8V kinyírná.
-
nagyúr
Sziasztok! Megjött az Esp32-cam boardom, és most szembesültem a ténnyel, hogy nincs hozzá ftdi programozóm (na jó, ez túlzás, csak gondoltam megoldom, ahogy szoktam): eddig jól elboldogultam nélküle, egy arduino uno-val szoktam programozni, amit kell, de ennek ugyebár 3.3V kell, és nem szeretném megsütni idejekorán... Meg tudom oldani ellenállásosztóval, meg 3.3V táppal, vagy vennem kell egy programozót? Tudtok ajánlani olyat, ami kimondottan 3.3V lapokhoz való? Esetleg belföldről, hogy ne kelljen rá 2 hónapot várnom? Köszi előre is!
-
nagyúr
Akkor még 1 kérdés, nrf24l01 rádiós modulból milyet és honnan érdemes venni? Szeretném kipróbálni egy projektben, de annyi féle változatot találok, hogy azt se tudom, mi micsoda. Az adapter board az például micsoda, és mihez van rá szükség? Anélkül nem is lehet használni a modult? Köszi
-
nagyúr
Sziasztok! Jól gondolom, hogy ezen az oldalon a kód 1MHz órajel mellett működik pontosan?
Erre a részre gondolok:void IR(long microsecs) {
cli();
while (microsecs > 0) {
digitalWrite(IRledPin, HIGH);
delayMicroseconds(10);
digitalWrite(IRledPin, LOW);
delayMicroseconds(10);
microsecs -= 26;
}
sei();
}
Összesen 26us lenne a blokk ciklusideje, ha a közbülső utasítások 1 utasítás/órajel sebességgel futnak. 8MHz órajellel viszont szerintem alig 21us a ciklusidő, jól sejtem, hogy növelni kell a delayMicroseconds idejét?[ Szerkesztve ]
-
nagyúr
válasz Gergosz2 #11787 üzenetére
Nem tudom, de azt a compiler mindig az aktuális órajelet figyelembe véve fordítja a kódba, tehát gyanítom pontos (úgy tudom NOP utasításokat használ?). Igazából az a kérdés, hogy jól tippelek-e, mert sehol nem írja, hogy mekkora órajel mellett működik helyesen, és a kommentek között sincs róla szó. Ha a digitalWrite(IRledPin, HIGH); tényleg 3 órajel alatt fut le, akkor az csak 1MHz órajel mellett =3us, 8Mhz alatt viszont csak 0,375us. írok majd egy kódot, ami kiméri, mert működik ugyan a kód, de csak pár cm-re a vevőtől, valószínű a vivőfrekvencia nem pontos (38kHz helyett majdnem 48kHz, ha jól számolok).
[ Szerkesztve ]
-
nagyúr
válasz Tankblock #11793 üzenetére
Belső oszcillátorról hajtom.
Megírtam a mérő kódot. Nem is 21us volt, hanem 36! (Úristen, a digitalWrite-nak ekkora lenne az overhead-je? ) Átírtam közvetlen portmanipulálásra (köszi a tippet ), ezután lett az általam feltételezett 21us. Ezek után már be tudtam állítani pontosan a ciklust.
A vicc pedig, hogy 16MHz-re állítva az órajelet, majdnem pontosan 26us lett a linkelt kód futásideje (27 egész valamennyi), tehát közvetlen portmanipulálás nélkül nem 1, hanem 16MHz-en futott jól a kód.
Az infra valóban nagyon toleráns, mert 38kHz helyett 27kHz vivőfrekvenciával is átment a jel, igaz csak közelről. Most már jól működik.
Nem is értem, hogy miért nem találtam timert nem használó IR lib-et (attiny-ra legalábbis nem volt). Úgy kellett írni magamnak egyet, ami pinchange interrupttal működik. -
nagyúr
válasz tonermagus #11803 üzenetére
Hát 2,5m tévedés balra, azután 2,5m jobbra, az már 5m.
Hibát okozhatnak a következők:
- magas házak
- felhős idő
- falevelek
- bármi másHa 30cm pontosságot szeretnél, ahhoz minimum glonass kell.
Mielőtt viszont kukáznád ezt a modult, megpróbálhatnád a következőt:
- mozgóátlagot számolsz pl. az utolsó 3 mért adatból
- kihagyod az átlagból azokat az adatokat, ahol túl nagy az eltérés. Azt te tudod, hogy milyen sebességgel fogsz mozogni a mérés során, ha pl. gyalog, kézben tartva fogod használni, nyugodtan eldobhatod a 10m-nél nagyobb ugrásokat.[ Szerkesztve ]
-
nagyúr
válasz tonermagus #11807 üzenetére
Nem hiszem, hogy az antenna mérete számítana ez esetben. Nem tudod, hogy milyen vevő van benne? Gondolok ilyenre, hogy pl SirfStar valahányas. A 15 évvel ezelőtti PNA-m volt ennyire pontatlan, régebbi vevővel, hogy mikor megálltam egy kereszteződésben, megállás nélkül eltévedt állóhelyben, ahogy a kolléga írta, csak hallgattam, hogy "újratervezés, újratervezés"... Szóval ezzel csinálhatsz bármit, arra jó, hogy az utcát nagyjából megtaláld vele, de pontos mérésre sosem lesz alkalmas.
[ Szerkesztve ]
-
nagyúr
válasz Janos250 #11826 üzenetére
És továbbra is köszi az infókat. Én mindig szívesen olvasok ilyenekről.Ezekről a pontokról hol lehet többet megtudni?
Nincs erre vmi közösségi kezdeményezés (pl. mint a geocaching) ahol megosztják ezeket a pontokat egymással az emberek? Én tuti csinálnék. Disznóság ebből is pénzt csinálni... -
nagyúr
válasz tonermagus #11828 üzenetére
Egy icipici csörlő, jóóó hosszú madzaggal.
-
nagyúr
válasz tonermagus #11832 üzenetére
Próbanyák. [link]
-
nagyúr
Ma rájöttem, hogy a ~10 éve a fiókban pihenő PicKit2 programozót tudom ISP-ként és serial debuggerként is használni arduino környezetben.
-
nagyúr
válasz Janos250 #11845 üzenetére
Mi a kérdés? Leírás
Attiny85-höz kellett egy isp, eddig egy uno-t használtam (arduino as isp), de lassú volt és nem volt serial monitor lehetőség sem. Ez pedig mindkettőt tudja, igaz a serial-hoz a saját programját kell használni (pickit2 uart tool), de az nem baj, kicsit okosabb, mint az arduino ide beépített monitorja. Ha nincs meg az eredeti telepítő hozzá, innen le tudod tölteni, mert minden eredeti letöltési lehetőség eltűnt már a netről...
A kódfeltöltés szépen működik arduino ide alól. -
nagyúr
válasz zsolti_20 #11860 üzenetére
És miért baj, ha a device megkapja többször is a jelet?
Én így küldenék ki minden jelet, függetlenül attól, hogy ki hol tartózkodik:
Base -> R1, D
R1 -> R2, D
R2 -> D
Ha több azonos jelet kap a D, az elsőt feldolgozza, a többit ignorálja.
Mit tartalmaz a jel?[ Szerkesztve ]
-
nagyúr
válasz tibi-d #11870 üzenetére
Ezt eddig is kb. értettem, de ha jól veszem ki a szavaidból, akkor te egy diszkrét alkatrészekből megépített analóg adó vevő párosról beszélsz, különben már linkelted volna az eszköz adatlapját.
Ha igazam van: mi a gond a készen kapható megoldásokkal, pl nRF24L01? Mi lenne az a fogyasztás, amivel elégedett lennél?
Új hozzászólás Aktív témák
- Dell Latitude E6330, 13,3" HD Kijelző, I5-3320M, 4GB DDR3, 320GB HDD, WIN 10, Számla, Garancia
- Dell Latitude E6420, 14" HD+ Kijelző, I5-2540M, 4GB DDR3, 250GB HDD, Nvidia VGA, WIN 10, Számla, Gar
- be quiet! PURE POWER 11 tápegység I 600W I Félmoduláris I 80 PLUS Gold
- HP EliteBook 850 G7 Intel Core i7-10610U, 32GB RAM, 512GB NVMe SSD
- iPhone 14 Pro Max 256GB, garanciális, független, 100% akku (karcmentes, ütésmentes) eladó
- mini-ITX gépház, paneltáppal és külső tápegységgel
- Google Chromecast 4k + Google TV GA01919
- Eladó Asus Vivobook X15, új állapotban, 10 magos processzorral, dobozában, sok garanciával
- Acer Aspire 3 notebook 17" i5-10210u/20GB DDR4 ram/256ssd/1tbHDD/mx250GPU 2GB alap gamer
- Dell M3800 prémium laptop QHD+ eladó! Játékra is alkalmas.