-
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
-
.DLL
veterán
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
lassanfinoman á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 byNé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.[ Szerkesztve ]
(P.H.)
-
.DLL
veterán
Óh, nagyon köszönöm, ez hasznos volt, és jobb kedvem is lett!
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 ]
(P.H.)
-
.DLL
veterán
válasz DrojDtroll #32 üzenetére
Saját webshopjukból is megrendelheted, az tuti eredeti, illetve a Distributors menüpont alatt van Magyarországra vonatkozó viszonteladó is.
(P.H.)
-
.DLL
veterán
válasz DrojDtroll #41 üzenetére
Nem használnak.
Esetleg van, ami használja (pl. androidos kontroller) de nem jellemző pont a zavarvédettség miatt.(P.H.)
-
.DLL
veterán
Sziasztok!
Vaku vezérlő- és kioldó szettet szeretnék készíteni, és ehhez a Micro:Bit-re gondoltam, mivel:
- van beépített rádió
- nem ismerek egy program nyelvet sem, viszont a block szerkesztővel könnyen boldogulok, összedobtam már a vevő egység programjának prototípusát.Viszont nem hagyott nyugodni a gondolat, hogy elég gyors lesz-e, és utána olvasva azt találtam, hogy a polling rate 6ms... [Link]
"The scheduler uses a timer built into the micro:bit hardware to interrupt execution every 6 milliseconds and poll the inputs, which is more than fast enough to catch the quickest press of a button."Ez egy gyereknek lehet hogy elég gyors, de vaku szinkronizálásban borzasztó sok idő.
A példában szerepel a Forever loop, ami mindig csinál valamit, pl. frissíti a led-eket, és amíg anak egy ciklusa fut, addig csak Poll-ol, és ütemez későbbre.Namost az én programomban nincs forever loop, mert nem kell folyamatosan csinálnia semmit, csak külső vezérlésre, az lefut, utána úgy áll.
A kérdésem az lenne, hogy ha nem fut éppen semmilyen user által írt feladat, akkor is megmarad a 6ms polling rate, vagy akkor folyamatosan polling-ol?Ha az előbbi, akkor lehet-e ezen változtatni vagy "interrupt" módot beállítani valahogy az Editor-ban, hogy ha valami megszakítást kér (pl. rádió parancs érkezik) azt azzonnal lefuttassa?
Előre is köszi a segítséget.
[ Szerkesztve ]
(P.H.)
-
.DLL
veterán
"nemcsak lassú, de igen drága is" Hallgatok rád...
Szóval az applikáció: 5db LED-es stúdió lámpa fej (DIY) vezérlése egy kézből, egy központi egységről.
Az alábbi, nagyon idealizált illusztrációt dobtam össze, netes képekből:
Két módot kell tudniuk:
1. folyamatos fény, 0-100% (videós projektekhez)2.) Vaku mód: a beállított erősséggel villan exponáláskor, különben pedig csak az ún. "beállítófénnyel" világít, ami jóval kisebb intenzitású, nem égeti ki a modell szemét, kevesebbet fogyaszt, kíméli a LED-et, stb. A beállítófény a villanási erősséghez kötött, beállított %-kal (pl annak 40%-a) Ezen kívül terveztem egy "duration" azaz villanási idő paramétert is egyes témák "megfagyasztásához" akár 1/1000s, 1/2000s rövidségű villanás is kellhet.
Ezt a MicroBit-en egy küldött stringgel akartam megoldani, ami tartalmazta a lámpafej azonosítóját, a villanás, az állandó fény értékét (0-1023) és egy "duration" értéket, ezekből az azonosítónak megfelelő lámpa kihalássza az értékeket és beállítja az adott változókba, kb. ennyi. Ezen kívül ha a packet nem stringet, hanem egy számot tartalmaz (1) akkor azonnal a Flash azaz villanás érték kerül a kimenetre. Bocsánat, hogy itt végig a fenti screenshotra hivatkozom, azáltal talán jobban megérthető amit itt leírni próbálok. A villanás triggerelését a fényképezőgép küldi ki a vaku csatlakotón.
Lehet hogy ennek a triggerelését nem is a mikrokontrolleren keresztül kéne megoldani, hanem egy jóval egyszerűbb csatornán külön? A uC meg csupán a beállításokért felelne?
[ Szerkesztve ]
(P.H.)
-
.DLL
veterán
válasz gyapo11 #7569 üzenetére
"a stúdióvakuk 300-500 Ws-osak, egy 100 W-os lednek 3-5 s kell ehhez. Ha meg növeled az expo időt és a ledek világítási idejét, akkor bemozdulhat a modell."
Ez mondjuk teljesen jogos, ráadásul a 100W csak a felvett teljesítmény.... Ez esetben mondjuk egy 1/1000 rövidségű villanásnak kb. semmi értelme, így a villanási idő paraméter -> kuka.
Lehet hogy meg kéne fordulni a lovon, és azt mondani, hogy ne a fényképezőgép süsse el a rendszert, hanem fordítva: a vezérlő felnyomja a LED-eket, mondjuk 1 másodpercre, közben elsüti a fényképezőgépet (van erre is csatlakozó) ez bőven belefér 1s-be, majd visszaáll modellfényre?
Köszönöm mindenkinek az eddigi válaszokat!
[ Szerkesztve ]
(P.H.)
-
.DLL
veterán
válasz gyapo11 #7581 üzenetére
Köszönöm a tippeket! Az infrás kioldás is jó ötlet! Most már mindenképp különválasztva fog történni a kioldás és a beállítások átvitele, így tényleg nem kritikus a mikrovezérlő sebessége, sőt ez szerintem a megbízhatóságra is dob.
Akkor elkezdek ismerkedni az arduino-val is.
(P.H.)
-
.DLL
veterán
Sziasztok!
Megjött Kínából a 900 Ft-os NRF51 modul, és egy kis átalakítással Drag&Drop programotható egy BBC Micro:Bit (# Microbit, Micro-bit, Micro bit) segítségével!
[video]
(Egy kis teszt progi ami gombnyomásra rádión (Nordic Gazell protocol) küld egy OK-t a vevő oldal pedig erre hármat villant.)A lényeg, ha Microbit-szerkesztőben írt programokat szeretnénk használni a kis modulon, akkor a második kvarcot el kell távolítani, mert az a 'Button B' bemenetre csatlakozik, ezen kívül az Accelerometer és a Magnetometer helyén üresen maradt interrupt bemeneteket a biztonság kedvéért lezártam 1-1 ellenállással, de nyilván ezeket a funkciókat ne is hívjuk meg.
Az eredeti Microbit-en az SWD port ki van vezetve két teszt pontra, ebből az SWDIO-ra menő vezeréket (nrf51822 chip 23-as lábához) meg kell szakítani, ezek után összeköthető a cél modul SWD pontjaival, és az interfész chip simán ráírja a bedobott hex fájlt.
Igazából csak érdekességként akartam ezt megosztani, tudom egy ESP32 sokkal menőbb, de talán valakinek ez is jól jöhet. (nekem, pl. bőven elég és egyszerűbb :D )
Egyébként van leírás a neten, hogy hogyan lehet ezt a modult Raspberry Pi segítségével programozni, ha valakinek már az adott, akkor ez is hasznos leírás.[ Szerkesztve ]
(P.H.)
-
.DLL
veterán
válasz Janos250 #7812 üzenetére
A lényeg annyi volt, hogy az NRF51 SWD-n keresztül flash-elhető (elsőre felületesen néztem utána, és azt hittem elég egy USB-Serial átalakító, de üresen azzal nem tud mit kezdeni) úgyhogy a MicroBit-ről ezt az SWD vonalat vezettem át a kis modulra. Sajnos ehhez a MicroBit-en található NRF51 SWDIO vonalát meg kellett szakítani, különben könfliktusba kerül a két chip. Jó szem kell hozzá, de egy forrasztással úja összeköthető a vonal.
Ma kértem kölcsön egy Raspberry Pi-t is, meglátjuk azzal is tudok-e rá írni a fenti leírás szerint, és akkor nem kell a nyák megszakítással szórakozni, de elvileg bármilyen SWD kompatibilis flasher használható hozzá, csak azok is többezer Ft-ba kerülnek, úgyhogy ennyi erővel a MicroBit még némi pluszt is ad (pl. szenzorok), amellett, hogy SWD flasher is lehet belőle.
[ Szerkesztve ]
(P.H.)
-
.DLL
veterán
válasz Janos250 #7814 üzenetére
Programozható sokféle nyelven, köztük microPython is, én a lego-szerű Micro:Bit Block Bditort használom, mert kezdő vagyok, és itt a szintaktikára nem kell figyelni csak a programra. Az editor utána egy hex fájlt ad ki, amit fel lehet tölteni az NRF51-re. De van hozzá Arduino Core is, így aki azt használja, a megszokott IDE-ben írhatja a programokat erre is. Itt van elég sok videó erről a modulról.
[ Szerkesztve ]
(P.H.)