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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [Adrian Mole:] Friss konfig, Win 11, gyere rám
- [Re:] Kempingezés és sátrazás
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [HThomas:] Kia Ceed SW JD vs CD tapasztalatok
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [bitpork:] Fogyasztásra ítélve
- [Re:] PLEX: multimédia az egész lakásban
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [FireFox1996:] 2024 tavaszi fórum peca
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Útvonal
Fórumok » Egyéb hardverek » Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)Téma összefoglaló
Hozzászólások
Janos250
őstag
Az általam felsorolt procik/lapok Arduino frame-el is mennek. Nem profinak szerintem jobb az Arduino. Ahhoz a halom szenzorhoz/lapkára épített szenzorhoz, amit ebay-en OLCSÓN árulnak, természetesen bármelyik rendszer alatt lehet programot írni, de Arduino alatti programok a neten készen vannak, csak alkalmazni kell az objektumokat. Más kérdés, hogy én is most írtam egy sajátot a neten lévő egyik helyett.
De pl. WiFi WEB szerverként nem nagyon van ennél egyszerűbb, 1000 Ft árú megoldást, mint az Arduino ESP8266:
void setup(void)
{
WiFi.mode(WIFI_AP);
WiFi.softAP("neve","jelszava");
server.begin();
server.on("/", handle_index);
}
void loop(void)
{
server.handleClient();
}
Persze a handle_index függvénybe bele tenni kell azt a HTML kódot, amit küldeni akarunk, és ha mobiltelefonról akarunk valamit vezérelni, akkor pofonegyszerűen le tudjuk kérdezni a GET paraméterét és - mondjuk - bekapcsolni valamit.
Egyes Arduino alkalmazásoknál, ha több szálon futtatsz programokat, a delay KELL (!) , mert ott ugrik át a másik szálra, nincs igazi time sharing jelenleg.
Természetesen perifériát nem pollozással, hanem interrupttal kezelünk, de kezdőnek először az alapokat kell megtanulni! Utána jöhet az interrupt.
Szóval, nem profiknak messzemenően ajánlom a pár óra alatt megtanulható Arduino rendszert.
Profik természetesen komolyabb rendszerrel dolgozzanak.
Én nem gyártok ipari alkalmazásokat. [Tudod, aki tudja csinálja, aki nem.... :-) ]
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
tvamos
nagyúr
Tanar vagy?
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Janos250
őstag
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
tvamos
nagyúr
Ezt a szmájlit nem értem.
Természetesen perifériát nem pollozással, hanem interrupttal kezelünk,
Pedig nem bűntény az, én szoktam is. A prellmentesítés nem mindig egyszerű.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Janos250
őstag
"Ezt a szmájlit nem értem"
Mondhatnám, szégyenlem, de ez van :-)
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
tvamos
nagyúr
Én meg mérnök vagyok, tanároktól tanultam a szakmát. Én is szégyellem?
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Teasüti
nagyúr
Bluetooth modulból jó a HC-06? Android-dal szeretném összehozni, kéne vmi Tasker beépülő is. Tud jól bevált alkalmazást vki? Úgy nézem keresőben ez némi kutatómunkát igényelne; hátha van vkinek rá válasza.
Köszönöm!
Más: az AREF az összes bemenet jelszintjét megváltoztatja, vagy ez programozható?
Analóg accelero miatt kérdem, ami 3,3V-os jelet ad. Ezen kívül viszont nem kéne a 3,3 a többi porton.
[ Szerkesztve ]
tvamos
nagyúr
Csak az analog mereshatart valtoztatja, a bemenetre ugyanugy mehet tapig.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
DrojDtroll
addikt
a bemenetre ugyanugy mehet tapig
ezt nem teljesen értem, elmagyaráznád?
Teasüti
nagyúr
5V. Gondolom.
DrojDtroll
addikt
Igen, de a táp a tápcsatin keresztül lehet több is ezért nem értem.
[ Szerkesztve ]
tvamos
nagyúr
5V-nal ne nagyon legyen tobb!
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
DrojDtroll
addikt
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Akkor ez mi akar lenni?
12V-ról ne is akarjam üzemeltetni az uno-mat?
lmaresz
aktív tag
"Ezzel szemben az Arduino nyílt rendszer, rengeteg programot találsz rá ingyen, de bizony elég gyakran meg kell nézni a forráskódot, hogy biztonságosan használd."
Megkérdezhetem, hogy milyen biztonságot értettél ez alatt? Milyen problémák lehetnek vele?
DrojDtroll
addikt
Sok ember írhat kódot hozzá. Lehet, hogy aki írta az adott kódot nem nagyon ért hozzá és ezért van benne valamilyen komoly hiba.
Szerintem ezt.
tvamos
nagyúr
Az a tapfeszultsege az Unonak. Van rajta feszultseg stabilizator.
A MCU 5V-on jar. (Vagy lehet kevesebb is, pl 3.3.)
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
DrojDtroll
addikt
Én is a tápfeszültségről beszéltem. Ezért nem értettem miért is nem lehetne 5v-nál több.
lmaresz
aktív tag
Akkor ha jól értem nem olyan biztonsági "résről" van szó ami esetleg vírusként viselkedne.
DrojDtroll
addikt
Szerintem nem olyanról, hanem hogy lehet rossz a kód és emiatt nem biztonságos.
3D nyomtatással kapcsolatban gyakran látok az internetről letöltött modelleket. Azokban is sok a hiba, amitől a 3D nyomtató szoftvere meghülyül.
tvamos
nagyúr
Nem látom már át, hova mit akarsz kötni, de persze a táp az annyi, amennyit irsz. (Az más kérdés, hogy ha jól értem, te bemenetnek hívod a Vin-t, ami félre érthető.)
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
DrojDtroll
addikt
(#2808) tvamos válasza Teasüti (#2807)
Csak az analog mereshatart valtoztatja, a bemenetre ugyanugy mehet tapig.
Itt zavart meg az, hogy a bemenetre mehet a tápfeszültség szintjéig.
tvamos
nagyúr
Oké. Természetesen az MCU tápjáig.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
DrojDtroll
addikt
Így már teljesen más.
Teasüti
nagyúr
Basszus, egész délelőtt a Nulsom Neopixel stick-et próbáltam életre kelteni, de a saját library-jét nem tudom letölteni (hibás zip), az Adafruit library példájában az összes függvényre undeclared identifier-t ír az Android IDE.
Próbáltam egy alternatív WS2812B library-t, de azzal se kelt életre.
Meg tudná nézni vki a Nulsom library-t, hogy hibás-e?
[ Szerkesztve ]
fpeter84
senior tag
Az "Android IDE" elírás vagy tényleg a droidossal próbálod fordítani? Nekem első pöccre fordul Uno-ra mindenféle állítgatás nélkül linuxos 1.6.6 IDE-vel (ebből a lib-ből a simple példa)
A Nulsom-ot nem sikerült beazonosítanom - linkeljed plz hogy miről van szó
fpeter84
senior tag
Kipróbáltam, és az ArduinoDroid-on is ugyanúgy sikeres a fordítás - azt a döccenőt leszámítva, hogy az alap "Adafruit_NeoPixel-master" lib könyvtár elnevezésben nem tolerálta az "_" -t - kis FAQ turkálás után jöttem rá hogy ezért nem találja először a Adafruit_NeoPixel.h -t annak ellenére hogy a sketch-et megtalálta - de miután átneveztem a lib könyvtárat simán NeoPixel-re, pöccre fordította is ugyanúgy...
Teasüti
nagyúr
Erről volna szó.
Adafruit nem volt Prime szállítással...
Janos250
őstag
A forráskódot azért szoktam megnézni, mert a mintapéldákban nem mindig szerepel az osztálynak minden függvénye. Az se mindig egyértelmű a mintapéldákból, hogy pontosan mit is csinál. A biztonságos használat alatt azt értettem, hogy biztosan azt csinálja, amit gondolsz.
Ehhez legjobb, ha megnézzük a forráskódot.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
Janos250
őstag
Azt hiszem, félreérthetően fogalmaztam. A biztonságos használat alatt azt értettem, hogy azt csinálja, amire gondolsz. A PC világban előforduló biztonsági problémákkal még nem találkoztam, de jelenleg nem is nagyon tudom elképzelni.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
Teasüti
nagyúr
Na, masodik nekifutasra az Adafruit library eletre keltette. Megvolt a Hello World.
Szereztem gyorsan egz laptopot, a windows-os IDE gond nelkul leforditotta.
Probaltam konytar atnevezest is, a readme is irta mi kell neki.
De ugy se ment.
Neztem a forraskodot, es meglepett, hogz assembly-ben van minden.
Ez az optimalizacio miatt kell, vagy magas nyelven eleve mukodeskeptelen lenne ez a szuk idozites?
Lehetseges egyaltalan mikroszekundumra kesleltetni C++ alatt?
Assembly-t en biztos nem fogom tudni elsajatitani, viszont erdekelne a library-bol az a ket alapveto fuggveny, ami a ledeket frissiti. Semmi mas, csak ami megcimezi az egyiket, vagy az osszeset egyszerre.
Az effektezest magam keszitenem el, viszont ez a library lefoglalja a memoriat foloslegesen.
Meg keresgelek kicsit, hatha vannak alternativ WS2812 library-k is, az a minimalista verzio talan most mukodni fog.
Koszonom a tamogatast!
[ Szerkesztve ]
lmaresz
aktív tag
Értem köszi, most már egyértelmű. Ez természetes, hogy lehetőség szerint tudja az ember, hogy mit csinál a programkódja.
[ Szerkesztve ]
DrojDtroll
addikt
Jól sejtem, hogy az Unoval nem lehetséges kettőnél több megszakítás kezelése?
Gergosz2
veterán
DrojDtroll
addikt
Ha kritikus tényező a gyorsaság akkor nem lesz a barátom ez a pinchangeinterrupt
Gergosz2
veterán
De. Nem tudom pontosan hogy hogy , lehet, hogy az egyik példaprogiban van teszt, hogy milyen gyors. Nem sokkal marad el a hw-től, majdnem, hogy egyenlő a kettő.
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
DrojDtroll
addikt
Nagyszerű.
Rotary enkóderhez kell, hogy nehogy kimaradjon egy kicsi is a fordulásból. Emberi kéz fog forgatni egy enkódert(1000 impulzus, 3 kivezetés), és fontos, hogy a motor is ugyan annyit forduljon amit vezérel.
Teasüti
nagyúr
[ Szerkesztve ]
DrojDtroll
addikt
Köszi, majd átrágom magam rajta.
tvamos
nagyúr
Ha megcsinalod magadnak, akkor az UNO-n el tudsz kezelgetni 3 inkrementalis jeladot, egy megszakitason.
Ezt nezd meg: [link]
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
DrojDtroll
addikt
Ha megcsinalod magadnak, akkor az UNO-n el tudsz kezelgetni 3 inkrementalis jeladot, egy megszakitason.
Ezt nem teljesen értem. Elmagyaráznád
tvamos
nagyúr
Azt keresd az ATMega datasheet-jeben, hogy PCINT, es akkor latni fogod, hogy az osszes "analog" csatornan tud interruptot kezelni a processzor, csak az arduinosok AIN-nek neveztek azt a 6 pin-t.
Amugy nem kell assembly-t irni, csak rohadt korulmenyes ez az Arduino framework, ha nem azt csinalod, ami mar amugy benne van gyarilag. Nem lehetetlen, csak utalatos, mert nincs rendes debug.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Gergosz2
veterán
PinChangeInt , amit feljebb linkeltem, pont ezt használja ki.
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
DrojDtroll
addikt
Szuper.
Teasüti
nagyúr
Serial monitorban a kimenet tele van hibával. Ez normális?
Println(byte + " " + byte + " " + byte) a parancs, persze széttagolva, mert így összeadva nem ismerte fel.
De a monitorban meg ilyeneket látok:
255 0 0
255 0 0,#55 0 0
255 0 0
És így tovább...
De nem néhány hibával, hanem elég sűrűn hibázik.
A gyári usb kábelt használom, talán azt kéne kukázni?
Gyorsabb átvitelnél (kisebb delay vagy anélkül) meg az első pár adatcsomag teljesen kuka, és csak egy tucat sor után kezd értelmes adatot küldeni...
Selejtes az Uno-m?
Szerk: a delay a ledek frissítése után van, azzal állítom be az fps-t.
Talán kéne egy delay a küldés után is? Így hirtelen nem emlékszem a könyvre.
[ Szerkesztve ]
Gergosz2
veterán
?? vagy van valahol egy hibád a progiban, vagy arra tudok még gondolni, hogy túl sokszor írogatsz soros portra és az okozhat gebaszt.
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Teasüti
nagyúr
~200 fps volt eddig a max, ilyen frekvenciával küld adatot.
Az fura még nekem, hogy a byte-ot egyetlen karakterként küldi, szóval hogy lesz a 255-ből ,#55 ??
Azon mit lehet elhibázni, hogy Serial.print(byte)?
[ Szerkesztve ]
krisztianAMG
senior tag
Sziasztok,
Olyan automata mérőállomást szeretnék létrehozni, ami VA karakterisztikát tud mérni nagyjából 20V-ig. Sok időm még nem volt utánanézni, de annyit találtam, hogy 5V-ig ez különösebb probléma nélkül megoldható. Ezt az 5V-ot kellene 20-25V-ig feltornázni valahogy. Esetleg valami PWM modulos megoldással szóba jöhetne? 100mA a kimeneten már elég lenne.
Kvázi egy programozható labortápra lenne szükségem. (OLED minták degradációját akarjuk figyelni vele.)
fpeter84
senior tag
Próbáld ki egy tetszőleges hello world alap programmal - a LEDsor nélkül - hogy úgy is hibázik e. Első tippre túl sok áramot vesz fel, megrángatja az UNO tápfeszültségét és ugyan még ki nem resetel tőle de a soros kimenet már instabil lesz.
fpeter84
senior tag
Szabályozható áramkorlátos mért táp kellene, vagy elég ha egy fix soros ellenállással van a LED árama korlátozva?
Ha elég az utóbbi, akkor itt az INA219 (ugyanez eu raktárból [link]) amivel pont 0-26V közötti feszt lehet mérni akár plussz akár minusz - akkütöltés és terhelés figyelésére is jó pl - a rajta lévő 0.1R sönttel 3.2A a méréshatára szűk 1mA felbontással, de ha lecseréled pl 1R-re akkor 0.32A méréshatár mellett már kevesebb mint 0.1mA felbontással. Van hozzá kész arduino library is, de a linux kernel is támogatja, van hozzá kernel modul akár openwrt-hez, de raspberry-vel is használható stb stb...
krisztianAMG
senior tag
Ez tökéletes! Egyelőre megteszi az ellenállás is áramkorlátnak.
A feszültséget pedig valami PWM-es motor driverrel lenne a legegyszerűbb szabályozni?
Ha már rákérdeztél, egy szabályozható áramkorlátos tápot hogyan lehetne megvalósítani? Jó lenne már egy normál labortápot is összerakni.