- 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
- Bemutatkozott a Poco X7 és X7 Pro
- 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
-
Gergosz2
veterán
válasz
Teasüti #3052 üzenetére
itt a fő irányvonal nem az editor kérdése, hanem az, hogy ezek +100$-be kerülnek, amit linkeltem az pedig ~15$-be.
Esetleg az megoldható, hogy egy közönséges processzor nélküli lcd-hez magam rakom össze a kontrollert tárhellyel?
Ezeken van SD foglalat, külön MCU-t tenni rá meg felesleges. De az animációt meg app kinézetet elég necces lesz megcsinálnod, mert egy pl egy Mega sem villám sebességgel frissíti a képernyőt, de ha csak nyomógombok, bar plotok vannak akkor bőven elég a sebesség. Itt egy sebesség teszt: [link]
-
fpeter84
senior tag
válasz
Teasüti #3052 üzenetére
A HMI nem más, mint egy tetszőleges mikrokontrollerrel és szoftverrel ellátott LCD, ami fogadja a parancsokat, SD kártyáról vagy USB mass storage-ről beolvasva a hozzá a dolgokat... Tehát ezt akár Te is meg tudod csinálni egy megfelelő LCD-vel és Due/Mega/STM stb platformmal...
A megfelelőt azért írom, mert egy fontos dologra oda kell figyelni: ilyen kisebb mikrokontrollerrel csakis (ez nem teljesen igaz, de nem kezdő projekt) olyan panelt lehet közvetlenül meghajtani, aminek van saját framebuffere, és nem kell fix időzítéssel másodpercenként x alkalommal ráküldeni a képet, csak tetszőleges sebességgel adhatod neki a parancsokat és adatokat valamilyen buszrendszeren keresztül, ő meg majd frissítgeti maga a panelt a fb-ből.
Ami automatikusan kizárható, az az LVDS bemenetes panelek, valamint a párhuzamos RGB bemenettel rendelkezőek közül azok, amelyeknek Hsync Vsync bemenetei vannak. Sajnos a nagyobb LCD panelek mind ilyenek, ezek kiesnek. Ha ilyet akarsz akkor ne uC-t használj hanem valami fejlettebb platformot mint egy RPi, BPi, stb... Természetesen a VGA és HDMI bemenetes komplett szettek is ide tartoznak...
Ami használható uC-vel is, azok lehetnek sokvezetékes parallel RGB bemenetűek, de a H/Vsync helyett RS (utasítás/adat), RW (olvasás/írás), reset lábai lesznek. Ezeket általában meg lehet hajtani 8, 16, 18 stb adatláb + a fenti vezérlőlábakkal. Ezenfelül lehet SPI/I2C is. A 2-5" (meg pár nagyobb is akad) kategóriában sok panel akár mindhárom meghajtási típust is támogatja - legalábbis a vezérlője, mert van ahol fixre van drótozva valamelyik funkció, erre oda kell még figyelni, de van ahol megadják a lehetőséget pár tüskére rakott láb vagy átrakható SMD ellenállással a választásra...
-
Gergosz2
veterán
válasz
Teasüti #3049 üzenetére
Én inkább hardweresre szoktam bekötni, mert annak biztosabb a timingja.
LCD-ben igazad van, UNO-val nem igen lehet kezelni őket, de egy home projectnél, ha nem valami nagyszabású a dolog, egy HMI, mint pl: ez , azért eléggé megdobja az árakat. De van olcsóbb megoldás is, pl ha egy ilyen lcd-t veszel, és UTFT és UTOUCH könyvtárakat használsz hozzá. Ez kombó működik, én ezekkel csináltam ventilátor vezérlőt meg stb. Sok szar fajta LCD kijelzőt kapni, amit egyszerűen nem lehet rendesen működésre bírni, de ez a kettő tényleg jól megy együtt.
De egy Mega kell hozzá.
Más:
beneveztem egy ilyenre: [link]. Kíváncsian várom, de szimpatikusnak tűnik, mert a matlab supportja is nagyon jó.
-
fpeter84
senior tag
válasz
Teasüti #3049 üzenetére
A SoftSerial-t tényleg jól elfelejtettem
De csak egyszerűbb ha van a kéznél USB soros és nem kell alakítgatni semmit...
Vagy egy mega/due/nagyobb stm32 board lehet a megoldás jó sok lábbal, vagy egy SPI/I2C-n is vezérelhető típus... Mi lenne az igény? Ha érintős, akkor gondolom színes LCD, nem monokróm karakteres/pixeles vagy kicsi OLED. De mekkora kb?
-
fpeter84
senior tag
válasz
Teasüti #3039 üzenetére
Mint írtam, az USB soros többek között pl a kékfog modul átprogramozásához jöhet jól... Ugyan ha nagyon akarod akár az UNO-n keresztül is meg lehet oldani valahogyan, de nem túl praktikus és nem kapsz visszajelzést se hogy tényleg sikerült e...
Az ilyen soros LCD-nek nem különösebben látom értelmét - illetve nyilván egyes esetekben jól jöhet, ha pl nagyon messze kerül a mikrokontrollertől a megjelenítő - de elég magas az ára is, nem hiszem hogy egy átlag projektbe érdemes lenne belevenni... Viszont millió kisebb nagyobb monokróm karakteres, pontmátrix és színes LCD panelt lehet kapni mindenféle méretekben amelyekhez van kész library - max a nagyobbakhoz az UNO lábszáma és RAM/ROM-ja lehet a kevés, úgyhogy a ló túloldalára sem szabad átesni...
-
Janos250
őstag
válasz
Teasüti #3040 üzenetére
"Barebone Uno" ?
Ilyen is van?
Egyébként ízlések és pofonok.
Az UNO gyakorolni szerintem kényelmesebb. Én mindenképpen olyan példány mellett döntenék ha UNO, ami átkapcsolható 3.3 és 5 V-ra egyaránt. Beépítésre meg inkább a nano. De neked kell döntened. Én egyébként pártolom az STM32-ket! Ugyanúgy Arduino ma már, de sokkal nagyobb teljesítményű minden szempontból. Dönteni csak Te dönthetsz! -
Teasüti
nagyúr
válasz
Teasüti #3039 üzenetére
Amúgy melyik a jobb választás embedded használatra? Barebone Uno, vagy egy Nano? Ebay-en kb egy árban vannak, sőt az Essential Kit egy hangyányit még drágább is a Nano-nál. Egyelőre még nem kacérkodok prototípus készítésével, de ha eljutok egy szintre, akkor már megfontolnám saját nyák készíttetését.
Mondjuk egy Nano-t se vészes beágyazni. Dilemma...Az STM32-esek közt se tudok dönteni.
-
fpeter84
senior tag
válasz
Teasüti #3035 üzenetére
Ez a programrészlet a polling - végtelen loop-ban kérdezgeti a regisztereket hogy van adat? van adat? van adat? és csak akkor kéri le a buffer tartalmát ha van is mit kiolvasni, ezért nem blokkol. Ezzel csak akkor lehet gond, ha a programod hosszú időre lefoglalja a procit, és ezalatt túl sok karakter érkezhet adott baudrate-en a hardveres bufferbe és az túlcsordul/elveszik egy része. Ilyenkor kell megszakításosdira váltani. De ha csak néha 1-2 vezérlő byte-ot küldesz neki akkor első körben jó lesz ez a megoldás is...
USB soros alatt az ilyeneket értettem: [link] [link] - az utóbbin a létező összes láb ki van vezetve ahogy nézem, a flow control és egyéb GPIO célra használhatóak is, csak ahhoz még mindenképpen kell kábel is, bár az lehet akad nálad is... Az USB serial TTL kifejezésekre keress rá, van sokféle, de lényegében mind ugyanaz kisebb nagyobb különbségekkel. Az RS232 DSUB9 csatisok erre a célra nem jók, mert ott teljesen más a jelszint, a mikrokontrollereknél a TTL/LVTTL kell...
Az ilyenek pl arra jók, hogy a kékfog modult rákösd a gépre és az AT parancsokkal felprogramozd - név, pin, baud, stb... De természetesen millió más célra jók fejlesztgetés közben, szóval érdemes beszerezni. Hosszútávon érdemes még olcsóbban egy kisebb csomagot rendelni kínából, mert előbb utóbb beépülnek/elvesznek, legyen újabb és újabb a doboz mélyén
BT: elméletben lehet vele programozni és sztem a 3.3V se lehet probléma. Legrosszabb esetben sérül a feltöltés, eldobja a checksum ellenőrzés a végén, de a bootloader ugyanúgy megmarad tehát ismét neki lehet futni. A probléma ott van, hogy a kékfog chipseteken (vagy magában a BT SPP protokolban?) nem igazán implementálták a flow control lábakat, az arduino pedig ezeket használja az automatikus resetelésre (kivéve a Due, ott más trükkhöz folyamodtak), így manuálisan kell a feltöltés megfelelő pillanatában resetelni a procit hogy rátaláljon az IDE...
-
fpeter84
senior tag
válasz
Teasüti #3032 üzenetére
Ilyen analóg lebegés-fagyás dolgot én sem tapasztaltam, nem tudom hogy nálad milyen együttállás vagy külső ok hozhatta össze...
Kékfog: ezt emlegettem, hogy az uno-nak csak 1 sorosportja van amit foglal a programozó felület. Nekem ugyan lehalni nem szokott hasonló mutatványnál az USB>soros illesztés - úgylátszik az eredeti 16U2 virtuális kapcsolás érzékenyebb mint a célcsippes kínai CH340g... Mindenesetre le kell csatlakozni a sorosról, de lehet még a tápot se lehet USB felől adni neki amíg másra akarod használni az RX/TX lábakat, így nagyban macerásabbá teszi a dolgot
Viszont azzal megpróbálkozhatsz, hogy külső táp, kékfog felprogramozva az Rx/Tx lábakon és az utóbbin keresztül programozni - a resetet ugyan neked kell a megfelelő pillanatban megnyomnod hozzá, de akár működhet is, csak azt kell kitalálni hogy milyen baud-ot kér a bootloader és arra állítani a kékfog adaptert
(erről jut eszembe, külön USB>soros TTL adaptered van? nem tudom hogy ezt ajánlottuk e már beszerzésre)Soros olvasás: erre millió példaprogramot lehet találni, van sima polling-os is ami a fő loop-ban mindig ellenőrzi hogy van e olvasnivaló a bufferben és ha van akkor olvassa ki, illetve lehet interruptos is amivel meg egy saját hosszabb szoftveres buffert illik tölteni amit a fő loop meg kiolvas...
-
Teasüti
nagyúr
válasz
Teasüti #3026 üzenetére
Ha a led szalag pwm frekvenciája 400 hz, akkor teljesen fölösleges 400 fps fölé szaladni.
Vagy a 800 Khz-es átviteli sebesség fölé.
Amúgy WS2812-nél az adatbusz-on 1 hz alatt egy bit közlekedik? Vagyis 800khz úgy 33.333 db 24 bites pixel frissítésére elég? Vagy 400 fps-en 83 pixel. -
fpeter84
senior tag
-
Janos250
őstag
válasz
Teasüti #3004 üzenetére
Az ARM vonal az STM32 sorozatú lapokkal RÉSZE az Arduino rendszernek is! Programozás szempontjából gyakorlatilag megegyeznek más egyéb lapokkal, némi túlzással azt mondhatnám, hogy mindenki ugyanazt a szabad C++ fordítót használja.
Lásd a 3008-asban leírtakat."Arduino-nak nincs Nano méretű 32 bites vasa, csak a Zero és a Due úgy tudom"
De, van! Az STM32 vagy az ESP sorozat."Ez a Maple ez nem discountinued? Tovább is lapoztam, mikor először kidobta a kereső."
Igen, a Maple saját fejlesztésű rendszerét abbahagyták, mert mindenki áttért EZEN a lapon is az Arduinora. A lapot viszont változtatás nélkül tömegével, olcsón gyártják a kínaiak! Én szeretem Arduino alatt használni. -
fpeter84
senior tag
válasz
Teasüti #2975 üzenetére
Egyrészt nem csak az alapműveletet végzi a proci hanem a for ciklus és a kiiratás is fut (minél gyorsabban fut le a számolásos rész, annál többet torzít a kiiratás is), másrészt lehet fordítói sajátosság is hogy mit melyik arhitektúrára mennyire hatékonyan sikerül lefordítania - de a lényeget azért nagyságrendileg valószínűleg jól mutatja...
Az 5V-hoz egyébként nem kell olyan nagyon ragaszkodni. Egyrészt a legtöbb 5V-os komponens simán működik 3.3-al is, illetve ha mégsem akkor többnyire 5V tápfesz mellé elég a 3.3-as I/O fesz is, legrosszabb esetben pedig marad a level shifter...
-
fpeter84
senior tag
válasz
Teasüti #2972 üzenetére
szép mondhatom, elültetted a bogarat a fülemben és alvás helyett benchmarkolásra adtam a fejem, pedig 2 óra múlva szól az ébresztő
uint32_t pre = 0;
uint32_t now = 0;
uint32_t cnt = 1;
uint32_t cnt2 = 0;
uint32_t a = 0;
uint32_t c = 0;
//float a = 0;
//float c = 0;
void setup() {
Serial.begin(115200);
Serial.println("Hello World!");
}
void loop()
{
a = 1;
for (cnt=0; cnt<10000; cnt++)
for (cnt2=0; cnt2<250; cnt2++)
c = a+cnt2;
now = millis();
Serial.println( 2500000/(now-pre) );
pre = now;
}(a cnt2, a és c változók típusát írtam át uint8..32_t illetve az a és c-t float-ra)
Remélem szarvas hibát nem követtem el a programban... 2.5M-szor kiszámolja ugyanazt a műveletet, majd visszaosztja másodpercre viszonyítva. Azért dupla a ciklus mert ha csak 2 fix értéket adtam össze ennyiszer akkor nagyon úgytűnik hogy arra rájött a fordító és leegyszerűsítette és nem adott különbséget sehol... Az eredményt Kcycle/sec-ben dobja ki vagyis hogy másodpercenként hány ezerszer tudta végrehajtani az adott műveletet. A harmadik oszlop hármas pedig azt mutatja hogy a Due hányszoros értéket tudott a Nano-hoz képest, és így szépen látszik a Due 5.25-szörös órajel előnye, valamint az hogy minél nagyobb számmal dolgozik a 8 bites Nano, annál jobban megküzd vele, a hardveres osztásnak köszönhetően pedig egészen elképesztőre nő a 32 bites Cortex M3 mag előnye - hardveres FPU az M3-ban nincsen, a nagyobbakban is csak opcionális [link]
-
zka67
őstag
válasz
Teasüti #2972 üzenetére
Szia, sebességben ég és föld a 32 és a 8 bites proci. A Cortex-M procik 1 órajel alatt elvégeznek egy 32 bites szorzást, az osztáshoz viszont 2-12 órajel szükséges (ha a bemenő adatok megengedik, akkor előbb megszakítja a végrehajtást, ha az eredmény független a fennmaradó nulla bitektől). A Cortex-M4-es procikban már van beépített lebegőpontos egység is, ami ugyan így 1 órajel alatt elvégez egy szorzást, de az osztáshoz itt is több órajelre van szükség.
5V-os 32 bites proci nem létezik, hiszen minél nagyobb órajelről járnak, annál kisebb feszültségről kénytelenek működni, hogy ne termeljenek sok hőt. Viszont az NXP és az STM procik legtöbb lába 5V toleráns, így nyugodtan használhatod őket level hifter nélkül bármilyen perifériához. Egy 1117/3.3V-os stab ic kell az 5V-ról a 3.3V előállítására.
Én épp most csinálok egy C64 emulátort egy STM32F407VET6 procival, amiről egy rövid videót is megnézhettek.
A prociban van egy nagyon jó DMA, ezzel mint láthatjátok, simán lehet videójelet is csinálni. A proci csinál mindent, és egy PAL encoder IC van még az áramkörben a tápegységen kívül.
-
tvamos
nagyúr
válasz
Teasüti #2956 üzenetére
Ha valamit timer interruptbol csinalsz, ott nagyon kicsi az overhead. Pontos idozitesre az a megoldas.
Jelenleg azzal kísérletezek, hogy setup()-ban lemérem minden függvény idejét és ezekkel korrigálom a delay-t. Így faszán be lehet lőni az fps-t.
Hat... nem ez a jo megoldas akkor sem. Termeszetesen le kell merni, de en azt sem igy csinalom, hanem oscilloscoppal.
Timer interruptbol, mondjuk 10ms-enkent inditom a folyamatot, aminek az elejen 1-be, a vegen 0-ba valtok egy kimenetet. Ezt a kimenetet kotom a scope-ra. (Regebben annyit csinaltam, hogy ezerrel alacsonyabbra vettem az orajelet, mondjuk 8MHz-rol 8kHz-re, akkor eleg volt a hangkartya scope, mert ugye az us-bol ms, az ms-bol meg s, az s-bol meg 16.6 ora lett.) -
Janos250
őstag
válasz
Teasüti #2925 üzenetére
Én az STM32 sorozat valamelyik tagját választanám.
Van belőle többféle, igényeidnek megfelelően választhatsz procit és utána olyan panelt.
Én nagyon jónak tartom őket! A kisebb verziók nagyon olcsók is (akár 1000Ft). Egy clone DUE árán pedig már nagyon jót kapsz. Én a DUE helyett messzemenően ezeket javasolom mindenkinek! -
Teasüti
nagyúr
válasz
Teasüti #2914 üzenetére
Oké, user error.
Eleinte rögtön a byte-ként deklarált pufferbe raktam vissza a képlet eredményét, majd debuggoláskor a Serial.print-ben a puffer maradt benne, nem pedig az int temp.
Szóval jól számol a progi, csak a negatív számot mikor visszarakta a pufferbe, ott ment el az egész és én csak a legvégét láttam a monitorban.
A cast is működik, sőt megcsinálja cast nélkül is az int = byte - byte kivonást negatív eredménnyel hibátlanul.Hát ez jó lecke volt.
-
tvamos
nagyúr
válasz
Teasüti #2909 üzenetére
Nem tudom, csak tippelek, de lehet, hogy itt a byte alapertelmezesben nem elojeles? (uint8_t)
probald igy: int buffer[...... bla-bla-bla...Megkockáztatom, hogy szar a fordító?
Szerintem ez nem szar benne, de ingyen van, ugyhogy akar szar is lehet, akar...Ezt meg simán visszaadja a helyes egészrésszel cast nélkül...
buffer2(i) = buffer2(i)*light/255
Ahol byte light < 255.(/I)
Lehet, de az is lehet, hogy csak te azt hiszed, hogy jo. a light-nak hogy adsz erteket? -
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?
-
-
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
-
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...
-
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...
-
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...
-
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...
-
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
-
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? -
-
fpeter84
senior tag
-
fpeter84
senior tag
válasz
Teasüti #2789 üzenetére
Az EEPROM használata irtó egyszerű: [link]
Azért arra figyelni kell vele kapcsolatban, hogy ~100e írási ciklust emleget a doksi - ez elég soknak tűnik első körben, de ha valaki mondjuk másodpercenként ír 1 adott byte-ot, akkor bő 1 nap üzemmel ki lehet végezni - tehát ezt elsősorban a ki/bekapcsoláskor, dinamikus paraméterváltoztatáskor illik írni, de nem állandó loggolásra használni pl...
-
fpeter84
senior tag
válasz
Teasüti #2784 üzenetére
AREF: csökkenteni lehet vele az analóg mérés tartományát, ezáltal növelni a pontosságot. Alapból a 10bit, 1024 lépcsős felbontás kb 5mV-os felbontást ad, de ha mondjuk csak pár száz mV-ot szeretnél vele mérni akkor egy külső referenciával (akár feszosztó is lehet) beállítod 0.5V-ra az AREF-et, és 0.5mV-os felbontással számolhatsz... Okosabb típusoknál lehet akár külön AREF+ és AREF-, amivel még szűkebb tartományt is ki lehet jelölni a tápfesz és föld között tetszőlegesen...
A változók biztosan a RAM-ba, de már egy tök üres program is bekajál 9 byte-ot - ne kérdezd hogy mit tesz oda a fordító... De játszhatsz vele, és nézd hogy fordítás után milyen statisztikát ír rá az IDE... Valószínűleg van itt ott optimalizálási hibákból adódó pazarlás is, pl: ugye az alaphelyzet 9 byte használt
char x;
void setup() {
x = 1;
}
void loop() {
}ez 10 byte-ot eszik, de ha annak az x-nek ugyanezt az értéket már inicializáláskor is megadom, akkor meg 11 byte-ot ír, pedig elméletben ugyanarról változóról beszélünk - erre tud itt valaki magyarázatot adni?
char x = 1;
void setup() {
x = 1;
}
void loop() {
}A konstansok pedig elméletben a flash-be kerülnek, de most ahogy próbálgatom, 1 byte-al se nő ettől a program mérete...
const char y = 10;
char x = 1;
void setup() {
x = 1;
}
void loop() {
x = y;
} -
fpeter84
senior tag
válasz
Teasüti #2769 üzenetére
Azthiszem zka67 foglalta össze legjobban a lebegő bemeneti láb problémáját: a lényeg hogy mindig határozott potenciálra kell húzni a digit bemenetet, különben érhetnek meglepetések és rejtélyes hibákkal fogsz küzdeni...
A feszosztóra is nehéz lenne az Ohm törvénynél, és az itt lévő rajznál és kalkulátornál egyszerűbb magyarázatot adni.
Próbáltam kitúrni a doksijából hogy mi a minimum feszültség az 1 jelszinthez illetve a maximum a 0-hoz, de sugárban hányok ezektől az ömlesztett doksiktól amiket összetákoltak az Atmelnél - a PIC-ek doksijai nagyságrendekkel rendezettebbek és átláthatóbbak
Mindenesetre 5V tápfesz esetén saccra 3V felett már biztosan 1, 1V alatt már biztosan 0 a digit beolvasás értéke... Szóval a feszosztót úgy kell méretezni, hogy az autó 12-14V-ja (és még biztonsági ráhagyás) 3-5V nagyságrendűre csökkenjen vissza - erre írtam a 100K / 33-47K párosokat példának. Áramot is lehetne számolgatni, doksiból turkálni, de ökölszabálynak szerintem jó az hogy 10-100K nagyságrenden maradva jól fog működni... Ennél aprólékosabban akkor érdemes vele foglalkozni, ha pl gombelemről kellene évekig elműködnie a kapcsolásnak
-
tvamos
nagyúr
válasz
Teasüti #2769 üzenetére
Olyasmi, mint amikor az oszcilloszkóp probjának a végét megfogod az ujaddal ott lesz egy jel a levegôbôl. (Te vagy az antenna.)
A kimenetben van egy csomó tranzisztor. Azok akkot is ott vannak, ha bemenetnek konfigurálod. Mind szivárog kicsit. Nem tudod, hova áll be. Ez mind a hômérséklettel változik. Ráadásul, mind kondenzátor is, amiket töltöget, meg kisütöget. Tehát az idôvel minden változik, folyamatosan.De én még mindig azt mondom, érdemes ezt kipróbálni akkor, amikor van egy kis idô próbálgatni.
-
zka67
őstag
válasz
Teasüti #2770 üzenetére
Szia, azt hiszem a lényeget nem mondták el, és ezért nem érted a dolgot.
A manapság gyártott procikban MOS tranzisztorokat használnak. Ezek "térvezérlésű" tranzisztorok, azaz nem árammal, hanem feszültséggel vezérlik őket. A bemenetük a GATE, ami rendesen el van szigetelve a tranzisztor többi részétől, azaz kapacitást képez. Ez a kapacitás képes töltéseket összeszedni a "levegőből" is, ha nincs semmi a GATE-re kötve, és ha megfelelő mennyiség összegyűlt, akkor kinyithat a tranyó. Csak úgy, a "semmitől". Ezért kell valamelyik potenciálra kötni a "lógó" bemeneteket egy nagyobb értékű ellenállással. Azért használnak nagyobb értékűt, hogy ha aktiválod a bemeneteket, ne zabálja feleslegesen a tápot. Használhatnál pl. 100 ohmos ellenállásokat is, de több tíz bemenet esetén ha kiszámolod, akár amperes nagyságrend is lehetne a feleslegesen elfolyó áram. Túl nagy értéket (>1Mohm) sem szoktak használni, mert ha hosszabb vezeték megy a lábra, akkor az képes annyi töltést összeszedni, hogy még az ellenálláson keresztül is kinyit a tranyó. Ahogy valaki írta is, a 10kohm-os ellenállás tökéletes választás otthoni használatra, kísérletezésre.
Üdv.
Zoli -
bacus
őstag
válasz
Teasüti #2762 üzenetére
pedig ez sem bonyolultabb mint a tasker
, az időjárás taskod évek óta használom.
A lényeg, egy digit bemenet ne tudjon lebegni, ezért vagy le kell kötni a földre, vagy fel 5V-ra. Így, ha máshonnan nincs semmi jel, akkor is van határozott bemenete. Ne feledd, itt nem jó a nem értelmezett tartományba engedni egy bemenetet.
Nézzünk egy lehúzó ellenállásos példát. Adott egy bemenet, amire egy gombbal kapcsolsz 5V-t.
Amikor lenyomod a gombot, a bemenet határozottan 5V lesz, hiszen a gomb egy rövid zár. De mi van, ha nem nyomod a gombot? Akkor "lóg" a levegőbe, és ki van téve sok mindennek (csernobiltól barátnő hisztije), és hol 1V lesz rajta, hol 4V, hol 0V. Olyan ez mint egy nem inicializált változó, aminek nem adsz értéket, lekérdezed, számolsz vele és nem várt viselkedést kapsz. Itt jön képbe a lehúzó ellenállás, egyszerűen a bemenetet lekötjük a földre. Azért kell az ellenállás, hiszen a gomb lenyomásával nem szeretnénk a tápot rövidre zárni. Ezen az ellenálláson gomb lenyomása alatt áram folyik, Ohm bácsi akinek azért elég széles körben ismert a törvénye meg is határozta az összefüggést, ami alapján számolható.
A gomb felengedett állapotában az ellenálláson nem folyik áram (amíg bemenetnek van deklarálva a láb, meg amíg belül van még a füst az ic-ben, mert ha már kiszabadult onnan, akkor ez nem feltétlen igaz)Egy szó mint száz, az ellenállás meghatározásához figyelembe kell venni, hogy mennyi áramot akarunk átfolyatni az ellenálláson, ezt bírnia kell a tápnak, a kapcsolónak, a vezetéknek, és persze az ellenállásnak is. Nem érdemes sem túl kicsire méretezni, sem túl nagyra. Ha nincs kedved számolni, akkor 5V nál használj 10KOhmost.
Azt, hogy mikor le, mikor felhúzó ellenállást kell alkalmazni, az függ, hogy mi legyen pl az alapértelmezett bemenet. Ha gomb nyomáskor 0V-t akarok, akkor felhúzó kell, alapértelmezett 1 lesz, mikor nem nyomod a gombot. Vannak alkatrészek, pl egy 3 lábú hőmérő ic, aminél megmondja a gyártó, hogy a digit lábat fel kell húzni 5V-ra, hogy működjön..
Az analóg bemenethez nem feltétlen kell le v. felhúzó ellenállás, ez függ attól amit rákötsz. Ott nincs nem értelmezett szint, de ott sem jó, ha nincs jel !
A feszültség osztóhoz minimum elő kell venni egy 8. osztályos fizika könyvet és átlapozni soros, párhuzamos, vegyes kapcsolás, eredő ellenállás. Röviden: Adott egy egyszerű soros áramkör, amire feszültséget kapcsolva, az áram megindul, átfolyik mindkét ellenálláson. Megint csak Ohm bácsi tv szerint számolható, hogy adott ellenálláson mekkora feszültségek lesznek, de a sorba kapcsolt ellenállásokon eső feszültségeket összeadva megkapod a rá kapcsolt feszültséget, mondhatjuk fordítva is, hogy a rá kapcsolt feszültség megoszlik az ellenállásokon.
Miért kell két ellenállás? Az egyszerűbb válasz, hogy nem kell minden esetben. Az áramkörödnek (annak a résznek amit így bekötsz) is lesz egy ellenállása, ha ezt ismered, akkor a másik ellenállást ehhez méretezve is lehet feszültséget osztani. Példa, az áramköröd (fekete doboz, nem tudjuk mi az) 10KOhm ellenállású, 6V-t szeretnél rákapcsolni a 9V-os elemről. 5KOhmot sorba kötsz, feszültség megoszlik, áram folyik, happység van, a 9V táp 15KOhmot kap, le tudja adni az áramot elég tartósan, nem melegszik, stb.Általában azonban nem így van ! Egyrészt nem tudod az ellenállást, másrészt pl egy arduino bemenete nem úgy működik mint egy rezisztiv rész, pl egy analóg bemenetre akarsz adni 2-3V-t (ezt akarod tudni, hogy mekkora, de nem akarod, hogy ott áram folyjon). A csak sorba kötsz egy ellenállást, akkor oda igen nagy ellenállást kell sorba köss, és ráadásnak maga a bemeneti fesz sem lesz stabil, stb.
A párhuzamos kapcsolásnál, ha a két ellenállás nem egy nagyságrendbe esik, akkor bár a feszültség esés ugyanakkora a nagyobbik ellenálláson nagyságrenddel kisebb áram folyik, ami azt jelenti, hogy ez többé kevésbé elhanyagolható. (100x aránynál ugye 1% lesz). Nos ebből kifolyólag a méretezésnél nem foglalkozol vele, tisztán rezisztiv alkatrészekkel méretezed a feszültség osztót, majd a bemenetre kötöd az így osztott feszültséget, ami azonnal beleszól mindenbe, de jó méretezésnél csak 1% eltérés lesz... -
fpeter84
senior tag
válasz
Teasüti #2762 üzenetére
Fel/lehúzó ellenállás: anélkül "lebeg" a láb amikor a kapcsoló nyitva van - nem garantálható hogy tényleg 0 vagy 1 lesz rajta, viszont egy pár K ellenállással biztosra lehet menni. Az ATMEGA328P doksijából ki kellene túrni hogy minden lába tudja e, de elvileg van olyanja hogy szoftverből bekapcsolható internal pull-up, tehát az adott láb biztosan logikai 1-re kerül, a kapcsolóval meg földre lehet húzni - így elkerülhető a plussz alkatrész. (kivéve a prell/bounce jelenség, de ez még ráér)
Feszosztó: a feszosztó az 2 ellenállás, 1-el csak áramot tudsz korlátozni, de az adott kötési mód a bejövő feszültséget is arányosan letöri. Most csak hasraütésből - ki kéne ezt is túrni a manual-ból - de úgy 2-3V-tól már biztosan logikai 1-nek tekinti olvasáskor a digit láb állapotát. Tehát ha mondjuk az autóból érkező 12-14V-os jelet szeretnéd detektálni, akkor R1=100K, R2=33-47K, akkor a lábra érkező jel biztonságosan mindig a 3-5V-os tartományba fog esni...
Közvetlenül egybként akkor sem illik összekötni 2 áramkört, ha egymástól független tápról mennek. Pl ha 2 arduino beszélget egymással sorosporton vagy akárhogy máshogy, akkor illik a lábak közé berakni egy-egy soros 1-10K ellenállást, különben ha egyik oldalt kikapcsolod, akkor a digit lábon keresztül próbálhat egy kis áramot szipkázni magának a másiktól. Elég bolondbiztosra tervezték ezeket a kontrollereket, leginkább csak jelentős túlfesszel lehet kárt okozni bennük, de ez nem boldogít ha a tiéd éppen mégis megsérül...
"Ilyenből szokott sokat tanulni az ember"
Na ja, amikor véletlenül követed el a hibát, és már napok óta szívsz vele hogy miért nem azt csinálja amit vársz tőle...
-
tvamos
nagyúr
válasz
Teasüti #2762 üzenetére
Ahhoz, hogy megértsem a lehúzó ellenállás létjogosultságát, ahhoz ismernem kéne a digitális áramkörök lelki világát?
A Kirchhoff-törvényeket kéne először!Tehát 5V -> kapcsoló/szenzor -> bemenet. Ez így miért nem jó? Vagy ha az 5V-ot ha közvetlen rádugom a bemenetre? Mi azzal a baj? Azt hinném mér rajta egy 5V-ot az ADC, aztán mindenki örül.
Ne hallgass senkire! Próbáld ki, és meglátod. -
fpeter84
senior tag
válasz
Teasüti #2758 üzenetére
A relét se ingyen adják, sőt!
Egyébként első nekifutásra ezeket találtam: [link], [link] - kínából nyilván olcsóbb, csak arra többet is kell várni
Nincsen egy elektronikai alkatrészbolt a közeledben? Úgyis kellhet még sokminden - ellenállások, kondik, ilyesmik - nem tudom mit kapsz a starter készletben...
Egyébként digitális bemenetnek az opto-s leválasztás a legegyszerűbb... [link] - ehhez már csak egy soros ellenállás kell a bemenő oldalra - kb 0.68-1K 12-14V mellett
szerk: az még lemaradt hogy kimenet esetén a reléből csak a legkisebbeket tudná meghajtani közvetlenül a uC lába, de oda is kell 1 schottky mert a tekercs hajlamos nagyfesz tüskéket generálni ami kiütheti az egész procit. Átlagos autós relét már nem is tudna behúzni, ahhoz mindenképpen kell az előzőekben linkelt N-MOSFET vagy tranzisztoros (a FET jobb, kevesebb a szivárgó áram, nagyobb a terhelhetősége, kevésbé melegszik) kapcsolás + schottky a relével párhuzamosan. Ilyen paneleket egyébként lehet kompletten is venni 1-2-4-8 relével - ezeken elvileg rajta van minden [link]
-
fpeter84
senior tag
válasz
Teasüti #2754 üzenetére
Szerintem ne relékben gondolkodj, nettó önszivatás - lassú, zizeghet (prell), csattog, fogyaszt, drága - félvezetőkkel sokkal egyszerűbb megoldani, de tényleg!
Kimenet: a fogyasztó pozitívja fixen a tápon (biztosíték persze kell valahová), a MOSFET pedig földre húzza és ezzel kapcsolja be
Ha egyéb félvezetős áramkört akarnál bekapcsolni arra nem feltétlenül használható, mert ha valami egyéb bekötésén keresztül kezd földelni az minimum parajelenséget okozhat, de akár tönkre is mehet. De LED/izzó/relé/motor stb stb ilyesmik kapcsolására ideális mert minimális a szivárgó áram, alig melegszik...
Digit és analóg bemenet: a kulcsszó a feszosztó! 2 ellenállás az egész, itt van egy kalkulátor hozzá... Ha autóról, vagy valami más külső jelforrásról van szó akkor ajánlott még 2 schottky-t is betervezni - ezek megeszik a túlfeszt, tüskéket...
Izolált digit bemenethez pedig opto:
A felhúzó ellenállás az arduinok bizonyos lábain el is hagyhatóak, mert van bekapcsolható belső felhúzó rajta...
-
Janos250
őstag
válasz
Teasüti #2733 üzenetére
Nem tudod csak úgy "felemelni". Nincs 12V-os mikrokontroller.
Helyette az Arduino lábával egy "villanykapcsolót" tudsz kapcsolni, ami be- illetve kikapcsolja a 12V-ot.
A "villanykapcsoló" relé, illetve FET.
FET-ből az IRL típusjelűek általában megfelelőek.
[link]
http://www.hqelektronika.hu/hu/category/tranzisztor_fet
Kulcsszó legyen IRL.
vagy ebay.
Reléből ebayen olyat is találsz, amit az Arduino tud kapcsolni.
Itt egy alapszintű leírás:
http://kkft.bme.hu/~johnny/Diplomamunka_OcskoSzabina_2011.pdf
30, 34. oldal
14, 18. ábra
Itt a PIC helyére gondolj Arduinot! -
fpeter84
senior tag
válasz
Teasüti #2740 üzenetére
ezekre a cuccokra rákeresve remek tutorialokat lehet találni netszerte, én nem félnék belevágni...
- arduino stepper motor ULN2003
- arduino 1602 LCD
- arduino IR remote receiver
...stb... egyébként ezt találtam hozzá: [link] továbbá a sparkfun, adafruit stb oldalakon érdemes nézelődni
szerk: de tényleg megveheted az eredetit is - nem akarok turkálni a zsebedben, ha neked nem fáj ekkora összeg akkor nyugodtan! csak ha én összeszámolnám hogy az utóbbi 7-8 évben hány ezer dollárt fizettem ki kína felé, és ha azokból mind eredeti/márkás/drága verziót vettem volna akkor hány tízezer $-ra rúgna, hát inkább már az ezrekbe se akarok belegondolni
-
fpeter84
senior tag
válasz
Teasüti #2738 üzenetére
Ha nem esik nehezedre ennyit kiadni akkor hajrá, hülyeségnek semmiképpen nem nevezem a kit-et mert tanulásra, indító rúgásnak tényleg lehet jó - csak én úgy viszonyítok, hogy abból a pénzből úgy 36db Uno-t küld a kínai
Azért nézz utána az Arduino oldalán, hogy mi is van abban a csomagban, és hasonlítsd össze ezzel: [link] - ha csak a könyv a különbség, akkor az nem biztos hogy megér +18e-et
-
fpeter84
senior tag
válasz
Teasüti #2734 üzenetére
A szépséghibája az Uno-nak hogy ez az egyetlen sorosportja, és ezt használja a bootloader programfeltöltője is
(TXD)PD1
(RXD)PD0Amikor az IDE a segédcsipp TX lábán ad a proci bootloadere felé az RX lábára, akkor a külső passzív módon adó forrás - mint pl egy GPS vevő ami másodpercenként küldi magától az NMEA 0183 mondatokat - bezavarhat a programozásba, amikor pedig a proci bootloadere a TX lábán válaszolgat a segédcsipp RX-e felé, akkor azt meg fogja kapni a külső eszköz is, és bezavarhat annak a viselkedésébe. Ezt elkerülendő célszerű a külső eszközt minimum kikapcsolni, de esetleg le is húzni a vezetékeit. Macera, soros célra jobb egy olyan kontrollert használni aminek vagy több portja van (Mega2560), vagy natív USB-n megy a programozás (32U4 család) vagy mindkettő egyszerre (Due)...
Ha címezhető LEDsort használsz, akkor nincsen szükséged semmi kapcsoló áramkörre. Egyszerűen rácsatlakozol a buszrendszerére - a gyorsabb WS2801 ha jól láttam akkor SPI felületen, a lassabb WS2812 pedig tetszőleges szoftverből kapcsolgatott IO lábra megy, tehát egyik sem üti a sorosportot. Viszont több összekapcsolásánál, vagy ha pl mobilról elérhetőre szeretnéd megcsinálni - kékfog, wifi, stb ezekre is vannak pár dolláros kínai megoldások - akkor már szükség lehet arra is...
Többek között pl itt is jól látszik az Uno lábkiosztása: [link]
Az 1 vezetékes LEDsornak csak egy tetszőleges digit kimenet kell. A 2 vezetékes gyorsabb az SPI-re megy, ami az SCK/MOSI/MISO, de ebből csak 2-t használ, az órajelet meg az adat kimenetet, olvasni nem lehet őt sem -
fpeter84
senior tag
válasz
Teasüti #2730 üzenetére
A csomagból a könyv nekem nem érne egy fillért sem - szerintem minden ilyen anyag elérhető online is. A többi dolog jópofa, de az Uno erősen alap cucc - pl egyik nagy fogyatékossága hogy csak 1 sorosportja van, ami egyben a programozó portja is, valamint a flash/RAM se sok, könnyű olyan lib-eket találni, amelyek kilógnak az erőforrásaiból. Természetesen van amire ez is elég, csak a 28e-et picit soknak érzem érte
A Mega2560-nak 4 sorosportja van amiből csak 1 osztozik a programozó funkcióval, az Atmega32U4-et használó Leonardo és Pro Micro-nak ugyan csak 1 sorosa van, viszont a programozó felület az USB-n megy így ez szabadon marad. Ráadásul az utóbbit könnyebb egy breadboard-ba belebökni és körbeépíteni...
Jól látom, hogy UK-ba rendelnéd? Ez helyben van, és a szett árából 13 darabot házhoz visz belőle Neked a postás
Eredeti vs kínai: egyrészt bizonyos típusok a tápjukban különböznek, másrészt van olyan aminél az eredetin egy USB-s atmel adja az USB>soros programozó illesztést, a kínaiakon meg általában a CH340g chip, de az utóbbi szerintem igen keveseknek okoz gondot. Pár egzotikus projektben ugyan láttam olyat pl hogy az eredeti UNO-n a segédcsippnek lecserélték a firmware-jét és befogták USB host/device célra, pl billentyűzet, egér, stb, de ez tényleg perverz megoldás, hiszen ott van a fenti 32U4 ami önmaga USB-s típus. Mostanra már az Androidos IDE is támogatja a CH340g-t, úgyhogy már tényleg nem tudom hol nem elég ez is. De a 32U4-en a natív USB miatt biztosan nem lehet probléma. Mellesleg a kínai többnyire nem "hamisítvány" mivel OpenSource - max akkor lehet hamisítványnak nevezni, ha minden felirat rajta azt állítja hogy eredeti Made in Italy...
Breadboard, LCD kijelző, minden van EU-n belülről is ha nem akarsz várogatni a még olcsóbb kínaira - érdemes az ebay.co.uk-on nézelődni (EU only szűréssel) valamint az eu.banggood.com -on is nagy a választék az Arduino SCM rovatban.
Ha egyesével címezhető RGB LED sort veszel (WS2801 gyors de drágább, WS2812 lassabban címezhető de olcsóbb) akkor nem is nagyon kell más hozzá mint az alap Arduino deszka - max azért érdemes breadboard-ot is beszerezni meg még ezt azt hogy legyenek gombjaid is a vezérléséhez, ne csak a soros konzolon utasíthasd. Illetve ha hosszabb a LED sor akár ajánlott egy tápegység beszerzése is, mert az USB-ből kinyerhető áram erősen limitált... Ez lehet akár egy normális mobiltöltő is - ehhez is lehet kapni pl Micro USB csatlakozó kivezetést, de lehet egy mezei 5.5/2.1-es hengeres végű csati is ha éppen ilyened akad otthon 5V-os.
-
fpeter84
senior tag
válasz
Teasüti #2708 üzenetére
Hát a 30 csatorna már igen magas elvárás - ugyan a dsPIC családban látok olyat amiben van ennyi, de 144p TQFP tokozásban - nem lehetetlen beforrasztani jobb minőségű gyártatott nyákra kézzel, de lehet nem ezzel kellene kezdened
Akkor ha még semmit nem szereztél be, lehet érdemes más vonalon elindulni mint a rengeteg PWM csatornás forrás: keress rá hogy WS2812 led strip - ezek egyedileg pixelenként címezhető láncot alkotnak és cirka bármivel meg lehet hajtani - max a címzési sebességben számíthat hogy Nano/Uno vagy valami izmosabb procit választasz... Létezik belőle 5 és 12V verzió is - de az utóbbi nem tudom elviseli e a 14-et - lehet szerencsésebb az 5V-ost választani és egy jó hatásfokú kapcsüzemű tápról adni neki ezt.
Más hasonló vezérlőcsippes RGB láncok is léteznek, keresgélj kicsit ebben a témakörben hogy milyen alternatívák léteznek még...
@tvamos:
Nyilván a legprofibb megoldáshoz kell keresni egy PWM vezérelhető áramgenerátor cél-IC-t
szerk: egyébként én bátran ajánlom a filléres kínai arduino változatokat mert eddig csalódnom egyben sem kellett, max vannak apró módosításokból származó korlátaik (esetleg előnyeik is) amivel jó tisztában lenni. Az alap Due-k eddigi tapasztalataim alapján 100% azonos klónok, és azért nem teljesen mindegy hogy 50$ az eredeti, vagy 12$ free shipping az Aliexpress-ről
-
fpeter84
senior tag
válasz
Teasüti #2704 üzenetére
Egyben nem rémlik ilyen megoldás...
Melyik Arduino-d van és kínai vagy eredeti? Az eredeti Uno (MC33269) és Mega2560 (NCP1117) LDO-ja papíron absolute max rating 20V, a Nano (UA78M05) pedig 35V, tehát rákötheted az autó hálózatára. A kínai Uno/Mega/Due mind olyan gagyi (AMS)1117-es LDO-t kapnak ami még a bő 12V-tól is néha elfüstöl, az autóban órák/napok kérdése csak a döglés - gyakorlati tapasztalat. A Due eredeti és kínai másolata egy és ugyanaz (a legtöbb, ellenőrizni nem árt azért) és egy LM2734 DC-DC step-down van rajta ami 20V-ig küldhető terhelhető...
Ha olyan kínai Arduino-d van amit nem köthetsz direktben a 14V-ra, akkor pl: [link]
PWM csatornából mennyire lenne szükséged? A Due-nak pl alapból is 12 csatornája van címkézve, de alternatív lábakon még további 4-5 csatorna elérhető. Ilyen shield persze nem lesz hozzá, lehet kénytelen leszel forrasztgatni kicsit - prototípus nyák, FET, ellenállások, tranzisztor...
Milyen LED-eket szeretnél meghajtani? Natúr LED, vagy kész szalag/modul amiben van áramkorlátozó ellenállás is? Utóbbi lehet problémás, mert ha nagyon ki van centizve az árama akkor 12V-on lehet jó, de a 14V már megölheti... Ha bízol az áramkorlátjában akkor egyszerűbb megoldással is rá lehet adni a tápot (esetleg még plusszban sorbakötni adott méretezésű ellenállást):
Ha biztosra akarsz menni, akkor áramkorlátozós PWM meghajtás:
Az utóbbinál az R2 méretezését majd matekozni kell, hogy jól legyen beállítva a maximális áram, itt írják le az elméletét... Ez a kör nem engedi megfutni az áramfelvételét és PWM-el kapcsolgatható is (a szürke rész egyébként el is hagyható, akkor csak fixen áramkorlátoz vezérlés nélkül)...
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- CPU léghűtés kibeszélő
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Melyik tápegységet vegyem?
- Fejhallgató erősítő és DAC topik
- Linux Mint
- Mibe tegyem a megtakarításaimat?
- OLED TV topic
- Teljesen az AI-ra fókuszál az új AMD Instinct sorozat
- Kazy Computers - Fehérvár - Megbízható?
- További aktív témák...
- HP 13"FullHD IPS,i5 8265u(8x3,9Ghz)Villágító billentyűzet,8GB Ram,256-512SSD,jó akku,Szép állapot
- Újszerű Asus,játékra is,17,3"FullHD,i7 8550(8X4Ghz)GT920mx 2/4GB DDR5 VGA16GB RAM,SSD+HDD,
- Elado szamitogep (gephaz nelkul)
- Corsair K100 RGB INGYEN FOXPOST
- Ryzen 7 5800X / RX 7700 XT Nitro+ / B550M / 16GB vagy 32GB RAM / 256GB M.2 + 1TB M.2 SSD / 750W
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
- Bomba ár! Dell Latitude 7480 - i5-6GEN I 8GB I 256GB SSD I 14" FHD Touch I HDMI I Cam I W10 I Gari!
- Honor Pad X8 64GB, Wi-Fi, 1 Év Garanciával
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- HATALMAS AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest