-
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
-
Janos250
őstag
válasz
Tankblock #8069 üzenetére
A try - catch -et egyszer régen próbáltam és nem ment, de szerintem azt még nem ESP32-n próbáltam, de kipróbálom majd. Vagy ha valakinek van ingerenciája, próbálja ki, és írja ide, okulásunk céljából!
Tudod, én már elég öreg vagyok ahhoz, hogy számos alkalommal megtapasztaltam a spéci dolgok hátrányait. Már ifjú koromban, amikor az Algol60 programot át kellett tenni Fortranra, vagy a Cobolban írtat egy minibol nevű csodára. Aztán később a Basicről már nem is beszélve. -
DiceBlade
aktív tag
válasz
Tankblock #8023 üzenetére
Hello
Vevővel olvastam be a kódot:
Encoding : NEC
Code : 20DF10EF (32 bits)
uint16_t rawData[71] = {9040, 4502, 580, 566, 560, 564, 558, 1666, 582, 566, 558, 566, 558, 566, 560, 566, 558, 566, 558, 1666, 582, 1664, 582, 564, 558, 1666, 582, 1666, 580, 1668, 582, 1666, 580, 1668, 580, 566, 556, 566, 560, 564, 556, 1668, 582, 564, 558, 566, 558, 566, 558, 566, 560, 1664, 580, 1666, 582, 1666, 582, 564, 558, 1666, 580, 1666, 582, 1666, 582, 1664, 580, 40234, 9014, 2278, 560}; // NEC 20DF10EF
uint32_t address = 0x4;
uint32_t command = 0x8;
uint64_t data = 0x20DF10EF;Arra sikerül is kiíratni szöveget ha újra ugyanaz a kód érkezik a távirányítótól.
38kHz van beállítva küldésnél#define IR_TV_POWER 0x20DF10EF
irTransmitter.sendNEC(IR_TV_POWER, 32);
Más értékkel még valóban nem próbálkoztam, futok majd vele egy kört, köszönöm szépen!(#8025) Janos250
Első projektem, egyelőre csak a szükséges dolgokat rendeltem meg, utánanézek mire is jó ez. Köszi! -
itg
tag
válasz
Tankblock #7946 üzenetére
Köszi.
Első körben szenzorokhoz, ezután jönne a relés intranetes vezérlés. Ahhoz se kell bonyolult számítás, nekem bőven elég lenne az esp8266.
Eddig három eszközt állítottam szolgálatba, de ami a bajom, hogy kiszámíthatatlan a működésük.
Van, hogy 4-5 napot elmennek gond nélkül, van, hogy az egyik nem csatlakozik a wifi-hez 5-6 órán keresztül, van, hogy a másik csinálja ugyanezt. (azaz csatlakozik, csak nem ahhoz, amit megadtam neki)
pl. az egyik eszköz elmúlt napi mérései: (a piros részen nem volt sikeres csatlakozás)
eközben egy másiké: -
válasz
Tankblock #7921 üzenetére
A loop() üres, abban nincs még semmi.
Eddig csak a setup() részbe írtam.Program tekintetében még az értelmezésnél tartok, mit hova kell írni.
Jut eszembe. Itt lehet olyat csinálni, hogy megírok egy kódot (pl wifi csatlakozás kódját) amit utána elmentek, és egy include vagy más parancscsal behúzom egy új alkalmazásomba. Gyakorlatilag code reuse lenne.
Anno c-be csináltunk ilyet, hogy ne kelljen mindig ugyanazokat a kész program részleteket bemásolni.Az én panelomnak fekete az alja "esp32 devkitv1" ennyi van ráírva. A chipet fedő fém lapocskán annyi van még, hogy esp-wroom-32. Se márkajelzés, se egyéb azonosító felirat nincs.
-
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. -
Janos250
őstag
válasz
Tankblock #7763 üzenetére
Az RGB-s óra nekem is tetszik, de én ESP32-vel akarom megcsinálni.
Passzióból csináltam néhány féle módon az ESP32-re RGB led meghajtókat.
RMT-vel is párféleképpen, meg anélkül is, mert elég gyors a proci, ha mindkét core-t használjuk, simán szoftverből is megy, RMT nélkül is. -
helltp
aktív tag
válasz
Tankblock #7751 üzenetére
és (#7752) Teasüti:
Nekem is úgy tűnik, hogy használhatjuk a speciális GPIO pineket is akármire, feltéve hogy a bootolás alatt biztosítani tudjuk a megfelelő jelszinteket. (Fentebb linkeltem a doksi megfelelő részét.) Így, hogy most gyakorlatilag egy dióda katódja van a boot alatt logikai magasat kívánó pinekre kötve, csak az mcu felé folyhat az áram (felhúzóellenálláson keresztül pl.) és így boot alatt magasan van a láb, és megfelelően bootol a cucc.
szerk.: ESP32 nincs épp kéznél, és így pont elég a GPIO szám a 8266-on is.
-
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
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. -
helltp
aktív tag
válasz
Tankblock #7743 üzenetére
Amennyire én tudom, ez a setup a flash boothoz tartozik, nem? [link]
UART-on nem tudom nézni,mert használom az rx és a tx pint is. A D4 D3 D2 D1 és Rx lábakon TLP627-es optocsatolók bemenetei vannak 1k-s ellenállásokon keresztül, a D8 D7 D6 és D5 lábakon pedig egy TTL BCD dekóder IC. Hobbielektronikán azt a tippet kaptam, hogy az optocsatoló elhúzza a pineket a földre, hiába a 10k-s pullup, és így valamelyik másik módban bootol.
-
choco01
addikt
-
choco01
addikt
válasz
Tankblock #7737 üzenetére
Akkor lehet egyenlőre jegeljük ez a részét, majd ha kész a programozás része akkor rátérünk a táplálásra.. még nem teljesen kerek a project csak tervezgetünk..
Háztartásigép vezérléséhez(leállítás-indítás) megfelel egy ilyen relé sor? Mármint minőségben, meg kompatibilitásban ?
-
choco01
addikt
válasz
Tankblock #7723 üzenetére
Az a terv hogy a szenzorok adatait kiirjuk a kijelzőre, és wifin keresztül egy weboldalon is megjelenítjük.
Igazából egy 5 voltos telefontápra gondoltunk, vagy napelemre .. persze a napelem lenne a legjobb.. de lehet eleinte csak egy táppal fogjuk használni..
Mennyit fogyaszthat egy ilyen rendszer?
-
itg
tag
válasz
Tankblock #7601 üzenetére
Üdv.
Köszi a választ!
Még akkor éjszaka pont ezt tettem és kiderült a turpiszság.
loop-ba raktam a wifi reconnect-et és valamilyen oknál fogva minden alkalommal újra csatlakozott a routerhez, ami az egyiket megfektette, a másik viszont bírta.Viszont ha csak a setup részbe rakom a wifi kapcsolódást, router újraindulás esetén nem csatlakozik újra az eszköz.
Az egyik eszköz: Wemos D1 mini, a másik D1 mini ESP-12.
(elméletileg egyformák) -
_q
addikt
válasz
Tankblock #7369 üzenetére
Köszi. Végül egy külső tápcsatis nélkülit rendeltem. Ha esetleg kell akkor magam beforrasztok egy csatit pluszba.
Addig is míg megjön. Tudtok ajánlani oldalt, amit érdemes olvasgatni ESP 32S-el kapcsolatban? Kezdve az arduino környezet beüzemelésével, ahol adatlapot találok a development board-ról, esetleg hasznos kiinduló minta példákat tartalmazó oldalt?
-
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. -
Teasüti
nagyúr
válasz
Tankblock #7328 üzenetére
Köszönöm a választ. Akkor nincs semmilyen ütközés kezelés FreeRTOS-nál?
Ha meghívom 1000x, akkor ki is fagy a kernel memóriahiány miatt.Vagy Taskot suspendedbe tenni és felkelteni amikor kell....
A delay() elvileg pont ezt csinálja az Arduino Core-ban:void delay(uint32_t ms)
{
vTaskDelay(ms / portTICK_PERIOD_MS);
}Azért, mert így jóval egyszerűbb programozni - mondjuk led villogás mintákat** (ez a feladat kifejezetten komplex és így szükségtelenül bonyolult volna a millis() módszerrel, valamint az adott folyamatot se muszáj pörgetni addig mivel önálló task-ról lévén szó) - és a kernel megoldja magának a váltást, ahogy akarja.
Ebben a környezetben a delay() nem kerülendő, hanem bátran használható.**Példa:
led(on);
delay(150);
led(off);
delay(100);
kettőször ismétel;
led(on); // És bekapcsolva marad, ha villant hármat.A prell-lel nem kívánok itt foglalkozni, a kérdésem megválaszolásra került, ennyi most elég.
Erre magam is ismerem a lehetséges megoldásokat.
Mondjuk esetemben inkább zavarszűrésről lesz szó, csak egyszer rá kéne néznem milyen jel jön a kapcsoló felől (vagy a tápegység felől, passz), mikor folyamatosan vibrál. Érdekes, álló motornál egyenletesen világít, járó motornál meg-megszakad a jel és véletlenszerű vibrálást okoz. -
dzz
aktív tag
válasz
Tankblock #7251 üzenetére
Ez a kapcsolattartás kicsit túlzás
Egy fotós projekt része, a beállításokat el lehet végezni kézben tartva is, de azért nem lenne baj ha nem kellene minden beállításért oda-vissza rohangászni. Olyasmi, mint a vaku kioldók, de ennyire nem szoros a real-time, bár nem jönne rosszul ha egy triggerre exponálna a távolból a fényképező
. Az erdős példa gyakori lehet, a maximális táv olyan 250-300 méter maximum, a közvetlen rálátás nem garantált ahogyan a táv is a szélsőséges esetben ekkora.
Nem elvárás a folyamatos hetekig tartó üzem, 3-4 óra elegendő és általában vannak tartalék akkuk, mint a vakukhoz is.
-
-
Teasüti
nagyúr
válasz
Tankblock #7129 üzenetére
Őőő kicsit el vagyok tévedve. Még mindig nem fog menni.
Már az sem megy, hogy hogy tudom lekérni ennek a STRANDS[] tömbnek az egyik elemét.
Hibát dob a compiler ezek mindegyikére:STRANDS[0].numPixels;
&STRANDS[0].numPixels;
&STRANDS[0]->numPixels
És a maradék kombinációra.Próbáltam így is:
strand_t * strands [] = { &STRANDS[0] };
strands->numPixels;
Így se jó.
Kezdek ideges lenni...
Keresnék a neten, de azt se tudom ez melyik témakör, vagy mit keressek.
Object array-ra kicsit más találatok jönnek ki, vagyis többnyire olyan példák, amiben a tömb elemeinek csak egyetlen paramétere van.A demo1-ben ami alapján próbálkozom meg rohadt nehéz átlátni, hogy az függvények miket adnak át egymásnak: pointer-t, objektum tömböt, pointer-ből álló tömböt, stb.
-
Janos250
őstag
válasz
Tankblock #7119 üzenetére
Ki, de kiakadt.
A demo2 már sokkal logikusabb.
Teasüti, azt nézd!
https://github.com/MartyMacGyver/ESP32-Digital-RGB-LED-Drivers/tree/master/esp-idf
Ezt a részét tedd a setupba:
gpioSetup(16, OUTPUT, LOW);
gpioSetup(17, OUTPUT, LOW);
gpioSetup(18, OUTPUT, LOW);
gpioSetup(19, OUTPUT, LOW);
if (digitalLeds_initStrands(STRANDS, STRANDCNT)) {
ets_printf("Init FAILURE: halting\n");
while (true) {};Ezt meg a loopba:
for (int i = 0; i < STRANDCNT; i++) {
strand_t * pStrand = &STRANDS;
rainbow(pStrand, 0, 2000);
digitalLeds_resetPixels(pStrand);
}Minden egyéb mehet az elejére a setup elé.
A millis() és a delay() deklarációját kommentezd ki!
Innen:
https://github.com/MartyMacGyver/ESP32-Digital-RGB-LED-Drivers/tree/master/arduino-esp32/demo1a
esp32_digital_led_lib.h és a esp32_digital_led_lib.cpp fájlpkat másold be oda, ahol a programod van. -
Teasüti
nagyúr
válasz
Tankblock #7121 üzenetére
Mi a különbség ez:
while (true) {
for (int i = 0; i < STRANDCNT; i++) {
strand_t * pStrand = &STRANDS[i];
rainbow(pStrand, 0, 2000);
digitalLeds_resetPixels(pStrand);
}
}...és ez között?
while (true) {
for (int i = 0; i < STRANDCNT; i++) {
rainbow(&STRANDS[i], 0, 2000);
digitalLeds_resetPixels(&STRANDS[i]);
}
}
szerk: semmi... Eredetileg jelölő nélkül értettem, hogy aztán leesett, hogy mint változó értelmetlen volna aSTRANDS[i]
. Azt leszámítva, hogy jelölőket kell átadni a függvényeknek.Miközben írtam a válaszom jött egy felismerés:
két példány létrehozásához jön jól egy objektumnál, ha a teljesen azonos paramétereknek két eltérő memóriaterületet tudunk linkelni. Szóval a régi dilemmámat lehet feloldani így ha jól értem, amikor változókból próbáltam létrehozni több példányt: pl buffer1[], buffer2[] és e helyett lehet ugyanazt a buffer[] változónevet használni pointer-ként, egy amolyan shift register módon. Ez a gondolatmenet nagyjából köszönőviszonyban van a valósággal?Vmint az RMT külön lefoglalt ram területekről dolgozik. Értem. Ha erre céloztál. Ez lesz a puffer szerintem, az viszont külön téma a library-ben:
// Pack pixels into transmission buffer
if (ledParams.bytesPerPixel == 3) {
for (uint16_t i = 0; i < pStrand->numPixels; i++) {
// Color order is translated from RGB to GRB
pState->buf_data[0 + i * 3] = pStrand->pixels[i].g;
pState->buf_data[1 + i * 3] = pStrand->pixels[i].r;
pState->buf_data[2 + i * 3] = pStrand->pixels[i].b; -
Teasüti
nagyúr
válasz
Tankblock #7119 üzenetére
Van demo2 is?
Most próbálm kiollózni a minimálisan szükséges részeket a demóból.
De köszönöm a segítséget, két ember is ugyanezen dolgozik épp... Igazán megtisztelő.
Majd mondjátok mivel tartozom ha ezt tető alá tudjuk hozni!Amúgy egyáltalán nem értem miért kell ennyi pointer ide. Amit beillesztettél ciklus is szerintem pont ugyanazt adná pointer nélkül is közönséges változókkal.
-
Teasüti
nagyúr
válasz
Tankblock #7113 üzenetére
Szia!
Erről volna szó:
[link]
Arduino IDE alatt. Jövő héten működésre szeretnék bírni egy projektet, így a megszokott környezetben szeretném berúgni a vasat. Az ESP-IDF-fel való ismerkedés inkább hosszabb távon realizálható.
De megvettem hozzá Kolban könyvét, szóval talán lesz egy épkézláb tananyagom hozzá. -
fpeter84
senior tag
válasz
Tankblock #7106 üzenetére
Én inkább a CH340g csippeseket ajánlanám, nekem ez tűnt eddig a leginkább problémamentesnek! Ha eredeti lenne az FT232 az persze szintén jó lenne, de kínából 99% hogy hamisított érkezik, ami hajlamos eldobálni az USB azonosítóját - helyreállítható, de idegesítő jelenség. A PL2303-t szintén orrba-szájba hamisítják a kínaiak - bár a hamis is megbízhatóan megy, viszont csak 8-10 éves driverrel, amit a win10 erőszakosan lefrissít ha nem irtod ki a win update-et és akkor letilt. Még népszerű a CP2102 is. Ezzel nem volt semmi negatív tapasztalatom, de mivel a CH340g messze a legolcsóbb (5db ~800 pénz) ezért ezt javaslom...
-
Teasüti
nagyúr
válasz
Tankblock #7087 üzenetére
Mármint vész stop. Nem lepődnék meg, ha emberünk jártas volna a gépek terén.
Hisz azzal dolgoznak és ő a boss ha jól emlékszem. Nem egy kisgyerekkel van dolgunk.A felvetés jogos. Volt már arról szó hogy illeszkedik a gépbe az arduino? Honnan kapja a tápot, amit vezérel az honnan kapja, az arduino az egy kiegészítése a meglévő vezérlésnek vagy inkább helyettesítése? Lehet a gépen lévő vész stop megállítja az egész hóbelevancot. Mondjuk én a pillanatálljt kapcsolóra raknám, nem gombra. Így a mikrovezérlő végtelen ciklusban várakozik. Utána nulláznám a számlálót és az azonnali szeletelés gombbal lőném be a kezdési pontot. Vagy különben a szünet után azonnal vág, ami váratlan lehet és így veszélyes. Persze nem ismerjük a gépet, így ezt neki kell eldönteni. Vagy a megbízott munkavédelmisnek, stb...
-
Teasüti
nagyúr
válasz
Tankblock #7076 üzenetére
Lehet kellene egy ESP32 ESP-IDF topic, hogy ezt ne offoljuk szét.
Az a maréknyi ember, aki ebben járatos mind ide jár.
Aki a legtöbbet ESP-zik, ő meg Arduino alatt programoz.
Aki meg más IDF-et használ, ő meg nem ESP-zik. Így hirtelen akik eszembe jutottak.
Esetleg lehetne egy Arduino komplementer topik. Aki Arduinózik az ne kapjon szívrohamot, ha betéved ide. Minden más platform meg mehetne külön.
Amúgy necces úgy topikot nyitni, hogy nem tudok hozzátenni semmit. -
JozsBiker
aktív tag
válasz
Tankblock #7057 üzenetére
Nem volna célravezetőbb DCF77 modult használni ? Nem kellene wifi kapcsolat, sem RTC, automatikusan menne az időszámítás átállás, stb. Én is az épülőfélben levő órám pontosan tartásán agyalgok, és elvben arra jutottam, hogy a dcf jó megoldás lehet. Nem tudom mennyire problémás a rádióhullámok vétele, de a társasház alagsorában levő betonfalú műhelyem mélyén egy dcf -es óra vígan működik. Így gondolom e 6 centis ferrit antennás modul számára sincs akadály:
-
Teasüti
nagyúr
válasz
Tankblock #7068 üzenetére
Érzésre esp-idf is erősen fejlesztés alatt van.
Hát mit ne mondjak, nekem eddig egy hatalmas csalódás.
Nem igaz, hogy 2017-ben az appok világában nem tudnak felhúzni egy normális frontend-et.
Neeem, e helyett csomagolj ki 20000 apró fájlt, meg parancssorból telepíts a Github repojából.
És most felraktam vmi 2 giga hangyaf.sznyi fájlocskát és még egy szövegszerkesztőt is külön rakjak fel magamnak mert azt nem tartalmaz.
Azt hittem elsőre ez vmi vicc, de sajnos teljesen komoly.
Pont ezek miatt nem használok Linux-ot se. -
kmisi99
addikt
válasz
Tankblock #6986 üzenetére
Igazán érteni nem értek hozzá, neten millió leírás is van köztük magyar is. Órákat küzdöttem vele, csomót felraktam. A programkódok fixek és hibátlanok. Itt van egy pl [link] Csak felraktam a megadott sketch-et meg felraktam windowsra a programot, és alap dolgokat se tud. Mindenki másnak simán megy.
Az ambibox al akarok jelenleg kiküldeni, hogy legalább a teszt színeket jelenítse meg, de totálisan nem kommunikál se a PC vel, se a raspberry vel, merthogy mind a kettővel kínlódtam.
Az RX led se villog mikor a PC küldi a jelet.Természetesen baud rate és társai azok be vannak állítva.
Szóval ezért gondoltam rá, hogy valami egyszerű dolog kellene amivel USB kábelen keresztül kap jelet, hogy pl egy led szalagot felvillantson. Mert tuti valami RX TX kínja van. Kellene villogni az RX lednek mikor kapja a jelet a PC től, de semmi. Természetesen a COM port is hibátlanul be van állítva.
-
Janos250
őstag
válasz
Tankblock #6927 üzenetére
Ha már itt tartunk!
MQTT brokert telepítettél már ESP32-re?
Korábban, mikor néztem, nekem nem sikerült találnom, mindenütt a mosquittot ajánlották, de az meg - ugye? - nem megy ESP-n?
Ezért én félre is tettem a dolgot, és maradtam egy egyszerű server/client megoldásnál, pedig nálam is egy központi szerver van, ami tulajdonképpen a broker szerepét játssza, a topicok pedig valahol vannak.Hogy miért ragaszkodom az ESP-hez? Csak!
-
Janos250
őstag
válasz
Tankblock #6866 üzenetére
Sajnos még sehogy
Részben, mert még nem is volt időm foglalkozni jobban vele, részben meg mert ahova beépítésre van tervezve, oda még le kell vinni az elosztó dobozból a nullát, mert jelenleg nincs levíve.
Most nincs itt nálam, de úgy rémlik, hogy az újabb (csavaros) dobozokhoz való, de ez nem biztos.
"A megfelelő GPIO kézzel húztam GND re" ???
Mit, hogy? -
Janos250
őstag
válasz
Tankblock #6134 üzenetére
Na, elővettem ezt az ESP32-t ismét.
Az ESP32 chipnek 34 GPIO lába van, de hogy bonyolítsuk a dolgot, nem sorjában vannak számozva: (0-19, 21-23, 25-27, 32-39).
A kereskedelemben általában az Espressif ESP-WROOM-32 tokozásban kapható, ami tartalmaz plusz flasht.
Ezen a GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11 ki van ugyan vezetve a 17-22 lábakra, de nem használható, mert az a memóriát kezeli. A panelok ezeket a lábakat nem is vezetik tüskére. Egy csomó interfészt tartalmaz, pl 3 db. soros portot, nekem jelenleg ez kell.
Mivel az 1-es soros port alapból a GPIO9, GPIO10 –et használja, ezért ezeket át kell irányítani, ha az 1-es soros portot is használni akarjuk.
Cserébe viszont szinte bármi irányítható bármelyik lábra. Pl Arduinoban :
Serial1.begin(57600, SERIAL_8N1, Serial1_RXPIN, Serial1_TXPIN),
és a két utolsónak bármit adhatunk.
Az Arduinoba illesztésnél a hardver absztrakciós réteget (HAL) vették át a gyártótól,
ezért ha valaki használni akarja az ebben definiált dolgokat, nyugodtan megteheti. Emiatt én nem is kacsintgatok az RTOS felé. Mivel fordítóként ez is a gcc-t használja, nem találtam eddig a szabványos C++-nak olyan dolgát, ami a torkán akadt volna.
Ha valaki, Arduinoval most ismerkedő is elolvassa ezt, állandóan hangsúlyozni kell, hogy nincs Arduino nyelv, csak C++ van. A szabványos C++-t használjuk az Arduinon akkor is, ha az Arduino leírásában nagyon sok minden nem szerepel. Ennek ellenére tudja! Attól lesz Arduino, hogy nagyon sok minden előre meg van írva, amit ha akarunk használunk (célszerű, mert ettől lesz kényelmes), ha akarunk, nem.
Az interneten rengeteg, info van az ESP32-ről, de egy jól összeszedett, 1-2 oldalnyi lényeget tartalmazó összefoglalót nem találtam. (lehet, kéne írni egyet) -
Oryctolagus
tag
válasz
Tankblock #6134 üzenetére
Köszönöm, de szerintem maradok az Arduino mellett.
Szerintem ez is elég lesz nekem, bár ez olyan mintha lenne összehasonlítási alapom a két eszköz működésével.
Pont ezt a keresgélést és a fórumok turkálását nem szeretném kihagyni.
Ez lesz az első ilyen projektem. Érdekesnek tűnik..
Később persze jöhet az ESP is. -
Oryctolagus
tag
válasz
Tankblock #6107 üzenetére
Ezt az ESP32 Development boardot nem ismerem és te is említetted hogy a támogatottság növekszik amiből arra következtetek hogy, ha elakadnék még több időt kellene a megoldás felkutatására szánnom.
Ez a két termék elég lehet nekem, szerintem.
Esetleg ez a 2. helyett.
Én már elégedett lennék magammal, ha motor megmozdítaná a gépezetet és mondjuk egy gombot a billentyűzetről hozzá tudnék rendelni eme funkcióhoz.
-
Janos250
őstag
válasz
Tankblock #6107 üzenetére
ESP32-t használókhoz kérdés:
Tavaly még előrendelésben rendeltem ESP32-t, de mivel a támogatottsága elég gyér volt, félre is tettem, miután megkaptam. Most, hogy már 1800 Ft körül is van ESP32 board, na, mondom, próbáljuk ki.
Kapásból problémába botlottam:
Ti hogyan kezelitek le a GET és a POST kéréseket?
Az ESP8266-nál ez simán megy, de itt - látszólag legalábbis - hiányoznak alapvető tagfüggvények, mint pl. arg(), args(), argName() Persze a Ticker is hiányzik nekem, de azt még megkerülöm, de az argumentum kezelések nagyon hiányoznak. Ti hogyan oldjátok meg? Ha ezt nem sikerül megoldanom, akkor mégis maradok még egy ideig a 8266-nál, bár nagyon csábító a 32 számos funkciója, sok lába, stb. -
ngabor2
nagyúr
válasz
Tankblock #6036 üzenetére
Köszi, alkalomadtán utánanézek, addig marad a széép nagy Arduino
Azzal működik rendesen, az ész nélküli méretcsökkentés miatt vetődött fel.
A feladat még mindig florárium vezérlés:
- RTC-ből idő kiolvasása
- ha reggel 7 és este 7 között van az idő, villany fel (1 relé)
- 6-6:05-ig és 18-18:05-ig egy ózongenerátor bekapcsolása (1 relé)
- pára mérés
- ha a pára 85% alatt van, párásító be, ha 92% fölé megy, akkor párásító ki (1 relé)
- bónusz: I2C LCD-n kiírni az értékeket.6, vagy talán csak 5 lábra ezt elég necces lehet megírni, főleg, ha az i2c-t is belevesszük.
-
vargalex
félisten
válasz
Tankblock #5770 üzenetére
Igen, éppen tegnap este vettem észre, hogy a <html> és a <body> TAG-ek lezárása hiányzik, de mobilról nem akartam javítást küldeni, mert elég nehézkes. Ma javítom, és berakom újra (azért nem most, mert most is csak mobilról vagyok). A server.send előtt kell hozzá fűzni a webPage-hoz.
Egyébként a böngészőket ilyen apróságok nem zavarják... -
válasz
Tankblock #5729 üzenetére
Annyit hadd tegyek hozzá, hogy egy csomó utánaolvasás után kijelenthetem, hogy az esp8266 lábai 5v toleránsak (a gyár egyik tervezőmérnöke mondta ezt, úgyhogy hiszek neki). A tápfeszültség természetesen csak 3v3 lehet a beépített flash miatt.
Nem védődióda van a bemeneteken, hanem snap back védelem. -
Janos250
őstag
válasz
Tankblock #5545 üzenetére
Na, akkor kezdjük Ádám/Évától.
A leírtakból úgy tűnik, hogy a "fehér" panelra forrasztottad. Forrasztások jók? Nincs két láb között rövidzár, vagy nem érintkezés, ahol pedig kellene? Erős nagyító elő!
A 2 ellenállás az rendben van. Egyik: CH_PD (chip select) fel VCC-re. Másik: GPIO15 földre, azaz ne SD-ről akarjon bootolni. GPIO2 elvileg VCC, de ha sehova nem kötjük be, nem szokott zavart okozni. Ez elvileg valamit az SD bootnál szabályoz, pontosabban nem tudom, mindig VCC normál esetben
A 3.3V-ot kinnről adod, vagy a panelra forrasztottad be a fesz. szab-ot. Ez utóbbi esetben a középső 0 ohm "ellenállást", azaz rövidzárat kiforrasztottad?
A flash módot én DIO-ra szoktam állítani, nem QIO-re. Nem mintha használnám a QIO helyett DIO miatt felszabaduló GPIO9 és GPIO10-et hanem "csak".
Program feltöltés:
GPIO0 földre, utána reset. Ezzel download módban indul. Itt így kell, mert csak Rx,Tx van bekötve, ezért kézzel kell download módba tenni. ("ck") Később a már feltöltött program futtatásakor GPIO0 VCC-re. (vagy sehova)
Utána IDE-ből program feltöltés. A piros pontok elindulnak, és a végén a done uploaded-et írja ki?
A toolsban hogyan állítottad be a paraméreket?
Így?
[kép]Nem állítottad túl kicsire a memóriát? Nem akarsz véletlenül olyan GPIO lábat használni, ami a panelra nincs kivezetve, azaz a flash memóriát kezeli?
-
Janos250
őstag
válasz
Tankblock #5534 üzenetére
Még valami.
Ezek teljesülnek?
https://github.com/esp8266/Arduino/raw/master/doc/ESP_min.png
A program biztosan felmegy hiba nélkül?A "3" nekem azt sugallja, hogy flash móddal indul, bár eléggé zavaros - számomra - amit írnak a módokról, mert a flash az GPIO0=0-nál van tudomásom szerint.
Valahol régebben ezt írták:
boot modethe first value respects the pin setup of the Pins 0, 2 and 15.
Number GPIO15 GPIO0 GPIO2 Mode
0 0V 0V 0V Not valid
1 0V 0V 3.3V Uart
2 0V 3.3V 0V Not valid
3 0V 3.3V 3.3V Flash
4 3.3V 0V 0V SDIO
5 3.3V 0V 3.3V SDIO
6 3.3V 3.3V 0V SDIO
7 3.3V 3.3V 3.3V SDIOHa valaki tudja pontosabban, írja le, legyen szíves!
-
Janos250
őstag
-
Bazs87
tag
válasz
Tankblock #5395 üzenetére
Igaz, viszont smarthome rendszernek ott van a FHEM és társai. Biztosan egyszerűbb lenne előkészített alkalmazásokat bedrótozni, de még ha az elején bugos is lesz, szeretném magamnak megcsinálni. Így korlátlanul tudom fejleszteni és úgy ahogy nekem tetszik. Az én néha túlkomplikált logikámmal, néha fura megoldásokkal, de az én gondolatmenetem szerint megy.
A googlenak van profi megoldása, kommunikál az okos háztartási gépekkel stb, ilyen szintre valszeg sosem fogok eljutni, de kifizetni se nagyon "szeretném"
-
-
-
vargalex
félisten
-
mArZsi
tag
válasz
Tankblock #5026 üzenetére
Egy sima ULN-t kapcsolgatnék. 6 csatorna kéne, amiből 5 megvan.
Valószínűleg csak az IDE-nek hülyesége, mert GPIO10 megy.(#5027) Janos250:
No igen... kell ennek is legalább egy év mire használhatóvá válik, ráadásul az ára is csúnya.Most jutott eszembe, lehet kettő ilyen marha portot felhasználok és egy XOR kapu kapcsolás lesz a megoldás.
-
mArZsi
tag
válasz
Tankblock #5022 üzenetére
Elírtam, valóban F ver. Választanék mást portot ha lehetne, de már foglaltak (4,5,12,13,14).
Elejéről indulva, GPIO0 nem lebeghet, felhúzón van, ellenben alacsony szinten progi módba indulna.
GPIO2-n szintén nem lóghat valami csak úgy, mert nem indul a boot, pulldown-al se.
Felhúzóval indul, de ezek nekem nem jók, mert setup lefutásáig magas a jel.
A kód jó, 9 outputra állításra dobja a wdt resetet DIO módban is. Gugli most nem barát.Marad I2C expander?
-
válasz
Tankblock #5005 üzenetére
Arduino mega, l9110s motor driver, és 7,4V vagy 11V tápfesz. A két DC motor a driverről kapja a tápfeszt, szóval ezt a kérdést nem értem.
Azért kérdeztem, mert régebben írta valaki, hogy egy külső szenzort úgy kapcsolt ki, hogy a GND-t szakította meg, azóta gondolkodom, hogy miért.
-
quint
aktív tag
válasz
Tankblock #4960 üzenetére
Csak 100 mA-t tud,az kevés az ESP-hez. Gyáriban egy korrekt megoldást ismerek. Nagyon jó még a LiFePO4 akkuk használata, direktbe lehet kötni az ESP-re, nincs konverter veszteség, az akku jelleggörbéje miatt lényegében az akku teljes kapacitása felhasználható.
-
fpeter84
senior tag
válasz
Tankblock #4749 üzenetére
Hmm, no ez a távolság kérdés is okozhat gondot. Már próbáltam 30m-es UTP kábel végére akasztott I2C érzékelőket olvasni és nem volt probléma velük, de ha ennél nagyobb távolság is előfordulhat akkor lehet én is a vezetéknélküli irányba tartanék... Bár én a filléres ESP8266-ot választanám, és ezeket állítanám hálózatba - akkor akár még a távmonitorozás, logolás, vezérelhetőség is kényelmesen megoldható velük...
-
szaszyka
senior tag
válasz
Tankblock #4742 üzenetére
Oksa, akkor módosítok majd rajta. Ha esetleg megpusztultak a dht-k, lecserélném bmp280-ra. Ezek jobbak a dht-nál, megbizhatóbban működnek? Tudnál írni róla, vagy a 180-ról valami tapasztalatot? Ebből is lehet 3-at egyszerre rákötni az arduinora? Csak páratartalmat mérnék vele, semmi mást. Ha jobb, mint a dht22, akkor lehet váltok arra inkább, mert a 3 dht22 20-20%-os eltérések kicsit kiakasztottak
-
szaszyka
senior tag
válasz
Tankblock #4740 üzenetére
Nem mertem rákötni egyszerre a szenzort, mert nem akartam esetleg túlterhelni az arduino tápellátását, hátha a 3 szenzort nem bírná egyszerre ellátni. Illetve nem is találtam rajta, csak 2db 5V-os csatlakozót, nem akartam egy csatira 2 szenzort rákötni. A biztonság elég fontos, minimalizálni akartam a kockázatot a meghibásodással kapcsolatban, azért van külön körön a szenzorok, és az arduino. Lehet amúgy sikerült kisütni mindhárom szenzort, mert arduinora kötve, egyenként próbálgatva sem szolgáltatnak mérési eredményt
-
szaszyka
senior tag
válasz
Tankblock #4738 üzenetére
Kapcsolási rajzom nincs konkrét, csak egy ákombákom kép. Így volt bekötve a 3 szenzor
Egy külön tápra vannak kötve a szenzorok, külön az arduino. A földelés sem az arduinora ment, hanem külön. A ventik most nem játszanak.
Elvileg a nyákra szerelt szenzor elvileg gyárilag tartalmazza az ellenállást, pont azért vettem ilyet, hogy azzal se kelljen külön foglalkozni. A rajz annyit hibádzik, hogy analóg lábhoz rajzoltam véletlen a szenzorokat, de a valóságban a 40-42-44 digitális lábakra vannak kötve
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! ASUS H610M I5 12400F 32GB DDR5 512GB SSD X 4060 8GB SPIRIT OF GAMER CLONE 3 Chieftec600W
- BESZÁMÍTÁS! MSI Z390 i5 9400F 16GB DDR4 512GB SSD RTX 2060Super 8GB Corsair Carbide Series 200R 600W
- ZOTAC GAMING GeForce RTX 3090 Trinity OC 24GB
- DJI Avata drón +Motion controller - hibátlan, karcmentes állapotban
- BESZÁMÍTÁS! ASUS B450 R7 1700X 16GB DDR4 512GB SSD RX 580 8GB Rampage SHIVA Corsair 450W
- LG 65C2 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Samsung ME46B 46" LED Monitor
- VÉGKIÁRUSÍTÁS - REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 docking station
- AKCIÓ! PC Specialist Recoil VIII 17 notebook - i9 14900HX 16GB RAM 2TB SSD RTX 4060 8GB WIN11
- Új monitor állvány - csak össze lett szerelve
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged