Hirdetés
-
LOGOUT.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
-
fpeter84
senior tag
válasz Teasüti #2899 üzenetére
A byte típusú változót kezelje ezalkalommal úgy mintha int lenne. Ez olyan esetekben praktikus, amikor pl egy egész számot akarsz osztani, és a végeredmény float lenne, pl x = (float)y/z - ekkor az y bár egész, de az x-be szép float fog kerülni, nem kerekítet szétvagdalt eredmény. Mi az, ami csak byte-ot kaphat? Lehet ott is működne ez a trükk csak fordítva: (byte)int - csak azt nem tudom, hogy mi van akkor ha az int változóban nagyobb érték van mint 255? Kékhalál arduino módra?
-
Teasüti
nagyúr
válasz razorbenke92 #2894 üzenetére
Az a gond, hogy a byte az kellene a képletbe, mert nem deklarálhatom másként. Vagy erőforráspazarló módon át kéne másolnom másik változóba? Az egészrésznél nem is kell több. Sőt, az eredmény is elférne egy byte-ban, mert az osztó mindig nagyobb 255-nél.
Amúgy mit jelent, amit írtál?
Ez az (int)byte?Köszi!
-
fpeter84
senior tag
Semmi megvalósíthatatlan nincsen benne, csak arra figyelj hogy csak olyan lábra kösd az RTC és LCD-t amit nem használ az ethernet shield. Utóbbi SPI-s, de van még pár segéd láb is. Az RTC valszeg I2C lesz (bár van belső RTC is a Mega2560-ban, de sajnos az Arduino-ról lespórolták a hozzá szükséges másodlagos kvarcot, helye sincsen a nyákon), és egy karakteres LCD is mehet szintén az I2C-re, ha elég a tudása, nem akarsz grafikusat...
-
hermit
tag
Sziasztok,
egy Arduino mega, ethernet shield, lcd es rtc fizikailag osszekotheto egyszerre?
Az etherneten tartana a kapcsolatot a kulvilaggal, az lcd-n lehetne latni hogy "el", az rtc pedig az idot/datumot orizne, ha eppen nincs ethernet.
Ezen kivul lenne meg 1 bemenete es 4-6 kimenete. -
őstag
-
Teasüti
nagyúr
Uhm, hol a probléma itt???
uint16_t = byte * 255 / int
Hibás eredményt kapok, még a long is átfordul tőle.
Kikisérleteztem, hogy a byte-ot legfeljebb 128-al szorozhatom, különben hibázik. Ebből nekem nem esik le a tantusz, szóval van vkinek vmi tippje?
Köszönöm! -
fpeter84
senior tag
válasz Teasüti #2889 üzenetére
Azért van "6 tengely", mert ez egyszerre gyro + gyorsulásérzékelő. Természetesen ezek a 3 dimenziót írják le, csak a gyorsulásérzékelő a tengelyeivel párhuzamos elmozdulásokat mutatja ki, a gyro pedig a tengelyei menti elfordulás gyorsulását. Ha bekerül a képbe még egy digit iránytű is, akkor emlegetik 9DOF-nak, esetleg vannak még a 10DOF modulok ahol egy légnyomásmérő is van, amivel a tengerszint feletti magasságot lehet megállapítani. Az iránytű azért nem elegendő önmagában, mert elmozdulhat. Amíg tökéltesen vízszintesen nyugalomban van, addig elvileg elég lenne egyetlen, a függőleges tengelyéről leolvasott adat. Viszont ha megmozdítod, akkor tudnod kell hogy merre van a le/fel - erre használják a gyorsulásérzékelőt: a gravitációs lefelé mutató 1g megmondja merre van a lefelé. Viszont ez még szintén nem elég a teljes képhez, tudni kell azt is amikor éppen valamelyik tengelye körül fordul, erre van ugye a gyro. A végén elméletben a 9 nyers adatból ki lehet matekozni egy szöget, égtájat ami maga az iránytű már...
Input Capture: az Uno-n lévő Atmega328-on egyetlen ICP láb van csak, így legfeljebb mux útján lehetne több forrást mérni...
SPI: delay valami van, de azt inkább a szoftveres feldolgozásod fogja okozni, mint a buszrendszer késlekedése
I2C: vannak valamiféle elméleti korlátai, de gyakorlatban akárhány eszközt felfűzhetsz egyetlen drótra. Próbálgattam, és akár a csillagpont közepén lévő uC körül 30m-es UTP kábelek végén is simán tudtam olvasni 4-5 forrást hiba nélkül. Rövidebb vezetékkel max az I2C címek száma és maga az adatátviteli tempó limitál...
LED asztal: tömörítetlen wav-ot játszattam már le PIC PWM-jével SD kártyáról és egészen tűrhetően szólt - nyilván nem zenei minőség, de az emberi beszéd szép tiszta érthető volt, szóval akár ez se tűnik lehetetlennek, de bejövő hang feldolgozásával, elemzésével még sosem foglalkoztam. Elsősorban engem azok a videók fogtak meg, ahol egy kontrollerrel pl tetrist játszottak rajta
-
Teasüti
nagyúr
válasz fpeter84 #2888 üzenetére
MPU 6050-nél én pl abszolút nem értem hogy kéne értelmezni a 6 tengelyes mérés kimenetét 3 darab értékkel, amit ad a DMP. Ha ezt elhelyezem egy koordinátarendszerben, akkor is csak egy vektort kapok 3 dimenzióban.
Amúgy nem értem miért jó a gyártónak a "discouragement policy", hogy nincs rendesen dokumentálva a DMP.
De mindegy is, nekem elég 1D a jármű gyorsulására, lassulására. Ezt váltaná ki az abs jeladó.
Lehetne vacakolni még dőlésszögekkel (motorról lesz szó amúgy), de nem én fogom újrafeltalálni az egykerekezés gátlót, vagy kanyar abs-t.Hardveresen lehet számolni mindkét megszakitót egymástól függetlenül?
SPI-nél akkor elméletileg nincs delay()?
I2C:
több eszköz összedrótozása akkor nem probléma?
Egy SI1145 fényérzékelőt viszont be szeretnék vetni.Az az asztal nagyon beteg!!
A hangot is a mikrokontroller dolgozza fel, vagy stream-elik az adatokat pc-ről?
Szeretnék hangérzékeny effekteket is majd.[ Szerkesztve ]
-
fpeter84
senior tag
válasz Teasüti #2887 üzenetére
Ha az ABS jeladóból jövő frekvenciát szeretnéd mérni, akkor arra nem is annyira a mezei megszakítások és timerek szoftveres lekezelését érdemes használni, hanem az Input Capture témára érdemes rákeresned! Ez ugyanaz csak hardverből: futtatja a timert, és ha esemény van a lábon akkor lemásolja a timer regisztereit és generál egy megszakítást > precízebb mérést ad, és ha valamelyik library letiltja a megszakításokat ideiglenesen akkor sincsen gond, legfeljebb majd a következő eseménynél kapod meg az eredményt, de nem lesz elszalasztott trigger mert a hardver addig is számolja...
MPU6050-el és sok mással küzdöttem már én is, jobbára kész lib-ekből indultam ki, a cél az egy 9DOF gyro és gyorsulásérzékelővel kompenzált iránytű lenne, de eddig nem találtam semmi valóban működőt - a borogatás, rázás előbb utóbb mindet megbolondította eddig sajnos, márpedig hajós környezetbe kellene ahol időnként kapná az áldást rendesen... Ettől függetlenül ha csak egyik másik érzékelő nyers értékeivel akarsz valamit számolgatni az működhet, csak erre az összetett, egymást kompenzáló 3x3 értékre nem találtam még kielégítő megoldást - pedig a telefonokban csak működik valahogy
Valóban, a WS2812 sem olyan lassú - annak a doksijában nem találtam ugyan a LED PWM órajelére utalást - de az adatokat picit zavarosan ugyan, de valóban valami 400-800kbps körüli ütemen várja, amit bitbang módon szoktak adni neki a lib-ek.
A WS2801 órajel+adat busza viszont teljesen megfelel az SPI hardver paraméterezhetőségének (max 25MHz-et ír a doksi, de úgy rémlik hogy RPi-s projektnél láttam 3xMHz-et is emlegetni), így meghajtható azzal is. Ha jól van megírva a lib - ami egyáltalán nem biztos - akkor amíg kiad a bufferből 1-1 byte-ot, addig a proci mással is tud foglalkozni. Bár a bitbang-et is elméletben meg lehetne oldani timerekkel és megszakításokkal nem blokkolósra, de tartok tőle ennyie nem foglalkoztak vele, így elég sok prociidőt elpazarolhat. De ugye ez is majd a gyakorlatban jól kiderül, hogy mit bír a vas...
Nekem is van egy hasonló félbemaradt projektem: a colorduino-t próbáltam másolni, csak nálam nem 8x8 hanem 2 modulból 16x8 RGB LED van. Idő híján erősen akadozik sok hasonló félkész projektem, de ha nagy lesz, valami ilyesmi lesz... Gondoltam én is arra is hogy akár WS2801/2812 LED sorral is meg lehetne oldani, de ezekből még nem vásároltam próbálgatásra...
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz fpeter84 #2886 üzenetére
A BT csak számítógépes kommunikációra kell, nincs szükség master/slave csatornára.
Class 2 is elég belőle. Szal HC 5 és 6 megfelelő... Tele van vele az ebay, akkor ez pipa.I2C: első körben egy MPU 6050 gyro szenzor érdekel, de csak játszani. Ha működik a megszakítás (abs jeladót szeretném monitorozni), akkor nem lesz szükségem accelero-ra.
A lednél hogy érted azt, hogy az SPI levesz a hardver válláról?
WS2801 és 02 nem bit bang-gel működik?
Hmm, akkor talán utána kéne néznem az SPI-nek is, hogy miként lehet több eszközt használni róla.
Még az is lehet, hogy kevesebb porttal kijönnék 5 db ledszalag meghajtása esetén (mindegyik külön adattal természetesen).WS2812-nél én úgy tudom a 400 hz a PWM frekvencia. A komminukáció 400/800 Khz-en zajlik.
A másiknál a 20 KHz is PWM frekvenciát jelent.[ Szerkesztve ]
-
fpeter84
senior tag
válasz Teasüti #2885 üzenetére
Kékfog: előszöris, mekkora hatótávra? Van a class 1 aminek az elméleti hatóköre 100m - gyakorlati tapasztalat alapján egy jóféle BTM-22x akár 2-300m-re is elvisz jó rálátással és alacsonyabb baudrate-el (4800-9600) - természetesen a másik oldalnak is hasonlóan táposnak kell lennie ehhez. Vagy az átlagos class 2, ami papíron 10m-t ígér - ez is sokszor elvisz több 10m-re is, leginkább az antennákon és a zavaró körülményeken múlik. Ha az autó környékére kell, akkor valószínűleg elég lesz egy olcsó class 2 is, feltéve hogy mondjuk nem az első lökhárító fémje alá elrejtett modullal akarsz adni a hátsó lökhárító alá elrejtett másiknak
A másik kérdés, hogy elég e a slave eszköz, elég e ha csak a nevét, PIN-t és baud-ot tudod állítani, vagy kell a master/slave váltás, több állítgathatóság. Slave akkor, ha a géped/telefonod/tableted csatlakozik hozzá, master akkor ha két ilyen modul képes egymás között egy transzparens csatornát felépíteni - a slave a szerver, és ahhoz csatlakozik a master kliens...
itt van egy jó összefoglaló és howto az ebay-en népszerű HC-05 és HC-06 modulokról, hogy melyik mit tud és hogyan éleszthető. Valójában csak firmware különbség van köztük, megfelelő külső író hardverrel akár a butább is felokosítható, csak nem biztos hogy megér annyi küzdelmet
I2C: ez így elég tág fogalom. Hőmérő, barométer, gyorsulásérzékelő, gyroszkóp, GPIO expander - millió féle hardver van hozzá. A legtöbb népszerű, modul formájában elérhetőhöz általában van kész arduino library, de ha tudni szeretnéd hogy valójában mi történik a színfalak mögött, akkor lehet a saját írás/olvasással is küzdeni...
A WS2812 amúgy is elég lassúcska (400Hz rémlik?), szerintem nem lesz vele gond. Ha meg esetleg váltasz WS2802-re az meg úgyis a hardveres SPI buszra kerül, ami a nagy tempó mellett (20-40MHz?) elég sokat levesz a hardver válláról, úgyhogy úgy is működhet. Ha mégis kevés, akkor ott a Due vagy valamelyik másik nagytesó. De arra hogy próbálgasd, tanulj, arra biztosan elég az Uno is...
-
Teasüti
nagyúr
válasz fpeter84 #2883 üzenetére
Usb kivezetés, breakout board. Mea culpa.
Bluetooth modulból melyik ajánlott?Illetve most ismerkedek az I2C adatbusszal, ehhez van esetleg vkinek egy jól bevált interface-e, ami nem shield?
Fizikailag akár légszerelve is össze lehet drótozni több eszközt az SDA/SDC portokra?
Jah és a lényeg: a WS2812 ledek vezérlése és UART (bluetooth kommunikáció) + I2C (szenzor adatok) + interrupt mennyire mission impossible?
A kódot még összerakom vhogy, csak hogy működni is tud a dolog?
A megszakítást csak számlálóként használnám, az se életbevágó probléma, ha addig nem számol, amíg a ledekre ír a program - tekintve, hogy addig kilövi a led library a megszakítást.A kacatokat köszönöm szépen, már megy is a kosárba!
[ Szerkesztve ]
-
fpeter84
senior tag
válasz fpeter84 #2883 üzenetére
Azt elfelejtettem a tápmodulhoz leírni, hogy a rajta lévő USB alj az dísz! Nincsen semmi sehová bekötve rajta - van egy marék ilyen modulom több beszerzésből, ránézésre egyformák - úgyhogy tényleg nem értem minek teték rá a kínaiak Szóval csak az 5.5-es DC tápcsatin lehet etetni... Az 5 és 3.3V ágakat is AMS1117-es fix feszstab adja, aminél a voltage input absolute max rating 15V - magyarán 12V fölé tényleg ne menjen ez se mert meg fog sülni idővel...
-
fpeter84
senior tag
válasz Teasüti #2881 üzenetére
"USB breadboard" alatt nem tudom pontosan mit értesz - mindenesetre az ilyenek hasznosak, érdemes idővel felszerelkezni belőlük: 830p breadboard, tápmodul breadboardhoz, 12V/5A táp, 5.5 tápcsati Y splitter, 5.5 tápcsati bekötő stb stb
@ DrojDtroll
ismerős jelenség, párszor már én is belefutottam ilyenekbe hogy valamit jól elképzeltem előre, aztán a gyakorlatban rájöttem hogy de ott valami még plusszban kilóg, belóg, nem fére el úgy a csati ahogy elképzeltem, stb - eztért mostmár igyekszem minden előre beszerezni, lemérni, esetleg 3D studio-ban modellezni...
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz fpeter84 #2875 üzenetére
Ohh erre nem is gondoltam, hogy PWM esetén áramból is a maximumot veszi fel. Akkor kár is fényerővel kalkulálnom, 60mA-rel kell méreteznem ledenként.
Adafruit Neopixel oldala szerint lehet számolni az átlaggal is, ha jól értelmeztem. :S
Már úton van egy 15A-es buck konverter, de az majd a járművön fog kelleni.Veszek szerintem egy usb breakboard-ot, vagy mit, aztán addig usb töltőről fog üzemelni. :-)
-
fpeter84
senior tag
válasz DrojDtroll #2879 üzenetére
Abszolút random! A W5100 csippes LAN shield-em olyan aljzatot kapott, aminek a hosszú átmenő lábai egyben a csatlakozói is az alatta lévő shield felé - elegáns, de picit vékonyabbak azok a lábak a kelleténél és vigyázni kell főleg a tárolásnál mert könnyebben elhajolnak mint a tüskék. Van olyanom is 1-2 ami eltolva kapta a tüskesort, így bár kevésbé elegáns megoldás, de funkcióját tekintve tökéletes, tornyozható és erősek a tüskék. Viszont van nem is 1 olyan kínai shield-em ami tervezési hibásnak is tekinthető - a tüskék vagy kifelé vagy befelé esnek a felső foglalatsorhoz képest mind2 oldalon, így a tornyozhatóságot agyonverik, belőle felfelé már csak vezetékezni lehet...
-
DrojDtroll
veterán
Minden shield kitolja az arduino méretét valamelyik irányba? Meglepődve tapasztaltam, hogy nem pont felé esik az amit rendeltem.
-
Lompos48
nagyúr
válasz DrojDtroll #2876 üzenetére
Csak akkor mindegy, ha össze vannak kötve. Az összes elektronikától függ, hogy az árnyékolás a nullára van/lesz kötve vagy nem. A kollektorba pedig egy olyan bemenetet kell kötni, ahol létezik felhúzó (pull up) ellenállás.
[ Szerkesztve ]
-
DrojDtroll
veterán
Egy ilyen enkódert, hogyan kössek be?
A 0v és gnd-s dolog zavar meg egy kicsit. Mindegy melyiket használom? Mindkettőt kell?
-
fpeter84
senior tag
válasz Teasüti #2874 üzenetére
Az elhasznált töltések mennyisége valóban arányos, de a LED-ek az áramkorlátozásuknak megfelelő maximális áramot veszik fel impulzusokban! Tehát maximálisan a végsőkig feszítik az USB portból nyerhető, illetve a polyfuse által átereszthető áramot - a polyfuse mondjuk nem olyan nagyon gyors és precíz, tehát egy villanásnyi 0.51A nem fogja azonnal megszakítani, de ha kitartóan bombázod ezzel a határértékhez közel, akkor idővel elmelegedhet a belseje és szaggathat picit.
A 9V elem kevés lesz, hamar leszívja a LEDsor. Bármilyen 9-15V DC táp jó lesz hozzá, a legtöbb routerhez is ilyeneket osztogatnak de sok más műszaki cikk alól is ki lehet ilyesmit termelni, vagy boltban venni... Ha van egy asztali PC ATX tápod akkor abból is ki lehet nyerni a jól terhelhető 5/12V-ot...
-
Teasüti
nagyúr
válasz fpeter84 #2864 üzenetére
5V pin-en van a ledsor, természetesen. Szóval 0,5A max. Az tetszik. A ledek elméletileg 480 mA-nél többet nem vesznek fel, de amúgy lecsavart fényerővel használom - különben kiégeti a szemem -, így elvileg nem kéne gondot okoznia. Úgy tudom az áramfelvétel arányos a (programozott) fényerővel.
Nem tudom miért szemetelt korábban, de holnap veszek egy 9V-os elemet az Uno-hoz. Azóta a monitorban csak nagyon ritkán fordul elő hiba, viszont a programfeltöltés gyakran hibával leáll, de második nekifutásra mindig jó. -
peter1998
tag
Sziasztok ! Találkozott már valaki olyan problémával hogy a "digitalWrite(rele, HIGH);"-ra a relé nem kapcsolbe de LOW éretékre pedig bekapcsol.Tehát a LOW és a HIGH felcserélődött ? Az arduino-t a gép USB portjáról táplálom és a relé panelt pedig közvetlen az arduinoról. A kötés így néz ki [link]
-
-
Gergosz2
veterán
válasz gyapo11 #2868 üzenetére
<avr/sleep.h>-nak érdemes utána olvasni, ott benne van minden. És igen tényleg elérhető elég kis fogyasztás, de érdemes ezt elolvasnod: [link].
Én személy szerint nem mentem el végletekig, az interfaceket lőttem le a timereket meg a ADC-t. Ez már levitte az áramfelvételt 30uA környékére ami 3,3V-on már elég kellemes volt. Én ezt egy Atmega168-cal csináltam.
Maga a az altatást végző függvény ez:
void sleepNow()
{
byte adcsra = ADCSRA;
delay(100);
//Mirf.powerDown();
ADCSRA = 0; //ADC kikapcsolása
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
attachInterrupt(0, wakeup_nrfl, LOW);
sleep_mode();
sleep_disable();
ADCSRA = adcsra;
detachInterrupt(0);
}Ezt loopban rögtöm meghívom. A lényeg az, hogyha jön egy megszakítás, a program rögtön a sleep_disable(); parancsot hajtja végre, szóval ha elaltatod, akkor onnan folytatja. Azért is kell rögtön kikapcsolni, meg a megszakítást is addig kivenni. Utána megy tovább a loop-ban, amit még oda beraksz azt megcsinálja. Utána meg megint elalszik.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
-
gyapo11
őstag
Az elég szimpi fogyasztás. Nem nagyon akarok kutakodni, meg processzor regisztereket tanulmányozni, azért nyomulok arduinoval és nem csupasz chippel. De ha látnék egy interruptos egyszerű programot, akkor könnyen módosíthatnám, gondolom.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
zka67
őstag
válasz gyapo11 #2866 üzenetére
Szia, nem bonyolult a megoldás, mindössze Power-Down módba kell kapcsolnod a procit. Ha lekapcsolod a watchdogot (vagy nem is engedélyezed), akkor ebben az üzemmódban kb. 0.2uA a chip fogyasztása. A chipet megszakítással lehet felébreszteni, szerintem neked a Pin Change Interrupt lesz a megfelelő. Ehhez a megfelelő IO pin konfigurációban a PCINT funkciót kell kiválasztanod, és engedélyezni a megfelelő regiszterben.
Szerintem ehhez nem nagyon találsz arduinos könyvtárat, magadnak kell megírni ezt a pár sort.
Nem bonyolult, de át kell nyálazni a proci leírását, hogy melyik regiszterbe mit kell beírnod. Atmel oldalán megtalálsz minden procihoz minden adatlapot.
-
gyapo11
őstag
Van egy 200 ms-onként érkező impulzussorozat, amiknek a feldolgozása néhány programsor, tehát időben nagyon rövid. Arduinoval megszakítással akarnám megoldani, és két megszakítás között altatni a minél kevesebb fogyasztás érdekében. Hogyan kell ezt csinálni, van-e valakinek egyszerű példaprogramja erre? És ha leveszem a táp ledet, akkor alvás közben mennyit kajálhat mondjuk a pro mini, amin usb-serial ic sincs?
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2863 üzenetére
Nem tudok erről a modulról semmit, úgyhogy fogalmam sincs, hogy lehet-e vezérelni feszültséggel.
Inkább a feladat felől kellene megközelíteni, és hátha nem túl nehéz tervezni olyan megoldást, ami megfelel az elvárásoknak és lehet vezérelni pwm kimenettel.
Programozható tápot írtál 100 mA kimenettel, ezt egy emitterkövető npn tranyó is tudja.
Az elv ilyen:
Az r1-c1 szűri a pwm jelet, az r4 és az r3+r6+ic osztja le a kimenő feszt. Az alsó ic az áramkorlát, az I bemenetére kell a kívánt áramnak megfelelő feszültség. Ahogy ezt túllépi, az ic2 kimenetén addig emelkedik a feszültség, amíg az ic1 negatív bemenete annyira emelkedik, hogy ezzel a megfelelő mértékig csökken a kimenő feszültség, és ezzel a kívánt mértékig csökken az áram.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
fpeter84
senior tag
válasz Teasüti #2852 üzenetére
Azért a tápot ugye nem I/O lábról adod a LED-nek, hanem az 5V feliratúról? Az összes kimenet limite az belső, az az I/O lábakra vonatkozik csak mint current sink/source, az 5V láb az más tészta
Ha csak az USB portról kapja a tápot, akkor annak az elméleti maximuma 500mA - vannak portok amelyek jóval kevesebbtől is kifekszenek, letiltanak, vannak amelyek a dupláját is ki tudják engedni magukon. Ez átmegy az F1 polyfuse "öngyógyuló" biztosítékon ami viszont szintén csak 0.5A, tehát ha a port többet is tudna, ez a biztosíték idővel akkor is leold - lehet pont ez történik, nagyon a határán billeg és épp csak villanásokra szaggat még amit a fedélzeti elkó kondik valamennyire még kisimítanak de anomáliákat okoz...
Alternatív tápolása, ha a DC csatiba beledugsz valami 1-2A terhelhetőségű 9-15V egyenáramú tápot. Ekkor a T1 P-csatornás MOSFET nyit, az USB 5V-ja leválasztódik, és az U1 NCP1117ST50 LDO adja az 5V ágra a kakaót, ami papíron 1A terhelhetőségű - ezt csökkentheti a magas VIN tápfesz, vagy az esetleges elégtelen hűtés miatti túlmelegedés.
Mindenesetre dugj rá külső tápot, akkor jóval nagyobb lesz a terhelhetősége. Hosszú távon, ennél több LED-hez viszont érdemes lesz egy pár A-es 5V-os tápot is beújítanod
-
krisztianAMG
senior tag
válasz gyapo11 #2862 üzenetére
Ezen látsz valami kivetnivalót? Ha nem, akkor ezt rendelem meg első körben.
Ha jól értem, akkor 12 és 24V közti táp kell neki, amit egyben az áramkör táplálásáért is felelős, és ezt a feszt szabályozza a kimeneten. Tehát a bemenet nem lehet alacsonyabb 12V-nál, de a kimenetet 0V-ig is le tudja szabályozni?
-
gyapo11
őstag
válasz krisztianAMG #2861 üzenetére
A pwm kimenetre teszel egy r-c szűrőt, és lesz egy feszültséged. Ezt egy erősítőbe kötöd, ami valahányszoros feszültségerősítéssel és valamekkora maximális árammal terhelhető.
Vagy egy olyan tápegységbe, aminek a kimenő feszültségét egy potméter állítja be, ami egy állítható feszültséget küld az ic-be. Ehelyett a potméter helyett küldi a pwm a beállító feszültséget.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
krisztianAMG
senior tag
tvamos: Köszi, jól néz ki!
gyapo11: Neked is köszönöm, ez is jó ötlet.
Azt még el tudná valaki nagyjából magyarázni, hogy hogyan lehet feszültséget szabályozni PWM jellel? Akár a linkelt LED drivernél? Az áramnál értem, hogy hogyan jön ki az effektív érték a zárt és a nyílt állapotok átlagából, de a feszültségnél ugyan ez már nem áll össze a fejemben.
-
gyapo11
őstag
Először elteszed az aktuális millis() értéket egy változóba:
elozo=millis()
Utána beteszel egy vizsgálatot a már megírt programod végére:
if (millis()-(60*60*1000) > elozo)
Ha ez igaz, akkor már eltelt egy óra, kiírod hogy kész, ha nem igaz, akkor még nem, mehet tovább a program.
Persze attól, hogy kiírt valamit a loop még fut tovább.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2850 üzenetére
szabályozható áramkorlátos tápot hogyan lehetne megvalósítani?
Ezt is műveleti erősítővel. A terhelés és a föld közé teszel egy ellenállást, ezen át fog folyni az áram, és esik rajta az áramnak megfelelő feszültség. Ez megy a műveleti erősítő pozitív bementére, a kívánt maximális áramnak megfelelő feszültség meg a negatív bemenetére. Ha az áram átlépi a beállított értéket, akkor a pozitív bemeneten magasabb lesz a feszültség, és a műveleti erősítő kimenete pozitív irányba mozdul, ezzel a jellel kell szabályozni a táp kimenő áramát. Kell a műveleti erősítőre negatív visszacsatolás is, hogy ne legyen túl durva a szabályzás.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2847 üzenetére
Folyamatos feszültséget pwm kimeneten lehet generálni (persze szűrni kell), ezt kell áttranszponálni 0-5 V-ról 0-tetszőlegesre. Műveleti erősítő, a pozitív bemenetre az arduino, a negatívra a kimenetről ellenállásokkal leosztott feszültség. Ilyenkor a max kimenő áramot a műveleti erősítő szabja meg, ha az egy 20 W-os ic, akkor 20 V-on 1 A-t tud.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
tvamos
nagyúr
válasz krisztianAMG #2850 üzenetére
Végy LED drivert. [link]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Teasüti
nagyúr
válasz happy555 #2855 üzenetére
Ezt konkrétan a zárójelben lévő vessző utáni szóközre érted?
Aha, köszi!Rájöttem menet közben, teljesen máshol volt a bug.
Az egyik függvényben a számlálót bájtban deklaráltam, ami így nem tudta megcímezni a tömb elemeit 256 után. Marha... Csak két órát nézegettem a kódot ott, ahol nincs is hiba. -
happy555
aktív tag
-
Teasüti
nagyúr
válasz Teasüti #2852 üzenetére
Nem tudtam ma reprodukálni a soros kapcsolat szemetelését.
Viszont szabadna feltennem egy C-vel kapcsolatos kérdést?
Deklaráltam az alábbit:
int numPixels = 85;
byte buffer1[3*numPixels] = {}; //R, G, B csatornák ledenként
#define RED(x, i) x[i]
#define GREEN(x, i) x[i+1]
#define BLUE(x, i) x[i+2]Majd:
RED(buffer1, i) = akármi;A problémám az volna, hogy vmiért nem fut le a program az UNO-n, ha 85-nél többet adok meg a numPixels változóban. Ez arra enged következtetni, hogy a tömbbe nem tudok berakni 256-nál több elemet, ha jó a tippem.
Van erre vmi ötlet, hogy mi lehet a gond?
Vmi C fogyatékosság, amiről nem tudok?[ Szerkesztve ]
-
Dunczy
csendes tag
Üdv!
Szeretnék segítséget kérni. A problémám a következő: Adott egy általam már megírt egyszerű vezérlés, ami tartalmaz egy motor bekapcsolását és egy fűtőlap szabályozását egy ellenálláshőmérő értékei alapján. Hogyan tudnám ezt időzíteni úgy hogy bizonyos ideig fusson (1óra) majd írja ki hogy kész. -
fpeter84
senior tag
válasz krisztianAMG #2850 üzenetére
Analógot viszonylag egyszerű, vannak rá kész/félkész kapcsolások, de a digitálissal meggyűlt a bajom... jópár mikrokontroller alapú kapcsolást kipróbáltam már, de valahogy egyik sem bizonyult stabilnak - mindenki az otthon található szemeteiből, bontott alkatrészeiből építkezik (főleg induktivitás) és neki véletlenül működik a talált értékeivel, de csak totózik hogy mit is használ és valahogy nekem eddig semmi nem ment... Nyilván nem lehetetlen, és nem is töltöttem a fél életemet a kísérletezéssel csak pár sikertelen nekifutás elkedvetlenített, de én is szeretnék már majd végre valami ilyesmit, mert a jóféle 1 csatornás labortápokat is súlyos tízezrekben mérik, én meg ha elkezdenék építeni tuti nem állnék meg a 3-5 csatorna alatt, mert sokszor jól jönne ha lenne mihez nyúlni...
Vannak kész buck-boost konverter kapcsolások, ezekből is vannak analóg és digitálisak is és nem is megfizethetetlen egyik sem - kérdés hogy a digit mennyire precízen szabályozható/szabályozza magát... Most ezzel szemezek - kiderítettem a gyártója elérhetőségét és próbálok utánajárni, hogy a kijelzője melletti Rx/Tx lábsoron nem vezérelhető e kívülről - ha még ezt is tudná, szuper lenne, de mondjuk pár-10 mA-es szabályzásra lehet nem képes, arra lehet valami kisebb cucc kellene...
Neked párszáz mA-hez valami jóval kisebb is elég - csak az ilyen boost meg buck-boost konvertereknél kérdéses hogy a kimenet mennyire stabil - ez csipp és kapcsolásfüggő is - szóval lehet kísérletezni is kell kicsit... Tele van az ebay ilyen cuccokkal, érdemes nézelődni kicsit!
-
krisztianAMG
senior tag
válasz fpeter84 #2849 üzenetére
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.
-
fpeter84
senior tag
válasz krisztianAMG #2847 üzenetére
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
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.) -
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 ]
-
tvamos
nagyúr
válasz DrojDtroll #2840 üzenetére
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
-
tvamos
nagyúr
válasz DrojDtroll #2838 üzenetére
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
-
Teasüti
nagyúr
-
Gergosz2
veterán
válasz DrojDtroll #2834 üzenetére
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
-
Gergosz2
veterán
válasz DrojDtroll #2832 üzenetére
de:
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
-
DrojDtroll
veterán
Jól sejtem, hogy az Unoval nem lehetséges kettőnél több megszakítás kezelése?
-
Teasüti
nagyúr
válasz fpeter84 #2826 üzenetére
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 ]
-
Janos250
őstag
válasz DrojDtroll #2819 üzenetére
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.
-
Janos250
őstag
válasz lmaresz #2814 üzenetére
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.
-
Teasüti
nagyúr
válasz fpeter84 #2825 üzenetére
Erről volna szó.
Adafruit nem volt Prime szállítással... -
fpeter84
senior tag
válasz fpeter84 #2825 üzenetére
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...
-
fpeter84
senior tag
-
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 ]
-
tvamos
nagyúr
válasz DrojDtroll #2821 üzenetére
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
-
tvamos
nagyúr
válasz DrojDtroll #2817 üzenetére
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
-
lmaresz
aktív tag
válasz DrojDtroll #2815 üzenetére
Akkor ha jól értem nem olyan biztonsági "résről" van szó ami esetleg vírusként viselkedne.
-
tvamos
nagyúr
válasz DrojDtroll #2813 üzenetére
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
-
lmaresz
aktív tag
-
tvamos
nagyúr
válasz DrojDtroll #2811 üzenetére
5V-nal ne nagyon legyen tobb!
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Teasüti
nagyúr
válasz DrojDtroll #2809 üzenetére
5V. Gondolom.
-
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
-
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.
Új hozzászólás Aktív témák
Hirdetés
- Asszociációs játék. :)
- Apple iPhone 16 Pro - rutinvizsga
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Házimozi belépő szinten
- Milyen TV-t vegyek?
- E-book olvasók
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 14 - párátlanul jó lehetne
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Nintendo Switch OLED 19.0.1 Dual-Boot Cfw + 128GB MicroSD + Atmosphere 1.8.0, 3 hó garival!
- XBOX ONE S 1TB, dobozában, gyári tarozékaival és 6 hó garanciával, Bp-i üzletből!
- XBOX ONE X 1TB, makulátlan szép állapotban, 6 hó teljeskörű és 1 év SW garanciával Bp-i üzletből!!
- XBOX Series X, dobozában, gyári tartozékaival, 2025.06.28.-ig gyári garancia!! Bp-i üzletből eladó!
- GIGABYTE Nvidia Geforce GTX 1080 TI Aorus
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest