Hirdetés
-
Gray Zone Warfare - Napokon belül kiderül, hogy mikor indul a korai hozzáférés
gp A jelentések szerint a zárt tesztek sikeresek voltak, hamarosan még többen belevethetik magukat a programba.
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
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
-
Teasüti
nagyúr
Digitális szalagokkal volt eddig dolgom, de az analóg is éppen ugyanúgy programozható. természetesen minden felsorolt igény könnyedén kivitelezhető.
A wifi lesz talán a megkomplikáltabb része, abban Janos250 az illetékes profi.Ami problémát okoz az a távvezérlő program. Na itt vagy készítesz magadnak egyet, vagy webserver-t futtatsz a mikrokontrolleren és HTTP alapon éred el bármilyen böngészőből, vagy keresel egy kész programot mondjuk Android-on, vagy ami tetszik.
Szimulátor nincs, úgy hogy én leadnám a rendelést Aliexpress-en. Mire ideér addigra kiművelheted magad a témában.
-
Janos250
őstag
Az én kommentem:
Színenként és szalagonként kell egy-egy FET, tehát összességében egy tucat. Ehhez kell valami panel, doboz, miegymás.
A fényerőt vagy úgy állítod, hogy szaggatod a jelet (PWM), vagy a FET részleges nyitásával fűtesz.
Az okosotthon témában sok androidos vezérlő megoldás van rengeteg dologra, egy része egész szép, de én ezeket nem használom/tam. Én szeretek saját WiFi/html megoldást használni.
Ahogy én csinálnám:
WS2812 RGB led, 810 Ft/m, 30 led/m. Én pár hete még 600-ért vettem, szépen múködnek, elég gyorsan be is érkezett.
link
Külön madzag van a tápnak, és külön a vezérlésnek. Kódok küldésével adjuk meg, hogy melyik szín milyen erővel világítson. Ami kódot egyszer kiküldtünk, az a táp kikapcsolásáig él, nem kell frissítgetni, csak amikor változtatni akarunk.
A vezérléshez használt madzag 3.3V-al is hibamentesen működik. Tápnak 5V kell, de kevesebbel is elmegy. A tévedésből rákötött 9V-ot egyszer régebben még elviselte, de a mostanában véletlenül ráadott 12-t már rossz néven vette.
A neten vannak rá programok, Teasüti gyakorlatban alkalmazza őket. Én nem ezeket használtam, mert túlbonyolítottnak találtam, én saját magam írtam rá egyszerűbbeket, ESP32-re (én mostanában mindenre az ESP32-t használom, mert olcsó. 2 ezer Ft alatti összegért gyors, 2 magos, sok szolgáltatással felvértezett kontrollert kapunk)
A több led használata a legegyszerűbben úgy oldható meg, hogy a pin számot váltogatod, mert minden megoldásban úgyis van egy változó, ami a GPIO számot definiálja.
Előnye, hogy ha a későbbiekben variálgatni akarod (pl. folyamatosan , akár pixelenként változó szín, fényerő), nem kell hozzá semmi hardver módosítás, csupán szoftver, arra meg azt írtad, ismered a C-t.
Van persze, az a távirányítóval vezérelhető led szalag is, valahogy bizonyára azt is lehet valahogy Arduinoról vezérelni, de annak az ára is közel van a WS2812-höz.Még utólag: ha wifi is van a tervek között, akkor kizárólag ESP8266, vagy ESP32 a mai világban. A net tele van régi, ma már elavultnak számító, drága, bonyolult megoldásokkal régebbi kontrollerekre, de - szerintem - nem érdemes energiát pazarolni rájuk. A korszerűbb olcsóbb, és egyszerűbb.
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Még egy kis kiegészítés:
"Van esetleg Arduino-hoz szimulátor?"
Nem tudom, lehet, hogy van, de az a lábak, prifériák kezelését biztosan nem tudja azokon a kontrollereken, amiket ma használunk.
"Elvileg van annyi analóg pin a cuccon, hogy akár egy negyedik szalagot is tudjak vezérelni."
Attól függ, milyet használsz. STM32-n, ESP32-n jóval több is, ha mindenképpen analóg megoldást keresel. WS2812-re digitális pin meg aztán végképp.
"Teszek majd MOSFETeket a szalagok meghajtásához, bár elvileg el kellene bírnia a kb 50cm-es darabokat."
Szerintem FET nélkül nem fogja elbírni az analóg ledet.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
"A terv, hogy egy WS2812 fog futtatni egy http servert és azon keresztül tudom majd vezérelni a szín beállításokat az Arduino Uno-n keresztül."
Na, én már végképp nem értem. Milyen szalag, milyen kontroller?AZ IRL540 jó.
"A legfogósabb kérdés számomra a LED szalag, mert nem nagyon láttam leírásokat a szalagokról, hogy az most analóg, vagy digitális"
Nézd meg, hány madzag megy bele. ha négy (R táp, G táp, B táp, GND), akkor analóg. Ha 3 (GND, táp, vezérlés), és gyakran még külön 2, hogy azon is lehessen tápot adni, ha valaki úgy akarja, akkor digitális. Bár a WS2813-nak szintén több bemenete van, mert ott van még egy plusz data volanl valamiért, de az úgyis drágább még.[ Szerkesztve ]
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
Szalag kapcsán ha nincs feltűntetve miről van szó, akkor a legegyszerűbben úgy tudod eldönteni analóg vagy digitális, ha megvizsgálod a vezetősávokat. Analóg RGB jellemzően 4 sávos és Vcc, R, G, B a neve a sávoknak. WS2812b-nél pedig 3 sáv van csak: Vcc, Data (Din -> Dout), GND. Vagy négy sávos digitális WS2801 esetén: Vcc, Data, Clock, GND. De van két adatbuszos WS2813 is Data és Backup sávokkal, amivel összesen 4 sávos lesz ez is.
Aztán van egy rakás elfajzott elnevezés is, mint az APA??? különböző variánsai (ahol a ? egy típusszám), de lényegüket tekintve pont ugyanaz, mint a WS???? széria.
[ Szerkesztve ]
-
Teasüti
nagyúr
Uno + ESP8266 felállásban nem tudok segíteni, de a többiek erről úgy 3,6 másodperc alatt fognak lebeszélni.
Az ESP is egy mikrokontroller, amit ugyanazon a nyelven, ugyanabban az Arduino IDE-ben lehet programozni.
Csak fejlettebb (lásd wifi).Az, hogy milyen szalag kell neked, azt te döntöd el. Vannak érvek mindkettő mellett és ellen is.
Az egyszerű megoldás az analóg szalag mind programozás, mind üzemeltetés (és megbízhatóság*) szempontjából. És olcsó is.Digitális szalag az drágább, bonyolultabb programozni, viszont egyszerűbb bekötni és mehet ugyanarról a tápról, mint a vezérlő. (Persze a tápot méretezni kell, és érdemes berakni a vezérlő elé egy diódát, hogy ha gépre kötöd, akkor a szalag véletlenül se tudja meghúzni az usb portot.)
Az egysávos adatbusszal rendelkezőknek megvan az a hátránya, hogy ha az egyik pixel vezérlőhibás lesz, akkor az utána következő pixelek is szemetelnek.
A szalagok gyártási minősége elég nagy szórást mutat. Simán előfordulhat, hogy egy 5 méteres szalagon az első bekapcsolásra lesznek hibás pixelek, vagy rövid időn belül megy tönkre egy-egy. Persze ha szerencsés vagy, akkor hosszú ideig nincs rá gond.*Egy pixel ha tönkremegy - vagy egy színkomponense -, nincs hatással a többire.
[ Szerkesztve ]
-
Janos250
őstag
Először azt kell eldöntened, hogy milyen ledet akarsz, mert minden további attól függ.
Az általad mellékelt linken analóg van: 60 led/m, azaz 20*(1 vörös, 1 zöld, 1 kék ). Ehhez kell a FET. A WS2812-ben minden pixel önmagában RGB, tehát egy pixelbe van berakva mind a 3 szín. Ha WS2812, akkor nem kell FET.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
Janos250
őstag
-
Janos250
őstag
Olyan ESP32-t vegyél, amin van USB port. A maiak 99 %-a olyan.
Semmi nem kell hozzá, csak USB kábel.
A WS2812-höz való csatlakoztatáshoz én ilyesmi kábeleket használok:
link
Táphoz ilyet, de persze bármi jó:
link
meg ilyet:
link
Meg ez is jól jön:
link
Ha komolyabban akarsz majd a későbbiekben az Arduinoval foglalkozni, akkor egy ilyen is nagyon jól jön:
link
Egy ilyen is nagyon hasznos alkatrészek teszteléséhez:
link
Itt jobban látszik néhány példa azokból, amiket, tud. Nem csak tarnsistor tester, hanem szinte mindent, aminek nincs háromnál több lába. Bedugod, és megkeresi saját maga, hogy mi az, kirajzolja a bekötését, kiméri a paramétereit.
linkMilyen oldalt javasolok? Hát ez egy nehéz kérdés. Az Arduino rendszer a C++ nyelvet ismeri, a szabad fordítóval fordít. Az Arduino annyival több mint a sima C++, hogy bizonyos függvények minden kontroller típushoz kötelezően definiálva vannak, ebből adódik, hogy a specialitásokat nem használó programok bármely Arduino kompatibilis lapon ugyanúgy futnak.
Na, ennyi olvasnivalót mára.[ Szerkesztve ]
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
Jól gondolod. Két éve még azt se tudtam mi az a mikrokontroller, elektronikai tudás meg a nullához konvergált. Megtetszett a címezhető ledszalag és emlékeztem, hogy van az az Arduino izé, lehet az kell ide.
Azóta eltelt lassan két év és épp saját NYÁK-okat tervezek a hobbi projektemhez. A 3D nyomtató meg a dobozában várja a sorsát, hogy a NYÁK-okból használható eszköz szülessen. A héten megint berendeltem vagy 15 tételt kínából. Annyi pénzt költöttem már a projektre és a szükséges szerszámokra, felszerelésre, hogy megsaccolni se lenne egyszerű.
Szerinted függő vagyok?Igazából az alkotás öröme okoz függőséget. A siker, amikor órák óta próbálod kisilabizálni és végre összeáll.
[ Szerkesztve ]
-
Janos250
őstag
A nagyon nagy helyfoglalás reális.
Az ESP32-re felrakja az RTOS oprendszert, az kiteszi a helyfoglalás zömét, arra rakja rá a te pici programodat.
library:
Nekem kiválasztja a megfelelőt annak ellenére, hogy kiírja, hogy többszörös, stb.
Mivel én mindig a portable verziót használom, így könyvtárakat hová tegyük ügyben csak a portable verziót illetően tudok nyilatkozni.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Kétféle verziót tölthetsz le:
1. Amit installálsz, és az felrakja magát ahova kell, a programjaid könyvtára - ha jól emlékszem - a dokumentumokba kerül.
2. Portable verzió:
Amit letöltöttél, azt egyszerűen kibontod egy könyvtárba valahova, de lehetőleg olyan helyre, hogy ne legyen túl hosszú a path.
Ahogy kibontottad, lesznek ilyen könyvtárak pl.: hardware, libraries, stb.
Ugyanide csinálsz egy portable nevű könyvtárat MÉG AZ ELSŐ INDÍTÁS ELŐTT.
Akkor néhány dolgot ebbe rak, pl. sketchbook könyvtárat csinál a programjaidnak, stb.
Én mindenben, még a video lejátszóban/szerkesztőben és egyebekben is azt a verziót szeretem, amit nem installálok, hanem csak futtatom ott, ahol kibontottam.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
itg
tag
én is szívtam vele, javaslom nézd meg ezt a linket:
https://github.com/esp8266/Arduino/issues/2182WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);ps:
egyébként most sem mondható stabilnak az ESP32, 100-ból 2-3x előfordul, hogy azt írja hogy csatlakozik, de mégsem éri el a belső oldalt. Kezdek is kiábrándulni belőle...[ Szerkesztve ]
-
Tankblock
aktív tag
Hello,
próbaképen egy delay(1000); tegyél a Wifi.begin... után
A Soros portton meg a sztem azért nem látsz semmit, mert Ő megpróbálja kiflushelni és mivel nincs a loopban semmi ezért vége lesz a programnak.
Serialt ha folyamatosan monitorozod akkor elkaphatod talán.
A kiíratást tedd a loopba a végére meg egy delay(5000); aztán további jó tesztelést.
Release the Beast....
-
Janos250
őstag
Az esp-wrom-32 a lényeg.
"Itt lehet olyat csinálni..."
Persze. Ez C++ , vagyis amit C++-ban lehet, azt lehet. A C++ tk. a C bővítése. Attól lesz arduino, hogy egy csomó (C++, C, assembly) fgv, type, constans már definiálva van, amit includol. Ugyanúgy main() is van , csak nem látod, de megkeresheted.
A main egyszer lefuttatja a setup függvényt, utána végtelen ciklusban hívogatja a loop-ot.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Ezért jó ez, mert minden egy helyen van, kevesebb, mint 600 Ft-ért:
https://www.ebay.com/itm/8-Tasten-Ziffern-Digital-LED-8-Bit-TM1638-Display-Module-f%C3%BCr-AVR-Arduino/172471641665?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Tettem fel egy hevenyészett fényképet a bekötésről, és azt a programot, amivel fut.
Ha akarod, megnézheted. A case után vannak, amit sorra vesz, azt kell átírogatni.
http://arduinouser.hu/esp32/WS2812/index.htmlAz amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
"de mi van akkor ha én pl egyszerre akarom az első tíz LED-et vezérelni."
"Egyszerre" nem tudod vezérelni a 10 ledet. Mind a tíznek ki kell küldened egymásután ugyanazt a kódot.
A WS2812 úgy működik, hogy ami színkódot elsőként kiküldtél, azt elkapja magának az első led, amit másodszorra, azt az első továbbküldi, a második kapja el, stb.
Akkor kezdi elölről, ha nagyobb (pl. 10 microsec) szünet van a két kód érkezése között.Amit én feltettem, az tutorial céllal készült, ha valaki tanulmányozni akarja az ESP32 RMT használatát.
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
JozsBiker
aktív tag
Értem. Illetve így nem értem a delay szerepét, de mindegy. Én azért érdekességképpen tennék a for ciklusba is mondjuk 1 másodpercet, hogy szemmel látható legyen a működése
Írtad hogy az első led -del két verzióban is bajod volt. Lehet hogy egyszerűen csak hibás. Hagyd ki, kezdd a másodikkal.
Néhány led színe provizórikusan akkor szok megváltozni, ha a vezérlési láncban kontakthiba van, esetleg a táp nem megfelelő ( feszültség és/vagy áram szempontjából ). A kontakthiba az utolsó jól működő led után van.[ Szerkesztve ]
-
Janos250
őstag
Akkor valami egyéb gáz is van!
Nem adhat hibajelzést ESP32-n.
Nincs is benne SPI használat, csak RMT.
Így csináltad? Látod, lefordul.
Ha a szalag első ledje hibázik, az időzítési probléma többnyire. Túl hosszú a két pixel közötti idő (pl. interrupt van közben) ezért elölről kezdi.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Ha végképp nem megy, tettem fel egy gyalogkakukk megoldást, amiben semmi más nincs, csak a CCOUNT a delay helyett. Ha megnézed a writeOneByte()-ot, látod, hogy felviszi a lábat magasra, helyben jár, ameddig magasan kell tartani, majd leviszi, és rögzíti az időt, hogy mikor kezdődhet az új bit kivitele. Az új kiírása előtt megnézi, hogy eletelt-e már a megfelelő idő.
link
Ebben tényleg semmi olyan nincs, ami miatt ne működne. Persze a másiknak is kell működni.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Tankblock
aktív tag
Hello,
mert un. "bit banget" használ....
a RMT használatával lehet megoldani. Nálam 96 W2812 led gond nélkül megy.
PL használd ezt: [GitHub repo
letöltöd a cpp és a h filet, includálod Ardunioba és a main szerint használod.....
Meg sem kell írdon.Még egy dolog, a földet közösítsd a controllerrel, de a táp legyen elegendően nagy. Nálam a végén 5V 5A ipari lesz addig meg jár 2,5A tápról de minimál fényerő van a kódban.
96 x 3 x 20 mA számolva = 5,76 A.... még ez is alul van tervezve, de nem tervezem 100% fehér fényen járatni.
Release the Beast....
-
_q
addikt
Nekem is ugyan ilyen van kép alapján, nem innen vettem és ott nem is volt benne a nevében a nodemcu, ami nem véletlen hiszem ez ESP32S modul, nem ESP8266. Itt tévesen szerepel a nevében. Gondolom így több találatot ad ki ha valaki ESP32-re kerese vagy ESP8266-ra. ESP Dev Board-ként működik az Arduino IDE 1.8.5-el. Tehát inkább a code/library lesz a gond szerintem.
[ Szerkesztve ]
-
Janos250
őstag
"de így is ugyanazt az üzenetet kapom."
Akkor valami egyéb gáz van, mert mielőtt feltettem, direkt próbára lefordítottam, annak a képét tettem fel.
És a másik verzió, amit a 8194-ben írtam? Abban még RMT sincs, csak digitalWrite(), annak aztán mindenképpen menni kellene! Az ESP32 elég gyors ahhoz, hogy RMT nélkül, csak a GPIO használatával is menjen, ha az interruptot letiltjuk.
Itt írom le, hogy ha valakinek nem elég a millis, micros, mert nagyobb felbontást akar, akkor a CCOUNT használható. Egy baja van, hogy csak 32 bites, de szoftverrel ezt meg lehet kerülni. Ezzel nagyon pontos időzítések állíthatók be bármire."De nekem szerintem a NodeMCU van."
Az tökmindegy, a rajta lévő IC a lényeg. Az ESP32-k közül sem különösebben lényeges, hogy melyiket állítod be azok közül, amelyiken ESP-WROOM-32, vagy lánykori nevén ESP32S van. Mellesleg amit én használok, az pont úgy néz ki, mint a Tied, a lábak is ugyanúgy vannak.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Közben megpróbáltam utánanézni ennek az SPI-s hibaüzenetnek. Amit találtam:
1. ESP8266 esetén kapták ezt az üzenetet. Biztosan ESP32-t állítottál be?
2. Mellesleg ez az utolsók egyike volt a hibaüzenetekben. Mindig a legelső hibaüzenetet kell nézni, bár az már általában nem látszik. Ezért én úgy szoktam, hogy a "hibaüzenetek másolása" gombbal kimásolom, és kiteszem notepadre, ott keresem ki a legelső hibát, mert az utána már generál még egy csomó, érthetetlennek tűnő hibát.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Hoppla-hopp! Na, megvan a hiba.
A "No hardware SPI pins defined. All SPI access will default to bitbanged output"
hibajelzés, az nem a fordító hibajelzése, hanem a fastspi.h fileban van:# if !defined(FASTLED_INTERNAL) && !defined(FASTLED_ALL_PINS_HARDWARE_SPI)
# ifdef FASTLED_HAS_PRAGMA_MESSAGE
# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
# else
# warning "No hardware SPI pins defined. All SPI access will default to bitbanged output"
# endif
# endifEl kéne távolítani azt a fastspi.h-t!
Hú, erre a fene se gondolt.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
"Ezt mégis, honnan vadásztad elő?"
Google
"Egyébként érdekes, de most engedte feltölteni az általad linkelt kódot a kontrollerre."
Akkor már megkérlek, hogy próbáld is ki futtatni azt a két fájlt, amit küldtem, hogy tudjam, más boldogul-e vele! Kösz!Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Kösz!
Nem szedtem ki a dolgokat librarybe, mert ezek demonstrációs céllal készültek. Tehát nem belevittem a libraryt, hanem "nem vittem ki". Azt akarnám bemutatni, hogy mennyire egyszerűen lehet kezelni ESP32-vel a WS2812-t is. Majd ha lesz annyi időm, leírom, a még néhány hasonló megoldással együtt. Igen, az a próba van beleírva a lightShowInCore0Code()-ba a case-eknél, amit leírtál. Ez egy próba, hogy lássam, úgy működnek-e a ledek, ahogy szeretném. Látom, Nálad is úgy működnek Ja, még annyit, hogy a két mag előnyét szándékoztam - többek között - bemutatni. Az egyik mag kezeli a ledeket, a másik meg kiszámítja, hogy mit kell kivinni. Így mehetnek párhuzamosan, nem zavarják egymást. Ha már van két magunk az ESP32-ben használjuk ki.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Na, most megint csak a levegőbe dumálok:
Én a LEDek.show(); -t egy sorrál hátrébb tenném, tehát a kapcsos zárójel mögé.
Mert:
A for ciklus fusson végig, azaz töltsd fel a puffert teljesen, utána írja ki a dolgokat a LEDek.show();Hogy jobban megértsd mit csinálsz, javasolnék egy próbát:
a LEDek.setPixelColor(i,csunyafeher); helyére próbára:
LEDek.setPixelColor(i,LEDek.Color((255-i*4)/4,i,0)); Lusta voltam másikat csinálni.Tehát:
1. végigmegy a ciklus, azaz letárolja [LEDek.setPixelColor]
2. amikor a teljes show ki van számolva, le van tárolva, a LEDek.show(); kitölti a szalagra, és megjelennek a színek
3. vár 1000 msecet, azaz egy secet, és újra tölti.A villanás (gyanúm szerint) megszűnik, ha a LEDek.show() a cikluson kívülre kerül.
Így, hogy ugyanaz a szín lesz mindig kiírva, nem látszik a lényeg, de kipróbálhatod pl ezt:
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,csunyafeher);
} ;
LEDek.show();
delay(1000);
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,kikapcsolt);
} ;
LEDek.show();
delay(1000);
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,LEDek.Color((255-i*4)/4,i,0));
} ;
LEDek.show();
delay(1000);Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Hogy működik Neked ez a program?
Kíváncsiságból feltettem ezt a libraryt, és az itt leírt programot, de nem stimmelhetnek az időzítések, mert változik a szín. Nem nagyon, de változik. Ennek stabilan kellene tartani a színt.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
A kódod átnyálazása nélkül csupán tapasztalatból írom, hogy ha nem azt látod a szalagon amit szeretnél és a szalag nem pixelhibás, akkor az esetek 100%-ában a kódban van a hiba.
Ha az első és utolsó ledek színe nem oké, akkor az én tippem az volna, hogy a 3 színkomponens tömbbe rendezésénél lesz a gond.
A táp nem okoz semmilyen zavart a jelben, amíg nem brownout-ol a szalag vagy az mcu.
Inkább a szalag pwm vezérlése okozhat zavarokat a tápban, ha nincs pufferelve egy szép nagy kondival.[ Szerkesztve ]
-
Teasüti
nagyúr
Az igen!!
Bátor vagy! -
Teasüti
nagyúr
Amit javasolnék, hogy meg kell nézni milyen utasításokkal lehet tömböt átadni az Adafruit könyvtárának.
Aztán te magad ellenőrzöd utána milyen adatok kerülnek ki a szalagra. Ergó te állítod össze egy byte tömbben az 56*3 elemet, GRB vagy RGB sorba rendezve szalagtól függően és így egyben adod át a könyvtárnak.
Mert így, hogy a könyvtár pufferét írod a setPixelColor-ral, így nem látható mi is történik egy absztrakciós réteggel lejjebb.Nekem számtalanszor ez adott lehetőséget érdemi debug-ra, ezért se használok ilyen 5 perc alatt beüzemelhető, demókkal tarkított könyvtárakat. Csak a minimalista show() funkció legyen benne, semmi más.
Annak tudjak átadni egy tömböt, amiben benne vannak a színkomponensek és ennyi.
Az animációt meg megírod magadnak.[ Szerkesztve ]
-
Teasüti
nagyúr
Nem, ez a bekötés minden digitális szalagra vonatkozik.
Akkor egész jól ment, addig amíg be nem kavartak az objetumokkal
Eeegen, ezzel én is így vagyok.
Mai napig nem jöttem még rá a könyvtár felépítésének logikájára. Amikor azt hiszem a szintaktikát sikerült megértenem a legalapvetőbb 3 soros tutorial-lal az Arduino oldalán, akkor rájövök, hogy fogalmam sincs hogy kéne szétdarabolni a már megírt függvényeimet könyvtárakká.[ Szerkesztve ]
-
Janos250
őstag
Én nagyon szkeptikus vagyok az Adafruit könyvtár használatát illetően.
Az a kisebbik gond, amit már leírtam, hogy a számláló átfordul, van egy sokkal nagyobb:
Az 1 msec-enkénti megszakítás nincs kivédve.
Próbálgattam ezt a könyvtárat, de sehol nem akart működni, aztán megnéztem miért. Itt a képek.
Az 1 msec-enkénti megszakítás 7-8 microsec, ami pont a határon van. Elméletileg 50 microsecet írnak a határra, de én még olyan szalaggal nem találkoztam. Lehet, persze, hogy az eredeti Adafruit szalagok tudják, de ezek között a kínaiak között én még nem találtam olyat, aminél ne 7-8 microsec lenne a határ, tehát pont a kritikus "billegő" tartomány.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.