- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Magyarított Android alkalmazások
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- iPhone topik
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Google Pixel topik
- Milyen okostelefont vegyek?
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
Mobilarena
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
-
válasz
tonermagus #15652 üzenetére
6.4V már simán elég a Vin/hordó csatlakozón a stabil működéshez (tesztelve), ebből ne csinálj gondot. A lapon lévő regulátor főleg a kínai lapok esetében nem annyira terhelhető, nem tudom mit szeretnél rá kötni, de mondjuk 1-2 sg90 szervónál többet nem nagyon bír külön hűtés nélkül. Én egy uno lapon 2 nagyobb szervóval egyszer már megsütöttem a regulátort, szerencsére a μC nem ment tönkre, ma is működik.
-
válasz
Tomika86 #15615 üzenetére
10cm vezeték, eaton 10kohm
Az külső zaj szempontjából jónak mondható.Schmitt-trigger: nem árt, ha tudod, hogy az AVR-ekben gyárilag van egy analóg komparátor (egy belső opamp), állítható referenciafeszültséggel, amire interruptot is tudsz beállítani. Ha esetleg külön külső áramkör nélkül szeretnéd megoldani. Bár a sebességét nem tudom, hogy mennyire lenne alkalmas a feladatra, de szerintem 8000rpm-mel még simán megbirkózik.
-
válasz
Tomika86 #15608 üzenetére
Írj az uno-ra egy programot, ami kihagyja az ADC-t, és magától sweep-el az alsó és felső frekvencia közt, egyenletesen vagy random értékek közt.
De azt is lehetne, hogy kihagyod a pwm megoldást, és te magad állítod elő a négyszög jelet, a loop ciklusban, delay-ekkel. Mivel a programnak gyakorlatilag nincs más dolga. -
válasz
Tomika86 #15605 üzenetére
Az ugrálás nem az uno-ból ered? A kódban semmi sem indokolja. Mint ahogy a 0-ra zuhanást sem.
A potméter értékét sem kellene egy az egyben alapul venni, azt is szűrni (átlagolni) kellene, mert maga az ADC is zajos, és a vezetékek is összeszedhetnek zajt, amivel a potit a bemenetre kötötted. Az autónál pedig amúgy sem fog olyan eset előfordulni, hogy hirtelen változzon a fordulatszám például 0 és 1800 között. -
válasz
Tomika86 #15599 üzenetére
A numReadings = 2; írd át 3-ra, vagy akár 30-ra, mert a két értékből számolt átlag túl kevés a sima kijelzéshez. Addig növeld, míg a kívánt simaságot nem éri el a kijelzés.
A mutató mozgása a fordulatszám növekedésével egyre "izgágább" lesz, mivel az átlag képzése nem az időt, hanem a mérések számát veszi alapul. Tehát vagy beállítasz egy optimális középutat a numReadings-nek, vagy írsz egy idő alapú átlagszámítást. Esetleg a sebesség növekedésével arányosan több mintavételből számolod az átlagot. -
válasz
tonermagus #15576 üzenetére
Én még sosem használtam, de egy előnye biztosan lenne, mégpedig akkus táplálásnál a kisebb tápfeszültség igény. Meg ha sok 3.3V szenzort használsz, nem kell őket illeszteni. Egyébként ha nincs egyéb érv ellene, az esetleges későbbi fejlesztési lehetőség miatt talán érdemes az STM32-t választani.
-
válasz
tonermagus #15573 üzenetére
Hát ez csak úgy lehet, hogy a mega board gyártója olyan nagy mennyiségben vásárolja a chipet, hogy annyival olcsóbban kapja, hogy a különbözetből kijön a pcb meg a járulékos alkatrészek ára (amit szintén nagy mennyiségben vásárol a gyártó), a külön chipet meg kevesen vásárolják (főleg, hogy már eléggé elavultnak számít), és ugye 1 darabnak mindig több az ára. Nézd meg, hogy az Alibaba-n mennyiért tudnál venni mondjuk 10000 darabot.
szerk.: lassan írtam
-
válasz
tonermagus #15565 üzenetére
Érdekes kérdés. Honnan akartad beszerezni?
-
válasz
Tomika86 #15545 üzenetére
Aztán túlcsordul 0-ra, akkor két fordulatnyit hibázni fog, mert csak 2-től számol a kód. Ilyenkor meg fog lódulni a mutató, és pl. 1000-es fordulatnál 333-at fog mutatni egy pillanatra.
Minden számítás után nullázni kell ezt a számlálót, és nem lesz gond. Mármint ha a másodpercenkénti impulzusok számából számolsz.Azthittem az impulzusok közötti időből lehet pontosabban számolni.
Mondom, ez a fordulatszámtól/periódusidőtől függ. Kis fordulatszámnál (pl. 0-100 közt) talán érdemesebb/pontosabb az impulzusok közötti időből számolni. De itt az is számít, hogy a loopban könnyebb az impulzusokat számolni meg az adatokat átlagolni, mint az interrupton belül pl. tömbbe menteni a periódusidőket, az átlagoláshoz. Átlagot pedig muszáj számolni (oversampling), ha nem szeretnéd, hogy darabosan közlekedjen a mutató.
-
válasz
Tankblock #15542 üzenetére
Igen, ez lenne a legjobb és legpontosabb megoldás, de csak nagyobb fordulatszám tartományban, például 500-8000 közt. És mondjuk az utolsó 3 mérés átlagát kéne kijelezni, így simább lenne a mutató mozgása.
Kisebb fordulatszám esetén nem lenne túl pontos, nem ártana tudni a mérési tartományt. -
válasz
Tomika86 #15539 üzenetére
Az interruptból vegyél ki minden számítást és tedd át a loop-ba, úgy, hogy csak ennyi legyen:
void impulzus() // Impulzus érzékelésre meghívás
{
fordulat++;
}Hogy miért? Két okból. Először is, az interruptot olyan rövidre kell írni, amennyire csak lehet. Másodszor, mert a millis() függvény interrupton belül nem működik (bár olvasni tudod, de nem számolja az időt, mert az is megszakítással működik) és ez rejtett hibához, pontatlansághoz vezethet.
A számításnál szerintem mozgóátlagot kéne számolni mert így elég hektikus lesz a mutató mozgása. -
válasz
Tomika86 #15534 üzenetére
Én mindenképp a négyszög jelet választanám, digitális bemenetre, és megszakítással számolnám belőle a sebességet. Szerintem teljesen felesleges még egy plusz eszközt közé iktatni, ráadásul az analóg bemenet elég zaj és egyéb zavar érzékeny, és nem is biztos, hogy elég lenne a felbontása a pontos méréshez.
-
válasz
tonermagus #15512 üzenetére
Aki csak C kódot látott életében, sikítva fogja bezárni az assembly fájlt, még ha vissza is fejti, ebben biztos lehetsz.
-
válasz
tonermagus #15508 üzenetére
Ehhez gondolom még mindig kell az FTDI...Vagy valamilyen módon serial kapcsolatot kell indítanom a vezérlő irányába.
Minek kellene, ha a board-on rajta van gyárilag?
Beledugsz egy usb kábelt és kész.
Egyébként ez a .hex fájl mennyire védett, mennyire nehéz visszafejteni az olvasható kódot belőle?
Az eredeti C++ kódot sehogysem tudod belőle visszaállítani, ha erre gondolsz, de ahogy írtam, assembly-t viszonylag egyszerű csinálni belőle, nincs rajta semmilyen "védelem".
-
válasz
tonermagus #15506 üzenetére
FTDI vagy ISP, de csak ha nincs rajta a lapon gyárilag. Egyébként ha AVR-ről van szó, fentebb írtam, hogy parancssorból az avrdude-dal lehet kódot feltölteni, csinálsz hozzá egy .bat fájlt, összezipeled, és elküldöd.
És nem árt, ha drivert is mellékelsz, hátha nem teszi fel automatikusan. -
válasz
gyapo11 #15471 üzenetére
Ez csak kis fogyasztású eszközöknél működik, a kondi, ami a külső eszköz tápellátását biztosítja, a tápvezetékről egy ellenálláson (vagy diódán) keresztül töltődik, és az adatot a tápfeszültség szaggatásával lehet átvinni. Olyan szenzoroknál működik, amit egy GPIO lábról is el lehet látni árammal (<20mA). Ha jól tudom.
-
válasz
Janos250 #15468 üzenetére
Én azt mondom, hogy tervezd át: tegyél a FET elé egy meghajtó fokozatot, mert ha ennyire a gyártási szórásra építve tervezel egy áramkört, annak rossz vége is lehet. Például ha egyszer javításra kerül a sor, és nem te javítod, hanem Gipsz Jakab, aki a típusszám alapján vesz egy FET-et és kifog egy "hamisítvány"-t, annak rossz vége is lehet.
-
-
Hát lehet nem jól emlékszem, volt már vagy 4 éve, akkoriban kezdtem arduino-zni, volt egy robotika kiállítás, és ott volt egy ilyen robotépítő klub, tőlük loptam sok ötletet.
Úgy emlékszem 2db AA volt a táp, de lehet, hogy 3db, lényeg hogy nem volt konverter, rá is kérdeztem. Akkor kezdtem vizsgálni, hogy meddig lehet lemenni a táppal. 3db friss AA 3x1.6=4.8V, mire lemerül, 3-3.3V körül van a feszültség, lehet ez maradt meg a fejemben.
-
válasz
Tankblock #15451 üzenetére
Igen, azt tudom, de nekem a gyári 16MHz-es kiépítésben is elment.
Persze nyilván kritikus feladatokat nem bíznék így rá, de vonalkövetésre és más hasonló komoly feladatokra így is lehet használni.
És a hobbisták is gyári UNO lapokat üzemeltettek 2db AA elemről. Vagy 3db-ról? Hmm... 🤔 Talán rosszul emlékszem. Mindegy, végülis az is 5V alatti tápfesz, lemerült elemmel pedig 3V közelébe kerül.
De az Attiny-k kisebb órajellel határozottan elmennek egész alacsony tápfeszről, ez biztos. -
Elemről beszéltem eddig, CR2032 lítium gombelemről, ami pl. a számítógépekben az alaplapokon is sok-sok évig tartja a feszültségét. Ezért szeretik mindenféle processzoros dologban használni, mert kiszámítható, nem kell hozzá boost konverter, mint mondjuk az 1db ceruzaelemről működő dolgokhoz.
-
Ha az Attiny12-re gondolsz, a lítium elem, amíg nincs túlzottan kimerülve, egészen jól tartja az üresjárati feszültségét 3V körül. Maga a chip nem sokat fogyaszt, le van véve az órajel 1,2MHz-re, fogyasztónak pedig csak 3 színes LED és egy piezo csipogó van rákötve. Az "akció" (villogás/csipogás) idejére pedig az elem meg van támogatva egy 100uF kondenzátorral, ami segít, amikor már az elem belső ellenállása megnő. A tesztek alapján 2,7V körülre merült elemmel még elmegy, aztán is inkább a kék LED lesz a szűk keresztmetszet, mert az Attiny még vígan fut, amikor a kék LED már nem kapja meg a nyitófeszültséget.
De a piros meg a zöld még egy darabig működik.
Az adatlap szerint az ATtiny12V-1 tápfeszültség tartománya 1.8 - 5.5V!
"Operating Voltages
– 1.8 - 5.5V for ATtiny12V-1
– 2.7 - 5.5V for ATtiny11L-2 and ATtiny12L-4
– 4.0 - 5.5V for ATtiny11-6 and ATtiny12-8"Nekem nem tudom melyik típus van, mert Attiny85 helyett kaptam egyszer tévedésből (?), a tokozáson Attiny85 felirat van.
Kiegészítés: megnéztem az ATmega328P adatlapját:
"Operating voltage:
2.7V to 5.5V for ATmega328P
"Ez alapján kell is mennie 3V-ról.
-
válasz
Janos250 #15445 üzenetére
Nemrég csináltam egy játékot Attiny12-ből, aminek van ugyan low voltage verziója is, de én a sima verziót egy db. 3V-os CR2032 gombelemről hajtom meg, ráadásul egy schottky diódán keresztül, polaritásvédelem okán.
Amúgy az UNO 3V-os meghajtása nem ördögtől való, hobbistáknál láttam, hogy 2db AA elemről hajtják az UNO alapú robotjaikat, konverter nélkül. -
válasz
tonermagus #15428 üzenetére
Nem egészen, ez pont arra nem jó, ami az alap felvetés volt, t.i. a rövidebb úton forduljon a cél felé.
-
válasz
tonermagus #15422 üzenetére
1. neem, ez csak egy pszeudo-kód, csak a logika miatt írtam, de amúgy ha az ékezeteket kiveszed, szintaktikailag helyes. De ez csak az irányt adja neked vissza, a fokot nem.
-
válasz
tonermagus #15420 üzenetére
Szívesen! A PID-be ásd bele magad, mert a robot vezérléséhez egyébként is jól jöhet. Van hozzá arduino library is, bár én még nem használtam.
-
válasz
tonermagus #15418 üzenetére
cél - saját_irány: a különbség -359 - +359 közt
+360: az eredmény 1 - 718 közé kerül
% 360: modulus, az eredmény és 360 osztási maradéka -> az eredmény garantáltan 0 - 359 között lesz
? : feltételes operátor: az if-then-else szerkezet rövidített formája.Valahogy lehet skalazni is?
Lehet, te a PID szabályozást keresed, ha még nem ismered, ismerkedj meg vele! Videók: [link], [link]
-
válasz
tonermagus #15415 üzenetére
Jónak tűnik a logika, azzal a kiegészítéssel, hogy a második esetben (amikor az irány >180°) a fordulás iránya is megfordul.
Ennél van egyszerűbb megoldás, pl:fordulás_iránya=((cél - saját_irány + 360) % 360)>180?balra:jobbra
-
Vótmá'?
Új Arduino lapka: Nano RP2040 Connect
Komoly cucc, wifi, mikrofon és IMU is van rajta. Meg az ára is elég komoly. -
válasz
tonermagus #15381 üzenetére
Csak azt tudom mondani, hogy attól, hogy csak két tengelyt használsz, még mind a hármat kalibrálni kellene, mert számoláskor lehet, hogy a nem kalibrált harmadik tengelyt is használja és az félreviszi az egészet.
Úgy próbálnám, ahogy a telefonok iránytűjét szokás kalibrálni: nagy fektetett 8-as alakot leírni vele a levegőben.
-
válasz
Janos250 #15364 üzenetére
Az a baj, hogy blokkon kívül nem lehet kódot végrehajtani, pl. példányosítani.
Eddig ezt úgy csináltam, hogy összegyűjtöttem őket egy
void init(){} -be,
és azt a setupban meghívtam.
Hát nem lehet azt az init függvényt a könyvtár részévé tenni? Nem igazán látom a problémát.A másik megoldás, ha az arduino ide "gyári" main() függvényét módosítod, és beleteszed az init függvényt.
-
válasz
valkesz93 #15329 üzenetére
A napelemekhez nem értek egyáltalán, de a linkelt modulok stepdown modulok, 12,6V töltő feszültséghez legalább 14,2V feszültséget igényelnek. Azt írtad, hogy 12V a napelem, tehát elvileg arról nem fog beindulni a töltés, kivéve, ha a 12V csak névleges feszültség, és képes 14V leadására. Ellenkező esetben stepup konverterre is szükség lehet.
Arra figyelj, hogy mivel állandó töltés alatt lesznek a cellák, érdemes a töltő feszültséget a 12,6V alá belőni, pl. 12,3 vagy akár 12V-ra, a lítium cellák élettartama meg fog tőle hosszabbodni.
A BMS szerintem nem fog zavart okozni. -
válasz
vegyszer #15320 üzenetére
Nem arról volt szó, hogy ezek az ESP-k 5V kompatibilis IO jeleket kezelnek?
Nem az ESP-k, csak az ESP8266, hivatalosan a gyártó által megerősítve. Az ESP32 kimenetei már nem 5V toleránsak. Az ESP8266 kimeneteit snapback áramkör védi, azt hiszem 6V-ig bírja, az ESP32 egyszerű dióda, kb. 3.8V fölött megsül rajta a flash chip.
Akkor ezt vajon miért tette???
Azért, mert valószínűleg megszólták miatta.
Mondjuk
egy sorozatgyártásba kerülő eszköz tervezésénél nem illik erre a toleranciára építeni. Egy házi barkács eszköznél simán elmegy, azért javasoltam, könnyítésként.
Ha mindenképp szeretnél szintillesztést, egy egyszerű feszültségosztó is megteszi.
A második verzió nem véletlenül ESP32 kompatibilis verzió? -
Mit is fog ez pontosan csinálni?
A bekötés jónak tűnik, csak a logikát meg kell majd fordítani a programban, a 9V elem magas jelszintje az optón keresztül alacsonyra húzza a D5 lábat és viszont.
Még annyit, hogy a most 5V és D5 között lévő felhúzó ellenállást inkább a 3.3V-ra kösd, mivel a lap 3.3V-os, és itt gond nélkül megoldható a szintillesztés az opto-val. -
válasz
vargalex #15307 üzenetére
Azt írtad, hogy feltöltötted a kódot és nálad létrejön az AP, ezek szerint lehet, hogy nála valamelyik könyvtár nem stimmel. 🤔
Felmerül a kérdés, hogy Te régebbi könyvtárakat használsz, esetleg régebbi IDE-t, vagy mindent frissítve. Láttam már olyat, hogy egy régebbi kód csak régebbi IDE-ben, vagy egy library régebbi verziójával fordult csak le. -
válasz
vegyszer #15283 üzenetére
A Vin lesz az 5V, a képen nem látok Vusb-t, de ha nálad úgy van, akkor az lesz.
A lábak szabványos 0.1" távolságra vannak, ami kompatibilis a breadboardokkal, próbanyákokkal is. Esetleg egy ilyenre fel tudod forrasztani direktben is, vagy veszel hozzá tüskesor aljzatot, és abba tenni, hogy javítható legyen. -
válasz
vegyszer #15263 üzenetére
Szia! Üdv itt. 👍
Alig találtam meg a kérdést a hosszú szövegben."Egyáltalán jól értem, hogy az a kód, ami egy únón elfut, egy ilyen ESP32 vagy hasonlón is elmegy egy minimális fordítási beállítás után?"
Igen, az UNO-ra megírt kódok jellemzően változtatás nélkül fordíthatóak a többi lapra. A legtöbb általános arduino kód elfut az összes arduino-ba illesztett lapon, ha valami mégsem, az valamilyen alacsony szintű módon megírt, vagy hardver-specifikus kód, pl. megszakítás vagy flash tároló használat.
Ha wifit szeretnél használni, akkor a nano board-ról lebeszélnélek, mert úgyis kell hozzá egy esp, de akkor már a programot is érdemes azon futtatni.
Ha az encoderek jele 5V-os, akkor ESP8266 lesz a te embered, mert ugyan a lap maga 3,3V-os, de az ESP32-vel ellentétben a kimenetei 5V toleránsak, így szintillesztés nélkül rá tudod kötni az encodereket.
-
A hiba le van írva:
Többszörös könyvtárak találhatók ehhez: "Joystick.h"
Használt: C:\Users\abrah\OneDrive\Dokumentumok\Arduino\libraries\AxisJoystick
Nem használt: C:\Users\abrah\OneDrive\Dokumentumok\Arduino\libraries\arduino_359517Az egyik könyvtárat szedd ki, csak a jó maradjon.
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 13 256GB Kártyafüggetlen, 1Év Garanciával
- BESZÁMÍTÁS! Asus M5A99FX PRO R2.0 990FX chipset alaplap garanciával hibátlan működéssel
- AKCIÓ! Google Pixel 9 Pro 5G 128GB 16GB mobiltelefon garanciával hibátlan működéssel
- Bomba ár! HP ProBook 450 G7 - i5-10GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest