-
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
-
DigitXT
félisten
Bár nem ismerem a fejlesztőkörnyezetet, de általában meg kell adni a path-t,
ha csak ilyen kacsacsőrök közé rakod a headert, azt az alap helyen keresi.Minimum idézőjelbe kéne tenni (HA a forrásfájl mellett van), vagy konkrétan a
könyvtárat is megadni. De mint mondtam, ez csak az "általános tapasztalat".[ Szerkesztve ]
-
DigitXT
félisten
válasz t72killer #10829 üzenetére
Anno unokatesómnak volt egy játékautója, ami 6 db "C" elemmel ment, sokáig. Persze az drága volt, de jött az ötlet, hogy 9V. Mi baj lehetne? Ment vagy 1 percet.
Másik ökörségem (ezt már felnőtt fejjel követtem el): 9.6V akkupakkos játékautóra rákötöttem egy 12V motorakksit. Ment is mind a meszes. (Persze relatív, mert azt a rohadt nehéz akksit alig bírta el, kicsit olyan volt, mint egy önjáró lövegtorony.)
Aztán leégett az egyik motorvezérlő... Pedig már épp hagytam abba a tesztelését. A következő ötletem inkább egy bazinagy nitrós játékautó "zöldrendszámosítása".
De hogy ne csak OFF-oljak jelenleg egy UNO-val tekergetem a motorom km óráját teszt üzemmódban: nagyon jól jött volna, amikor kiakadt, hogy visszatekerem vele. Mielőtt vki félreértené: léptetőmotoros "analóg" sebességmérőről van szó. Nem táv! (A köznyelvben az "óratekerést" másra értik. Kb. 90 km/h-val álltam vele... LOL.)
[ Szerkesztve ]
-
DigitXT
félisten
válasz Teasüti #10833 üzenetére
Kérlek szépen ez egy Malaguti gyári óra, viszont a mutatóját lecseréltem, mert
egy kicsit fel lett spécizve: világítós, hogy sötétben is lássam, és tök jól néz ki.A gond az, hogy legutóbb olyan indexvisszajelzőt tuningoltam bele, ami persze
szintén tök jól néz ki (erős a fénye, stb.), csak kicsit megtolta a számlapot, így
felakadt a mutató, a vezérlő meg elvesztette a fonalat: ezt úgy-ahogy javítottam.Egy darabig működött is, de megint belefutottam egy hasonló helyzetbe, pont a
műszaki vizsgám napján... Nagyon ciki lett volna, ha 90 km/h-val állok, de időm
sem volt sok, így csak lekaptam a burkolatot, kézzel visszatekertem nullába, s
lehúztam a 4 kábelét, hogy maradjon ott. Vizsgasoron jobb a 0 km/h, mint a 90.
A digitális óra működött! Szóval mérte a távot, meg mutatta a sebességet is.Azóta viszont egy ugyanilyen (bontott) órát mókolok, és azt kell, hogy mondjam,
hogy NEM hülyeség, amit a KOSO és egyéb utólagos műszergyártók csinálnak:
nem feltételeznek, hogy "biztos nullában áll" a mutató, végigcsinálnak egy teljes
ciklust, és akkor tudják. Egyben demonstrálják, hogy a műszer működik, szóval
ha ezután menet közben nem mutatja, amit kéne neki (sebesség, fordulatszám,
vízhőmérséklet, olajnyomás, benzinszint, vagy bármi, amire épp a műszer való),
akkor tudhatod, hogy a bejövő jellel lesz gond. Malaguti ezt nem csinálja. Sajna!Ne is mondd a SpeedoHealert! Egyszer teszteltem vele, kivezérelte ez a tesztjel
vmi 300 km/h-ra az órát... utána persze nem tért vissza nullába, és hiába veszed
le a gyújtást, azt hiszi, hogy nullában áll. Ha teljesen lehúzod róla a tápot, akkor
mozgatja egy picit visszafelé, de csak ~10 km/h-nyit... A hajam megőszült, mire
nullába visszatért... ráadásul sikerült olyan ütemesen újraindítgatni, hogy közben
kinullázta az össz. futott km-t. Nem vettem észre, napit szoktam figyelni: csak a
kúton tankoláskor, amikor fel akartam írni, hogy 42XXX van benne? És volt kb. 31.Igen, végül a megoldás az lett, mint amit írsz. SpeedoHealer, és kb. egy éjszaka
tolta bele a km-eket, hogy meglegyen mind: az analóg órát persze lekötöttem.
Ha akkor van egy UNO a kezemben, akkor a "120-szal állás" esetén rádugom és
zutty a nullába, nincs baj. Persze ezt akkor még nem tudtam, de mindig tanulok.Amúgy nem pont erre szántam, de ezzel is "tanulom", és jó, hogy ezt is tudja.
Azt mondjuk még nem teszteltem, hogy ez amúgy 5V-os léptetőmotor, vagy sem
(azaz mi jön ki a Malaguti egységből), mindenesetre működik simán 5V-ról. Csak
le ne égessem az UNO-t is, mert külső tápegységet nem dugtam rá az L293D-re.Szerk: egyébként tetszik az ötlet, hogy egy Arduinoval meghajtva pontos / gyors
"analóg" órát is lehetne a gépre varázsolni. Kicsit fura, hogy késve vezérli a gyári.
(Lehet, hogy azért, mert hajazni akar a valódi analóg óra "tehetetlenségére", nem
tudom, de az biztos, hogy a digitális órán hamarabb jelez, sőt olvasható értéket.)[ Szerkesztve ]
-
DigitXT
félisten
válasz DigitXT #10835 üzenetére
Na kivittem a kütyüt a fészerbe. Rá az éles órára: valóban 90 körül akadt meg a
mutató. Utána persze én sem tudtam visszavinni nullába, mert én is beleírtam a
programomba, hogy ha (elvileg) már végállásban van, ne próbálkozzon tovább.
Pedig egy kis erőltetéssel át lehetett volna billenteni, de nyilván ez nem opció...Szétszed, összerak, és a lényeg: TESZTEL! Nem hogy elindulok, aztán kiderül.
[ Szerkesztve ]
-
DigitXT
félisten
válasz Teasüti #10862 üzenetére
Nem, ez a Stepper könyvtár használata. (Az analóg km óra bemenete közvetlen
a léptetőmotort hajtja: a sebességjeladó négyszögjele a digitális órára megy, az
vezérli ki az analógot... De azt nem etethetem kamu jelekkel, mert nem akarom
eltekerni mért a távot. Jelige: mégegyszer nem! Lásd SpeedoHealer tesztelése.)aryes: egyelőre nem is kell értelmezned, majd ha kérdésem is lesz, akkor.
Szerk: de nem akarok bunkó lenni, ha esetleg annak tűnne. Röviden: volt egy
mechanikai hiba az órámban, ami miatt a mutató elakadt, így a léptetőmotor az
adott helyzetből csak felfelé tudta mozdítani, lefelészinteegyáltalán nem. Mivel
ezt a hibát elvileg elhárítottam, nem ártott az is letesztelni, hogy most már jó-e?
S nem úgy, mint legutóbb, hogy elindulok vele, és csak menet közben láthatom,
hogy felakad, vagy sem... Sajnos a gyári vezérlő nem játssza végig azt a ciklust
minden gyújtásráadáskor, amit animált GIF-ként beraktam: ezért kellett az UNO.[ Szerkesztve ]
-
DigitXT
félisten
válasz Teasüti #10952 üzenetére
a piros lámpa a műszeregységen bőven elég a feladatra
Hát ez egy igen nagy tévedés, sajnos. Ha az világít fordulaton,
akkor a motornak már reszeltek. Bővebben: link Amúgy, azok
után amiket felsoroltál, az olajnyomásmérő ujjgyakorlat lenne:
egyszerű feszmérés. (Van belőle digitális, jeladós cumó, de
a hagyományos ellenállásos is teljesen jól használható.)
Most mondjam azt, hogy nekem van mindkettő? Igen, van...
Gyári olajnyomásgomba meg kuka, mert az annyit ér.Fogyasztásméréshez az injektor vezérlését tudod monitorozni.
Szerintem baromi hasznos cucc, feltéve, hogy elég pontos.
(Nekem sajnos karbis a motor, így én áramlásmérővel sz*pok.)TPMS-ből én tavaly szereltem szelepsapkást: tökéletes. Na jó,
kis hibája, hogy álló helyzetben nem frissül, így másnap reggel
a tegnap esti nyomást / hőmérsékletet látom. Mozgásra frissül.
Viszont azóta nem kellett fújni a gumit: külön nézegetni sem. -
DigitXT
félisten
válasz Teasüti #10955 üzenetére
Okés, megértettem, csak gondoltam megosztom a gondolataimat, azaz ha
már mindent IS figyelsz a motoron, fontos(abb) paramétereket is nézhetnél,
mint mondjuk a kuplung figyelése. Nem is értem, hogy az mire jó, de sebaj.Én is raktam be csipogót indexre, meg korrekt visszajelzést a műszerfalba,
így nem felejtem kint. Ehhez kondi kellett és relé.Mikrokontroller pont nem.Szerk: ne csak offoljak... Az alábbi ábrán nem tetszik a fordulatszámjel: jól
láthatóan lépcsős (hiszen másodpercenként összegzi csak), és késik is a
valósághoz képest (ami valóságot pl. jól modellezi az olajnyomásmérő jele).
Továbbá 2000 rpm alatt nullát mér (ez a jelátalakító hibája, ami 5V alatt nem
triggerel). Na most. A terv az, hogy LM2917-tel analóg feszültségjelet állítok
elő, azt bevezetem (egy szabad ADC-n) a logba, és voilá!. Kérdés, sikerül-e.
És ha igen, akkor miért nem. Elég gyors lesz-e, pontos lesz-e, meg ilyenek.[ Szerkesztve ]
-
DigitXT
félisten
válasz Teasüti #10957 üzenetére
Ez lehet nem a beolvasok egy négyszögjelet kategória.
Az biztos... De annál jobb kihívás!a felfutó és lecsengő éleket is figyelem
Akkor neked vmi utófeldolgozott jeled van, mert a VR szenzor jele elég ocsmány.
Ha úgy tetszik, ez sem a beolvasok egy négyszögjelet kategória. (Erre a Maxim
MAX9924-et terveztem bevetni pár éve. De jól felsültem az SMD forrasztással.)A vicc az, hogy amit most használok jelátalakító, az a dízelek injektorvezérlését
nézegető kütyü, amit teljesen más jelre alkalmaztam. A jelalak nagyon hasonló: -
DigitXT
félisten
Annyi jót írtok az ESP32-ről, hogy én is benevezek egyre. Kíváncsi leszek!
-
DigitXT
félisten
Én azt se tudom, hogy eszik-e vagy isszák ezt a polyfuse-t, ám azt azért kicsit cikornyának érzem, hogy tutorial (!) alapján épített cucc legyilkolja a PC USB-jét. Ha és amennyiben ilyen könnyen előfordulhat (nem csak occó kínai klónnal)...
Szerk: rákerestem, nagyjából értem, és úgy néz ki pár találatból, hogy a Nano-n nincs, ellentétben mondjuk az UNO-val. Tiszta szerencse, hogy nekem UNO van. Simán stepper motorozgattam vele itt az USB-ről. Még laptopról is. Igaz, hogy nem nagy áramú valamire kell gondolni, hanem épp ellenkezőleg, műszeregység lépetőmotorja volt/lesz a meghajtott cucc, kifejezetten kis áramfelvételű (elvileg). Szerk2: szervót (még) nem próbáltam, de akkor külső táp nélkül inkább nem.
[ Szerkesztve ]
-
DigitXT
félisten
válasz ---gabika--- #11087 üzenetére
Mert rosszul van zárójelezve. Csak nyomvatartásra megy be,
viszont folyton kapcsolgatja az állapotot, amíg nyomva van... -
DigitXT
félisten
válasz gazso75 #11198 üzenetére
Az a baj a kódban, hogy az "előző értéknek" mindig eltárolod az aktuálisat.
Akkor is, ha az egy hibás adatot tartalmazó mérés. Két ilyen egymás után,
és már be is került a logba a hibás adat... Igaz, nem kétszer, csak egyszer.
(Folyománya, hogy a hibás adat "elfogadása" után a jót is egyszer eldobja.)A másik, amit weiss is ír, hogy ha újra beolvasod, akkor már nem telejesen
biztos, hogy ugyanazt kapod vissza, mint a korábbi olvasásnál... Változóba
tenném, így csak egyszer olvasnám be, azon nézném a feltétel teljesülését.A harmadik, amire még gondoltam, hogy az hibás adathoz vezethet-e, ha túl
sűrűn próbálod olvasni az aktuális értéket, bár ha ez az adott modul tudja az
5 Hz-es frissítést is, akkor elvileg 4 Hz-en kérdezgetve nem lehet baj. De azt
nem tudom, hogy hogyan működik a háttérben a könyvtár, ami kezeli...A negyedik ehhez lazán kapcsolódón: ha van 2 méteres szórása, akkor nem
túl sok értelmét látom másodpercenként négyszer rákérdezni, hol a játékos.
Szerintem sok-sokesetenkénthibás koordinátából nehezebb távot számolni.Ha viszont ennyire behatárolt a felhasználás, akkor a hibás adat értelmezése
is túlságosan megengedő (csillió km/h): elég az ha mondjuk 50 métert ugrott
odébb egyetlen másodperc alatt, futva azt se követhette el => mérési hiba.[ Szerkesztve ]
-
DigitXT
félisten
Én most egy NEO-M8N alapú cuccal szöttyögök. (M5Stack) Példaprogram fut:
beltérben picit nehezen talál jelet, de kellő türelemmel megvárható az is. (Csak
rohadt nagy szórással mér ilyenkor, szóval 1-3 km/h körül ülök egy helyben.)Szerk: kint azért jóval pontosabb volt. Bár kevesebb hódot látott, mint a telefon.
[ Szerkesztve ]
-
-
DigitXT
félisten
válasz gazso75 #11339 üzenetére
GPS pozíció szerint kellene a helyi idő? Az érdekes lesz... Nem elég ugye az
időzóna határokat pontosan ismerni, de még ott van a téli-nyári időszámítás is.
(Amíg van.) Kis hazánkban ugye +1 óra télen és +2 nyáron: ez programozható.Gyorsan rákeresve egy ausztrál Arduino projektet találtam, ahol ugye országon
beül is van van három különböző időzóna. Mindenesetre érdekes a kérdés...
Szerk: belenézve az ausztrál kódba az szart se ér. FIX 10 órával tolja el. Azt
hittem legalább figyelembe vesz valamilyen koordinátát az országon belül, LOL.Ha univerzális megoldás kell, a tzdata lesz a kulcs, gondolom netről letölthető.
[ Szerkesztve ]
-
DigitXT
félisten
válasz gazso75 #11341 üzenetére
Ez teljesen jó megoldás, mint mondtam, ez programozható...
Csak akkor valójában semmi köze a GPS pozícióhoz, hanem
felteszed, hogy mindig Magyarországon használod a cuccot.
Amit a kolléga linkelt szintén jó lehet, csak fel kell másznia a
cuccodnak a netre, hogy lekérdezze az időt, időzónával... -
DigitXT
félisten
Tud konvertálni, persze, csak honnan a viharból* tudja, hogy mi a TZ?
Én úgy értettem a kérdést, hogy GPS alapon kell, a te kódod ugye NTP...*: hacsak meg nem mondod neki "parasztosan", hogy márpedig ez.
Szerk: ha jól látom, te is beírtad kézzel, hogy CET... Szerintem a kérdés
arra vonatkozott, hogy ezt honnan lehet megtudni GPS alapján: amúgy
találtam vmi NMEA stringet, ami erre vonatkozik, de nem próbáltam.[ Szerkesztve ]
-
DigitXT
félisten
válasz zsolti_20 #11659 üzenetére
Bizonyára. A trükk az, hogy amit leírtál, az két paraméter megadása,
logikus, hogy nem működik, ha az adott függvény egy paramétert vár.
Össze kéne fűzni egyetlen változóba a dolgot, s azt átadni neki. -
DigitXT
félisten
válasz zsolti_20 #11661 üzenetére
Mint írtam, az a vessző a paramétereket választja el, tehát ahogy a hibaüzenet írja:
az a hívás nem érvényes, hogy átadnál neki egy const char [5] és egy char [13]-at.
Ott egyetlen paramétert vár, tehát előtte össze kellene fűzni, pl. valami ilyesmiképp SD.exists(concat("asd/",filename))Csak most nincs előttem, hogy ez a concat megvan* natív C-ben, vagy az Arduino
féle Strings objektum kreálmánya, amit amúgy nagyon fikáznak ebben a cikkben...*: ha nincs, akkor persze meg lehet írni, de ez nem Arduino-specifikus dolog.
[ Szerkesztve ]
-
DigitXT
félisten
válasz zsolti_20 #11668 üzenetére
Ilyenkor célszerű felütni valami referencia dokumentációt, pl. mondjuk ezt: [link]
bool SdFat::exists ( const char * name )
Test for the existence of a file.
Parameters:
[in] name Name of the file to be tested for.Returns:
true if the file exists else false.Vastagítás tőlem: ennek nem lesz jó a String objektum, ha amúgy azt használsz:
szerencsére erre is van megoldás, konkrétan átkonvertálja karaktertömbbé.[ Szerkesztve ]
-
DigitXT
félisten
válasz zsolti_20 #11672 üzenetére
Az csak elírás, hogy egyszer kis string, másszor meg nagy String? Csak mert
nem ugyanazt jelentik. A String az egy objektum, annak van "+" művelete. Míg
a string az nem objektum: talán így le sem fordul a kód, ha kisbetűvel írtad...A "filename" amúgy micsoda? Azt hol definiáltad, és hogyan kap értéket?
Na igen a 8.3 is befigyel, de így nehéz debugolni, hogy csak a fél kód van meg. -
DigitXT
félisten
válasz zsolti_20 #11679 üzenetére
Nézd, programozni nem lehet csak ennyire elmesélős szinten. Nem tudjuk,
pontosan mit csináltál azzal a sprintf-fel, mibe akartál vele írni mit... Azt se,
hogy debug esetén mit látsz: az alap C programozást célszerű megismerni.
Kifagy az egész? Már mi? Az arduino? Végtelen ciklusba kerül a kód? Nincs
lefoglalva előre a memória? Nem nullára végződik a karakter sorozat? -
DigitXT
félisten
válasz zsolti_20 #11686 üzenetére
OMG: nyilván... De az nem is volt benne az eredeti kódrészletedben...
Bepakoltál 8 db byte-ot egy közelebbről meg nem határozott tömbbe és kalap.
Mivel a print a lezáró nulláig megy, s az nem volt benne, ettől már "fagyhatott":
amiért akkor működik, amikor megadtad neki az inicializáláskor a fájlnevet, az
az, hogy az implicit belerakja a lezáró nullát. Tudom, hogy elsőre nem annyira
triviális a karaktertömb / mutató kérdés, de ez alapvetően C, és nem Arduino...Szerk: sajna a pastebint nem tudom megnézni a céges gépen, ebédszünetben
telefonról néztem, aztán ennyi maradt meg belőle a fejemben.[ Szerkesztve ]
-
DigitXT
félisten
válasz zsolti_20 #11692 üzenetére
Valószínűleg arról van szó, hogy csak mutatót definiáltál. Nem foglalva neki
megfelelő mennyiségű memóriát, írsz bele, a vakvilágba. Esetleg egymásra
írnak. A C ugye egy típusos nyelv... így nem lehet a kódoddal kapcsolatban
beszélgetni, hogy bemásolod egy részletét + állítasz valamit, hogy mit ír ki,
ám azt nem mondod meg, hogy melyik változóra, mikor, és mi az a változó.Szívesen segítenék, de ez alapján szerintem nem lehet. A konyvtar pl. egy
char[9]? És beleraktad, mondjuk hogy "konyvtar" az inicializálásakor? -
DigitXT
félisten
válasz tonermagus #11717 üzenetére
Ahogy az előttem szóló írja egy ilyen 9V-os elem képtelen nagy áramokat leadni,
amikor megpróbálkozol annyira terhelni, drasztikus feszültségesést láthatsz...
Természetesen a kapacitása is a béka segge alatt van: ha szedtél már szét ilyet,
láthattad, hogy 6 db icipici cellából áll, ilyen felhasználásra teljesen alkalmatlan...Fognod kéne valami Li-Ion cellát (pl. a klasszikus 18650), és azzal meghajtanod:
azok kapacitása sokszorosa egy 9V-os elemnek (3-4x) névleges feszültség 3.6V
azaz kettő ilyen sorba kötve, 7.2V névleges feszen bőven kiszolgálná a motor.[ Szerkesztve ]
-
DigitXT
félisten
válasz tonermagus #11732 üzenetére
De a 7-8 kg-os etetőcsónakot meg ugye nem 9V-os elemről akartad táplálni?
-
DigitXT
félisten
válasz tonermagus #11734 üzenetére
Mi is volt a kérdés?
-
DigitXT
félisten
Van webshop meg telefonos elérhetőség is. Azért mondtam, mert elég nagy
választékuk van polcról is. Bocsánat, hogy nem kerestem ki neked a konkrét
alkatrész elérhetőségét. Amúgy mondanám, hogy hestore.hu, de oda "hiába"
mész, rendelős. Viszont ha raktáron van, 1 nap és mehetsz érte. Vagy posta. -
-
DigitXT
félisten
válasz Gergosz2 #11888 üzenetére
Írjunk be ilyeneket hasra, hogy ne foglalj 1Kbyte-ot egy String-nek, ha csak
két szót fogsz benne tárolni? Vagy mire gondolt a költő? Eleve az Arduino-
féle String implementáció egy nagy szar, és nem igazán ajánlott használni.Simán el tudom képzelni, hogy sok ilyen van benne, s azért fekszik meg.
De lehet nagyobb vasat alá tenni a projektnek, csak nehogy azt is kinője.