- Riasztó topik
- Androidos fejegységek
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Kormányok / autós szimulátorok topicja
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Computex 2024: léggel, vízzel – egy MSI VGA mindenek felett (videóval!)
- Szünetmentes tápegységek (UPS)
- Gaming notebook topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Hirdetés
-
Mesterportrékkal érkezett a Honor 200 Pro
ma A Honor AI a Studio Harcourt módszerén edzett, a Pro mellett befutott a Honor 200 is.
-
Betelik a pohár: nagy igény lenne a gyorshajtás-ellenes technológiára
it A jelenlegi technológiával teljesen megszüntethető lenne a gyorshajtás, mégis az ellenkező irányba megyünk. A jelentések szerint azonban a vezetők zöme részéről nagy igény van a gyorshajtás-ellenes technológiákra.
-
Retro Kocka Kuckó 2024
lo Megint eltelt egy esztendő, ezért mögyünk retrokockulni Vásárhelyre! Gyere velünk gyereknapon!
-
PROHARDVER!
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
válasz Tankblock #7341 üzenetére
Az RMT-hez kapcsolódó ws2812b könyvtárat már rég beüzemeltem.
A fenti led(on) példa a valóságban egy ledcWrite() függvény, így az RMT nem játszik.
Az a delay()-re volt kihegyezve, hogy azt te nem rakod össze ennél egyszerűbben.
És a kernel meg megoldja ahogy akarja (és meg is oldja).
Multitask rendszerben nem blokkol a delay(), semmi fennakadást nem okoz.[ Szerkesztve ]
-
Teasüti
nagyúr
-
Teasüti
nagyúr
válasz CHIPman #7352 üzenetére
Hogyne lenne róla leírás, ne viccelj!
WS2812b a leánykori neve, több száz oldal foglalkozik a témával. Hozzádobod, h ESP és garantálom lesz rá találat.
Annyit fűznék hozzá, hogy ha komolyabb projekten dolgozol, ahol a szalag meghajtásán kívül mást is kéne csinálni, akkor tudni kell, hogy jelenleg az ESP32-n kívül minden más szoftveresen kezeli a szalagot és az adatküldés blokkolja a programot. Tehát nem lehetnek megszakítások és így arra a rövidke időre megszűnik a beérkező adatok fogadása.
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz CHIPman #7362 üzenetére
Semminek, hisz adat nélkül nem kapcsol be. Viszont ha adsz az adatbusznak egy kis interferenciát (vagy töltést az ujjaddal), akkor lehet felvillan néhány led.
Ezekhez kell egy adatfolyam, ami pixelenként 24 bitből áll (ugye három színkomponens 8 biten), és egy bit a szalag protokollja szerint egy magas és egy alacsony logikai jelszint adott időzítéssel. Szóval ezt te nem fogod úgy vezérelni, mint egy analóg szalagot, vagy egy ledet.
Ezekhez alapesetben egy könyvtárat szokás használni, amit a mikrovezérlődhöz választasz. Mint pl az Adafruit féle Neopixel, ami azt hiszem működik ESP-vel is.
Ezekben találsz példákat az animációkra.
Szóval itt animációt programozunk, jobban mondva egyenként ki kell számolni a pixelek színeit és berakni egy uint8_t tömbbe, majd ezt küldi ki a szalagra a könyvtár megfelelő függvénye.[ Szerkesztve ]
-
-
Teasüti
nagyúr
Nagy overhead a ram és rom méreteket illetően, bár van hely bőven így ez nem akkora probléma.
Emiatt ugye a számítási teljesítmény egy része is elúszik. Bár így is 100x gyorsabb egy UNO-nál, szóval mindegy is.
Egyfajta virtualizációhoz lehetne hasonlítani.Mondjuk nem hiszem, hogy nálam összetettebb felhasználása volna itt még vkinek (73 KB-os forráskód +könyvtárak, amiből a BLE megeszi a rom a közel 70%-át) és jómagam sem futottam még bele se teljesítmény se tárterület problémába. Mondjuk még szeretném majd kipróbálni az OTA programfeltöltést. Arra számítok, hogy az még egy jelentősebb szeletet elvesz a tárból.
A wifi azt hiszem teljes támogatottságot élvez, a BLE már működőképes, de még "béta" állapotú és így nem fejleszt rá egyetlen 3rd party sem. Ez azt jelenti, hogy a valós alkalmazásokban sok mindent magadnak kell megoldani.
A perifériák közül eddig én egyedül csak az RMT-t használtam, így a többiről nem tudok nyilatkozni.
Az Arduino függvények úgy tudom működnek mind, illetve nem tudok példát hozni az ellenkezőjére.
Nekem az UNO-ra írt programom egy az egyben lefordult ESP32-re is (az Atmel-re írt könyvtárak nélkül természetesen), így ez teljes értékűnek tekinthető szerintem.Nálam is tervben volt az IDF megismerése és az alacsonyabb C nyelv tanulgatása, de így hogy megy amit akartam Arduino-ban is, így nekem nem is fontos.
Meg a mai világban már nem divat a nehezebb úton menni és szopatni magad a hardver specifikus utasításkészlettel és telefonkönyv módszerrel regisztereket programozni, amikor némi overhead árán, de pár absztrakciós réteggel feljebb is meg lehet oldani a problémát könnyen és gyorsan, specializált tudás nélkül.
Persze nem is lesz olyan hatékony a kód, de ki nem szarja le, érted... Ez nem a Crysis, hogy ultra grafikán kisajtoljak minden fps-t a vasból.
Senkit nem érdekel mit csinál a digitalRead(), amíg megvan az eredmény.
Példánál maradva:extern int IRAM_ATTR __digitalRead(uint8_t pin)
{
if(pin < 32) {
return (GPIO.in >> pin) & 0x1;
} else if(pin < 40) {
return (GPIO.in1.val >> (pin - 32)) & 0x1;
}
return 0;
}Na most e szerint az sem mindegy melyik lábat olvasom. Programozzon így az, akinek két anyja van!
Én inkább beírom, hogy digitalRead() és együtt élek az overhead-del.[ Szerkesztve ]
-
-
Teasüti
nagyúr
válasz ngabor2 #7476 üzenetére
Ha megnézed a relé adatlapját, azon rajta lesz milyen áram kell a tekercs stabil behúzásához.
Songle esetén pl. az 5V-oshoz 3,7V kell minimum. De Songle-ből van 3V-os is.
Viszont ezekhez az alacsony feszültségűekhez rendre 70 és 120 mA áram kell, szóval sehogy se ajánlott közvetlen az ESP lábára kötni őket. Tranzisztorral kell meghajtani és védődiódát kell berakni! -
Teasüti
nagyúr
válasz ngabor2 #7490 üzenetére
Igazán nem bonyolult.
Én 2N3904-es tranyókat használok előszeretettel (BC547B is jó, de megsz.ptam az eltérő lábkiosztása miatt. ). Ehhez 3V3 GPIO esetén 330R bázisellenállás tökéletes.[ Szerkesztve ]
-
Teasüti
nagyúr
válasz pigster #7493 üzenetére
A TX led lehet az időszakos Serial.print-ek miatt, ha kiíratsz vmit.
RX led meg ha nincs adatfogadás, akkor lehet zajt szed össze. Bár ha mondjuk egy bread board-on van minden, akkor ezt hagyjuk. Pár centi vezetéken nem szed az össze semmit. Felhúzni nem szükséges, boot után push-pull módban működik.
3,3V-os szintillesztést hogy oldottad meg?
RX irányban jó a 3,3V amit a modul ad, az még simán magas érték. De a modul nem 5V toleráns, szóval TX irányban fesz. osztót kell használni.Amúgy még nem jött fel a szoftveres hiba lehetősége, engem a programod érdekelne.
Könnyen előfordulhat ugyanis, hogy akár a megszakításkezelés és/vagy program blokkolás miatt csúszol le a beérkező adatokról.
Ha küldeni tud gond nélkül az mcu, csak fogadni nem, akkor valószínűleg ez lesz a gond.
De ezt könnyen kipróbálhatod USB-ről is.
Ha azon flottul megy minden, akkor lehet kijelenteni, hogy a BT-vel van gond.[ Szerkesztve ]
-
Teasüti
nagyúr
Nem volna egyszerűbb venni egy működő fejegységet a gyári helyére, ha ez beszart?
Ilyen fapados cuccok már kaphatók alig pár ezerrel többért, mint amibe ez a projekt kerül egy igényesebb kivitelezésben. Az időráfordítást nem számolva. A véletleneket meg meg se említsük... -
Teasüti
nagyúr
válasz Janos250 #7517 üzenetére
Érdekes a smart home integráció.
Még nem láttam ilyen alkalmazást, bár adja magát.
Legalább lehetne vmi értelmet adni ezeknek az asszisztenseknek a világításon kívül.(#7518) vargalex
Aliexpress. A minőség elég vegyes. Gyakori a pixelhiba, azt ki kell vágni belőle.
Ha szerencsés vagy, akkor üzembiztos lesz. Ha nem, akkor sorra jönnek elő a pixelhibák aktív használat közben.
Ledek száma attól függ mit szeretnél. 60 led/m még megfizethető, a 120-as már túl van árazva a többihez képest és nincs is belőle csak egy-két méteres. Mondjuk ez érthető, már a 60-ason is jelentős feszültségesés van 5 méteren.
Ha ws2812b-ben gondolkodsz, akkor megfontolnám a ws2813-at helyette. -
Teasüti
nagyúr
válasz Janos250 #7528 üzenetére
Ezt olvastad egyébként?
Meg ezt.
Ez utóbbi tárgyalja a láncba fűzött ledek közti kommunikációt.
Még egy bejegyzés.
Hmm, ha pixelenként változik a T0H és T1H hossza, és a TxL hossza meg az a szünet lesz, ami két TxH között van, akkor tényleg nem nehéz elképzelni hibázó pixeleket, amik némi módosítással beleesnek a specifikációba, ha az előttük lévő pixelnek más az ideális jelhossza.[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Janos250 #7547 üzenetére
Felcímkézik a csomagolást. Kibontás után meg beépítésre kerül. A maradékot meg visszateszem a csomagolásba.
Amúgy nem rendelek olyan sokat, hogy ne tudjam követni mi micsoda.
Van, hogy az Aliexpress rendeléseim között keresgélek leírások után hónapokkal később is.Egyébként nem is nagyon érdekelt még a kérdés. Eddig azt hittem mindegyik ugyanolyan protokollt használ, azt hittem csak a szín sorrendben van különbség (GRB vs RGB, WRGB, stb.).
Belenéztem a könyvtárba és valóban van némi differencia mondjuk egy ws2812 és sk6812 között, de nem egyeztettem a doksikat így lehet csak a könyvtár alkotója okoskodott (ws2812 el is van szúrva nálam, ahogy nézem). Most ha nem megy elsőre, akkor majd megy másodikra...[ Szerkesztve ]
-
Teasüti
nagyúr
Láttam már ezt boltban, de nem olvastam utána mi is ez a Micro:bit egész pontosan. Ez az Arduino gyerek kiadásban és a "programozás" szép színes blokkdiagrammal készül?
Szerk: nem egészen, az a képernyőmentés engem az Android App Inventor-ra emlékeztet, bár azt se láttam még testközelből.[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Janos250 #7616 üzenetére
Tapasztaltál a hibás pixel után jel torzulást a lánc többi elemén?
Azt gyanítom, hogy a pwm vezérlők halnak le és a továbbítandó adat is csorbul, amit a következő pixel átvesz és onnantól hibásan utazik tovább. Az érdekes az, hogy a jel mindig ugyanúgy torzul így lehet csak egy-egy színcsatorna érintett. Érdekelne hogy működik a vezérlője.
Én sajnos nem tudtam ránézni a hibás szalagra, nem volt a helyszínen mini usb kábel a Nano-hoz... -
Teasüti
nagyúr
Üdv!
Képben van itt vki az Arduino Android IDE-vel? Fel tudok tölteni vele PC-n fordított binárist? Kell telepítenem hozzá az alaplapot? Ha igen, akkor ESP32-re próbált már vki Android-ról feltölteni?
Köszi! -
Teasüti
nagyúr
válasz kormoskandur #7694 üzenetére
Tök érdekes!
De mire jó ez a random zaj?
(Zenei analfabéta.)A kapcsolótábla bekötése nem egy nagy mutatvány, alap tanulófeladat kezdőknek.
Az LCD kezelése se annyira, van rá tutorial is nem kevés. De ott azért lehetnek tárhely gondok, ha komplex menüt szeretnél 8 bites cpu-n.Ami kihívás az a kód.
Azt se tudom mit kéne programozni.[ Szerkesztve ]
-
Teasüti
nagyúr
Gyors kérdés; mindig elbizonytalanodom, mikor kell közösíteni a földet.
Ha egy jármű teljes elektromos rendszere egy tápról megy (akku/generátor), akkor kell nekem közösíteni a különböző fogyasztók jelszintje között? Pl fesz. osztóval akku feszültséget mérek. Az mcu egy dc/dc konverteren van betáplálva. Rá kell-e kötnöm az MCU GND-jét a negatív ágra, vagy ugyanaz a földpotenciál a különböző konverterek előtt és után?Úgy magyarázták nekem annó, hogy egy hálózaton lévő földpotenciál mindig azonos.
Pl a ház elektromos hálózata mikor egy konnektorról ment a 12V-os dugaljtáp és a laptop, de mégis közösíteni kellett az USB szkóp és az MCU/táp között, ha értelmes mérést akartam.[ Szerkesztve ]
-
Teasüti
nagyúr
Értem. Köszönöm a segítséget!
-
Teasüti
nagyúr
válasz gyapo11 #7709 üzenetére
EPIC!!! Egyik kedvenc számom!
Láttam egy Uno-t vagy klónt, igen.
Be van hajítva az egyik szkennerbe, vagy nem tudom mi az a két síkágyas vmi.[ Szerkesztve ]
-
Teasüti
nagyúr
Üdv!
Nem találom sehogy se, hogy GY-521 (MPU-6050 gyro sensor) amin van fesz. stab 5V-os táphoz, hogy az I2C az 3V3 vagy az is 5V? -
Teasüti
nagyúr
válasz Tankblock #7751 üzenetére
Miért ne lehetne használni ezeket? Csak oda kell figyelni az alapértelmezett jelszintjükre boot alatt.
Nálam pl. az IO2 bemenetként funkcionál, ami alapállásban magas impedanciájú (nyitott áramkör, pl nyomógomb húzza földre) és így oda húzza a kontroller ahova akarja. Persze boot alatt nem nyomogatom.
IO15 nálam egy tranyó bázisára kapcsolódik, tökmindegy hova húzza, max felkapcsolja az adott áramkört arra az egy másodpercre.
IO12 meg egy MPU-6050 interrupt pin-re van kötve, nos ez meg elvileg semmit nem csinál, amíg fel nem ébresztik az I2C csatornán a modult. Bár nem tudom ez a port alapból lebeg-e a modulon, ezt még ki kell nyomoznom.)
IO0 meg egy kimenet lesz hasonlóan egy tranyóval, mindegy milyen szintet vesz fel boot-kor.
És ezzel lefoglalva az összes elérhető IO port az ESP32-n.
Kivéve persze a flash portjai, nem is értem azok miért vannak kivezetve.Szerintem nem kell félni ezektől, elég csak egy kis körültekintés.
A "leghülyebiztosabb", ha egy NO kapcsolóval bemenetként használjuk őket.[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Tankblock #7753 üzenetére
Jah bocs. Épp csak említetted, nem voltam alapos.
Nem értem hogy jön ide a reset. Nekem arra a funkcióra eddig éles használatban soha nem volt szükségem. Boot nálam bekapcsoláskor van. Amúgy meg a bootstrap lábakkal ESP32-nél nem tudsz reset-elni, arra az EN való.
Boot alatt nem kell buzerálni a gépet és elvileg mindennek mennie kell. -
Teasüti
nagyúr
válasz Janos250 #7769 üzenetére
EasyEDA.
Rendeltem már tőlük.
Spéci via-k nincsenek, nekem thermal via kellett volna. NYÁK-ból a leggyakoribb méretezés olcsó, az egyedi igények drágák.
Amit tudnak, azt ipari minőségben tudják. Az alapértelmezett opciók szerinti áraik viszont iszonyú jók.
Ez a két tétel, 5-5 db-os mennyiségben szállítási díjjal együtt vmi 23 dollárért jött ki asszem 3 hét alatt.
A webes tervezőprogramjuk nekem nagyon bevált, főleg az alkatrész adatbázis miatt.[ Szerkesztve ]
-
Teasüti
nagyúr
ESP32-n az USB a TX0 és RX0 portokra van kötve, vagy natív usb-ként kapcsolódik?
Másképp, használhatom a soros portot vagy az kell a számítógépes kapcsolathoz?[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Janos250 #7784 üzenetére
A gazdi az, aki tudja a jelszót, ami valami 32 bites szám.
Hogy mi? Ezt most látom először.
Akkor ezért nem működik egy csomó RTOS parancs?
Itt is vmi jogosultsági rendszer van? Meg kell szerezni a root jogot, vagy mi a szösz?Igen, a delay() alatt tud futni másik task, így nem hal éhen szegény kutyus, mert a scheduler eteti
Ezt a scheduler-t a mai napig nem értem. Elvileg úgy kéne működnie, hogy fix időszeletek szerint osztja el a cpu időt. Ha nem is adja át a token-t a task, az ideje lejártával kényszerítve kéne indulnia a következőnek.
Ehhez képest meg simán reset-el a wdt. Pff...
Persze a prioritás eredményezheti azt, hogy újra ugyanaz a task indul el. De a scheduler ettől még meg kellene, hogy szakítsa. ...És ilyen formán etetnie a wdt-t.igazából én sem teljesen értem, hogy miért nem futhatnak a többiek is, hiszen a loop prioritása is 1, meg Te is ugyanezt a prioritást adtad, de valahogy mégis megfogja a többit.
Amúgy azt lehet tudni, hogy 0-20 közt a magasabb vagy az alacsonyabb érték a nagyobb a prioritás?
Egyetlen egy youtube tutorial-ban találtam eddig utalást rá, de már régen volt.Az esp_task_wdt_feed() -et és az esp_task_wdt_delete() -et hiába teszed be, mert az csak arra a taskra hatásos, amibe betetted.
Jó tudni. Ezek szerint a wdt is egy task kell legyen. Hardveresen nem lehet figyelni a dinamikusan meghívott task-ok garmadáját.[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Tankblock #7809 üzenetére
Mi van olyankor ha az egyit task az egyik magon a másik magon lévő tasktól függ pl....
Pedig ez egy könnyen előforduló eset, amire vannak is példák tutorial-okban.
xSemaphoreTake() és -Give() ami nagyon is multitask programozás és teljes a támogatása FreeRTOS-ban. -
Teasüti
nagyúr
-
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.
-
Teasüti
nagyúr
válasz gyapo11 #7825 üzenetére
Ezek közül egyik sem egy színes szagos RGB szalag szimulátor.
A másodikban meg nem találom a szimulátor részt, az csak egy legós program generátor.
Egyébként meg Arduino alatt manapság már nem az Uno-t értik sokan, főleg ha wifi-re van igény. Ezt hogy szimulálja le bármi is?[ Szerkesztve ]
Új hozzászólás Aktív témák
- HGST 10TB 7.2K 12Gbps 256MB 3,5" SAS HDD Több darab is van
- Poco X6 Pro 12/512 garanciális
- INGYEN POSTA! AsRock B550M, Ryzen 5 5500, RX 6600XT, 16Gb DDR4 3200Mhz CL16, 250Gb M.2, 600W Gold
- CTO ÚJ Bontatlan MacBook Pro 16 M3 Pro 12CPU/18GPU 18GB/1TB SSD Magyar billentyűzet Azonnal átvehető
- ÚJ BONTATLAN Apple Watch Series 8 S8 41-45mm Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garanciával.