Mikrokontrollerek Arduino környezetben (programozás, építés, tippek) - Egyéb hardverek fórum

üzenetek

hozzászólások


Sleed
(aktív tag)

Sziasztok, nézegettem a fórumon, de sehol nem találtam Arduino-val (vagy hasonló mikrokontrollerrel) foglalkozó témát (csak a lentebb linkelt blogbejegyzések hozzászólásait, amik viszont egy idő után mind kihaltak), ezért úgy döntöttem, hogy nyitok egyet.

Itt megoszthatnánk egymással az elkészült/készülő/tervezett projektjeinket, segítséget nyújthatnánk egymásnak a megfelelő board kiválasztásától kezdve a programozáson át egészen a megvalósításig.

Hasznos anyagok:

Arduino.cc - Hivatalos honlap
Arduino Kezdőknek - Fizikus írása a hobbirobot.hu-n
softguner blogja - Letesztelt Arduino-s modulok leírásai
bővítsük!

Bemutatók:
Arduino – digitális Lego nagyoknak - DarkByte írása
Ujjgyakorlatok Arduino alapon - ngabor2 írása
Arduino mikrokontroller programozása - balintdavid írása
bővítsük!

Könyvek:
bővítsük!

Sleed

[ Módosította: Karma ]


Sleed
(aktív tag)

Kezdeném a jelenlegi projektemmel:
Az alapkoncepció az volt hogy valamivel motiváljam magam az egészségesebb életmódra, valamint az időm jobb kihasználására.
Azt találtam ki, hogy az interneten található várható életkor kalkulátor eredményét jeleníteném meg egy led mátrixon, napokban számolva. Ez a szám ugye naponta csökkenne, az életmódom változásának megfelelően meg néha újrakalkulálnám. Kiegészíteném majd egy ethernet shielddel is, hogy az adatokat közvetlenül a netről kérje le.
Van valakinek tapasztalata esetleg ezzel?
Ugyan azt tudja mint a rendes shield?


KaiotEch
(nagyúr)
Blog

Nekem tetszik a nyitási ötlet, igaz fél éve tuti a polcon hever az enyém, még semminek sem láttam neki. Ambilight-ot tervezek, csak nem szeretném összeragasztani a monitoromat. :)


JasL
(senior tag)
Blog

Jó ötlet a topik, kedvencnek jelölve :)


bacus
(őstag)

én a rendes shieldet még nem próbáltam, de ilyet már használtam, működik.

Saját függvénykönyvtára van (a linkelt oldalon ott van a letöltése), van minta, használható.


Melorin
(addikt)
Blog

Üdv.
Én jelenleg egy Arduino vezérelte digitális hangerőszabályozón dolgozok.
A digit IC 0-255 tartományban működik, 0-nál teljesen halk, 255-nél max hangerő.
Most távirányítóval szabályozom, ha nyomok egyet a hangerő-fel gombon, akkor hozzáad az aktuális értékhez +1-et. Ha hangerő-le, akkor -1.
Szeretném kibővíteni valahogy egy potenciométerrel, amit az Arduino analog bemenetére kötök. Sikerült már potival egy LED fényerejét PWM-ben szabályozni, ami ugye szintén 0-255 érték. Csak itt az a gond, hogy ha tekerem, ha nem a potit, akkor is beolvassa az értéket a program, így tegyük fel, ha jelenleg a hangerő 192 érték a poti állása miatt, akkor ha a távirányítón növelem ezt az értéket, akkor vissza fog ugrani a hangerő értéke a poti állásához.

Van valami ötletetek, hogyan lehetne csak a poti tekerésekor kiolvastatni az értékét?


doc
(nagyúr)
Blog

eloszor is, az Arduino AD convertere 10 bites ha jol emlekszem, vagyis 0-1023 lesz a tartomany :)

A potinal meg tarold el az aktualis allasat (akar negyedelve, vagyis 0-255 tartomanyra csokkentve) es az aktualis hangerot is. Ha a gombot fel-le nyomod, akkor valtoztatod a hangerot (hozzaadsz/kivonsz egyet), fuggetlenul a poti allasatol. Ha a potit tekered, vagyis az aktualis allasa mas mint az eltarolt, akkor meg annak megfeleloen allitod a hangerot.
Ennek megvan az a hatranya, hogy ha pl. potival feltekered a hangerot, majd a gombokkal leveszed, akkor a potihoz hozzaerve megint felugrik. A 'szep' megoldas ha nem potit hasznalsz hanem vegallas nelkuli tekerot, igy lenyegeben azzal fogsz fel/le leptetni a tekeres iranyatol fuggoen.


Sleed
(aktív tag)

Köszi, megrendelem akkor :)


happy555
(aktív tag)

Hello!

Legjobb lenne rotary encoder-t használnod!
Nekem ez bevált!
Pofon egyszerű két digital pin-t használ. Nyomógomb is egyben (+még egy pin-ért).
/poti amúgy is billeghet, azért is hanyagolom/

[ Szerkesztve ]


JoeYi
(őstag)
Blog

sziasztok

csatlakozok a témához. Én egy napelem alapú projektbe vágtam. A technika lényege az lesz hogy egy napelemet mindig a legerősebb fényforrás felé fordítson a legideálisabb szögbe, ezzel maximalizálva teljesítményt. Gyakorlatilag egy napraforgó.

A projekt szoftveres része 70%-os állapotban van, a hardveres része volt megakadva. Korábban lego-ból álltam neki, de az egyszerűen gyenge ilyen célra, nyeklik/szétesik/törik. Aztán beszereztem egy fém építőjátékot és abból kezdtem építkezni. Most így áll:

Alapvetően jó is lenne, de nem sikerült rendesen megfogatni a léptető motorok tengelyét.
A kérdésem hozzátok: tudtok-e kifejezetten ilyen motorhoz való kiegészítőket, amik pontosan passzolnak, jól megszorulnak a tengelyén?


[link]

Köszi ha van ötletetek.

[ Szerkesztve ]


Sleed
(aktív tag)

szia,

tudom hogy ez nem arra való, de ezt az egyetlen dolgot találtam amit direkt ehhez a motorhoz árulnak. Hátha ebből kiindulva találsz valami mást is, ami hasznos.

Másik ötletem egy kicsit sufni, nem is biztos hogy működik, de megpróbálhatnál valami keményebb, vastagabb (2mm legalább) gumit vagy puhább műanyagot kilyukasztani és azt valahogy ráhúzni hogy nagyon szoruljon rajta, esetleg valami zsugorcsővel még rá is gyógyítani.

üdv.


JoeYi
(őstag)
Blog

köszi a tippeket, még nem tudom mi lesz a megoldás. Fura hogy nem találok milliónyi megoldást, lehet rosszúl keresem


krisztianAMG
(senior tag)

A lap mennyire tolerálja, ha az érzékelőkről a jel pár méternyi vezetéken halad keresztül? Mondjuk ha egy hőméerő modult szeretnék kivezetni az ablakon kívülre, vagy NFC kártya olvasót az ajtóhoz (2-4 méteres távolságokra gondolok).

Egyébként egy újabb taggal gyarapodik a tábor. Ma volt egy kis időm utánaolvasni, és mindenre találtam azonnal megoldást amit szeretnék megoldani. Szóval rendeltem egy megát, meg egy maréknyi érzékelőt kínából. A szemeszter végére remélhetőleg ideér minden, és a szünetben majd lehet szórakozni. :)


JoeYi
(őstag)
Blog

pár méter még nem oszt nem szoroz szerintem. A vezeték ellenállása növekszik a hosszal, meg zajokat vehetne fel, de nem hiszem a hogy a te esetedben ilyesmivel kellene számolni


krisztianAMG
(senior tag)

Majd kiderül, elég sok szórt mágnese tér van a szobámban... Villamosmérnöknek tanulok, érdekel minden, amin áram folyik keresztül.

Vigyünk egy kis életet a topicba:
Ki mit hozott össze össze az áramkörrel/mire használja?

Nálam egyelőre ébresztős rádió, hőmérő, mozgásérzékelős világítás, spektrum analizátor a terv. Inkább csak a tanulás a cél.


KaiotEch
(nagyúr)
Blog

Én ambilight-ra használnám, ha egyszer valahára nekileselkednék :)


JoeYi
(őstag)
Blog

nekem továbbra is a #10-es hsz-ben látható projekt van folyamatban. Alkatrész problémáim vannak jelenleg, illetve a kábelek is nyűgösek két 360 fokban forgó motornál. Szoftver már ok, tökéletesen belövi hol nap :)


.DLL
(veterán)
Blog

Ha mégis potméter lenne a készüléken, a hirtelen ugrás problémája orvosolható némi késleltetéssel, ami a potméterből érkező jelet "elsimítaná", és szép lassan finoman állna be a hangerőt, a betekert értékre. Amúgy sem jellemző, hogy a potmétert rángatnánk, néha feljeb tekerjük, néha kicsit lejjebb, az, hogy az átmenet mondjuk ~1mp alatt megy végbe, még kellemes is lehet szerintem. Ilyenkor a poti megmozdításánál sem fogy a hangerő hirtelen az arcunkba ugrani, van idő lereagálni és lejjebb tekerni. :)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Én is most kezdtem az Arduino-t, de már a kezdő példáknál is felfedezni vélek néhány következetlenséget, vagy legalább is ami számomra nem egyértelmű, hogy egyiknél ez, a másiknál az miért nem ez? Holott elvileg elég szigorú szabályok vannak, valamit nem úgy írsz, akkor kész, nem működik a program.
Pl. deklarálásnál egy vátozó után írt szám néha pinout-ot jelent, néha egy értéket, amivel a változó kezdi az életét.
Fade példából:
int led = 9; // the pin that the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by

Néha használ setup()-ot és ott deklarál, néha nem, és a loop()-ban... néha a #define-t használja pin deklarálásra, néha az int elé teszi, hogy const. aza hogy ne állandó, nem mintha egy pin véletlenül megváltozna (legalábbis egy elég egyszerű példa volt).
Szóval kicsit következetlennek tűnik, hogy mikor mit használnak a példákban, és miért úgy. :B

[ Szerkesztve ]


JoeYi
(őstag)
Blog

a példádban az int led = 9; ugyanúgy változó mint a többi a felsorolásban. Csak olvashatóbb lesz tőle a kód hogy nem azt látod hogy pinMode(9, OUTPUT); hanem hogy pinMode(led, OUTPUT);. Plusz amikor megváltoztatnád hogy melyik lábra van kötve a led akkor elég egy helyen átírnod ezt a változót (mert ugye több helyen is hivatkozhatsz a led-re, míg ha a led helyett minden egyes esetben leírnád hogy 9, akkor szopóroller lenne végigkutatni a kódot)

Az hogy a setupban deklarál vagy a loopban: ugye amit a loopban deklarálsz az minden ciklusban beállítódik a loop elején leírt értékre pl, de amit a setupban deklarálsz az ott beállítódok és ha csak nem írod át az értékét a loopban akkor a futás alatt végig annyi marad. Mondjuk ha a loopban is csak egyszer állítja be és többször nem nyúl hozzá akkor tényleg nem logikus oda rakni (bár nem ástam magam bele de vszinű erőforrás igényesebb)


.DLL
(veterán)
Blog

Óh, nagyon köszönöm, ez hasznos volt, és jobb kedvem is lett! :D

Az én projektem egy brushless bimbal motor finom vezérlése, tehát 3 fázisú PWM meghajtás kell. Lehet, hogy egyszerűbb lenne léptetőmotorral, de az outrunner-ek jobb önsúly/nyomaték aránnyal rendelkeznek, és most számít a súly.

[ Szerkesztve ]

üzenetek