-
GAMEPOD.hu
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
Szia
Jelenleg minden változó globális a kijelzőben, így csak egyszer csinálja amikor belépünk.
Igen az esp32 küldi az adatokat, úgy hogy amikor a főoldalon megnyomom a nyilat akkor már elkezdi küldeni az adatokat arra az oldal változóira amik azon az oldalon lesznek.(erre gondoltál az utolsó bekezdésben? ).
Vajon megoldható így is, hogy esp32 küldi az adatokat?Köszönöm
-
And
veterán
válasz Tomika86 #17401 üzenetére
Nálam is nyilván a uC küldi az adatokat, csak más szervezéssel, de nem ettől függ a végeredmény. Biztos megoldható a default parancsküldős módszerrel is + oldalanként szeparált adatokkal, csak akkor késleltetett lesz az oldalváltás (ugye meg kell várni az adott oldal összes változójának beérkezését), vagy mindig az összes adatot el kell küldeni a Nextion felé, oldaltól függetlenül. Emlékeim szerint ezzel volt problémád az elején is, mondván úgy nem lehet túl gyors a frissítés, hosszúra nyúlhat a ciklusidő. Erre írtam akkor, hogy - az egyébkén elég hiányosan dokumentált - reparse-mód lehet erre univerzális megoldás, mert azzal jóval kevesebb adatot kell mozgatni a kontroller és a Nextion közt. Én utóbbinál maradtam, így minden ciklusban beesik egy ugyanakkora, de nem túl terjengős méretű tömb a Nextion vevőpufferébe, amely az összes létező adatot tartalmazza, nem csak azokat, amelyek egy adott oldalon fordulnak elő. Oldalváltáskor ezzel már eleve rendelkezésre áll ad adat pufferben, csak ki kell tenni a megjelenítendő változóba a preinit-ben.
-
Tomika86
senior tag
A legelején máshogy volt a z adatok küldésének a szervezése. Azóta optimalizáltam ezt. Azt megpróbáltam, hogy az adatokat küldöm amikor lapozok, de késleltetve váltok képernyőt, ekkor is megvolt a bevillanás.
Ahol a kapcsolók vannak ott 10 adat van kb amit küldök, az nem sok szerintem. Tehát nincs különbség a 10 adatos oldalnál és egy 25adatos oldalnál.
Azt is próbáltam, hogy első ciklusban elküldök minden adatot a kapcsolós oldalra, de ha nem azon vagyok akkor hiába küldöm el. (ez debugban is látszik, hogy nem jó) -
And
veterán
válasz Tomika86 #17403 üzenetére
"Azt is próbáltam, hogy első ciklusban elküldök minden adatot a kapcsolós oldalra, de ha nem azon vagyok akkor hiába küldöm el."
Milyen formában küldöd olyankor? Megfelelő a változók neve? Mert ugye hiába globális egy változó, ha nem azon az oldalon vagy, amelyiken létrehoztad, akkor az eredeti nevével nem tudsz rá hivatkozni, csak a p[x].b[y].val formátummal, ahol x az oldal sorszáma, y pedig a változó eredeti (a létrehozó oldalon kapott) id-je. -
And
veterán
válasz Tomika86 #17407 üzenetére
Mármint hogy lehet-e egy picture elem globális? Elvileg igen, de csak egyetlen attribútuma módosítható futás közben a kódból, a .pic elem, a tárolt kép sorszáma. Kérdés, hogy mi lenne a cél. Az eltüntetés / megjelenítés például megvalósítható máshogy is (vis parancs).
Amúgy a p[ ].b[ ].val szekvencia helyett az eredeti néven is elérhető egy globális változó egy másik oldalról (elé kell írni a változót tartalmazó oldalt, pl.: page2.n0.val), de az előbbi indexelős módszerrel scriptből pl. több elem paraméterének vagy értékének módosítása for vagy while ciklusban is megoldható. -
Tomika86
senior tag
Igen a képek megjelenítése a kapcsolók alatt, globális a vscope.
Igen a vis, 1 el megjelenítem, vis, 0 elrejtem. Megpróbálom hogy első ciklusban elküldök minden adatot.Azt ki tudom deríteni valahogyan, hogy a nextion küld e vissza valami hibát? Vagy nextionban ki lehet iratni?
Ha esetleg hibás parancs, vagy bármi van a kommunikációban. -
And
veterán
válasz Tomika86 #17409 üzenetére
"Azt ki tudom deríteni valahogyan, hogy a nextion küld e vissza valami hibát?"
Erre való a 0..3 között paraméterezhető bkcmd rendszerváltozó: [link]. Default értéke 2, vagyis hibás soros parancs esetén mindenképpen visszaküld egy byte-ot 0x00..0x23 közötti értékkel, melyek értelmezése a 7. pontban (Format of Nextion Return Data) látható. Ha a bkcmd értéke = 1, akkor csak a sikeres parancsok után küld visszajelzést a Nextion (0x01). Vannak olyan üzenetek is, amelyek nem tilthatóak, tehát a bkcmd = 0 beállítás után is megkapod azokat (0x24-től felfelé, lásd a linkelt oldal alján). -
Tomika86
senior tag
Összeraktam egy módosított programot, a kijelzőt is módosítottam.
Ahol a kapcsolók alatti képek vannak, az oldalon létrehoztam va0, va1, va2 változókat. Ezeket esp32 programbetöltésnél meghatározom milyen értékűek, 0 vagy 1. Aztán elküldöm page1.va1.val=1 példáulA képernyő preinizcializálasába tettem azt hogy if(va0.val==1)
{ vis p19, 1}
Else {vis p19, 0}Csak hétfőn tudom kipróbálni.
Köszönöm a segítséget
-
Janos250
őstag
Ismeri valaki az azsiacenter webáruházat, hogy nem fake-e?
Jelenleg elég olcsón (gyanúsan olcsón, 1051 Ft-ért) kapható náluk ESP32 fejlesztői panel. Buktam a pénzemet, vagy megkapom az árut?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Tomika86
senior tag
Sziasztok!
Megmértem a ciklusidőt és következőket tapasztaltam:
Főoldalon 20ms
Kapcsolós oldalon 9ms
Grafikonos oldalon 10ms
Adatbeviteli oldalon, egyiken 2ms
másikon 0,9msEzek jónak mondhatók? Vagy szerveznem kellene még a dolgokat , mert ritka rossz.
Egy magon fut az ESP-n -
tonermagus
aktív tag
Sziasztok!
Az elszálló Atmel chip árak miatt gondolkodom rajta, hogy kukázom az Arduino Mega 2560 Pro-t, és lecserélem egy ESP32-re, mert egy Arduino árából 3 ESP32 kijön.Azért az nem mindegy. Ezzel kapcsolatban lenne pár kérdésem:
- Elképzelhető hogy az ESP ára is emelkedni fog? Egyáltalán megéri váltásban gondolkodni? A jelenlegi Arduino tökéletesen megfelel (sőt eléggé ágyúval verébre kategória), és elég nagy macera lenne átállni, de így az előállítási költség a felére csökkenne az eszköznek.
- Tudnátok olyan ESP32 típus mondani, aminek a leghosszabb oldala is kisebb mint 5,4cm és van rajta legalább 3 UART port? Nem kell se Wifi, se bluetooth, az UART fontos csak és 1-2 PWM képes port...
Otthon van egy ESP32, a tüskéket sárga színű műanag lábak fogják össze. Na az pont hosszabb 2-3mm-el mint a mega, és nem fér be annak a helyére -
nagyúr
válasz tonermagus #17418 üzenetére
Esetleg a raspberry nano pi?
-
Janos250
őstag
válasz tonermagus #17418 üzenetére
Helló!
Ha csak az anyagiak miatt akarsz átállni, nem biztos, hogy túl jó ötlet.
Ahogy írtam is, az 1000 Ft körüli ár irreálisan alacsony. Általában a legolcsóbb lehetőségek kettőezer+ néhány száz Ft. Ezek a reális árak. Hogy mi hogyan fog változni, arra én nem merek jósolni.
A nagy tömegben eladott verziók két méretűek. Van egy kisebb, és egy nagyobb. Mindkettőn rajta van az antenna is ebben a méretben.
A kisebb:
https://raw.githubusercontent.com/Nicholas3388/LuaNode/master/images/ESP32_dimension.pngA kívánalmaid szerint lehet jobban jársz egy STM32-vel:
https://www.aliexpress.com/item/1005003112693578.html
Én régebben, mikor használtam őket, még 100 Ft alatti áron vettem, talán most is van még olcsóbb.
Van Alin olcsóbbnak tűnő is:
https://www.aliexpress.com/item/1005003753891882.html
nem teljesen világos, mi a különbség az eladó által felsoroltak között, hogy kétszeres árkülönbözet is van.
Vagy például ez:
https://www.aliexpress.com/item/1005002950458460.htmlVagy megveszed csak az ESP32 SMD "kockát", és azt rakod fel, az árban elég jó.
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
tonermagus
aktív tag
válasz Janos250 #17420 üzenetére
STM32-ről ha jól emlékszem azt olvastam hogy nincs Flash memória benne. Legalábbis a Blue Pill-en. Nekem pedig szükségem van memóriára. Nem kell hatalmas nagy tárterület, de azért 15 db Float típusú változó értékét szeretném eltárolni.
Jelenleg a Mega 2560 Pro 7.000 Ft környékén mozog, míg egy ESP32 2.400 Ft körül. Ez már szignifikáns különbség, hiszen így majdnem a felére csökken az eszköz bekerülési költsége.[ Szerkesztve ]
-
nagyúr
válasz tonermagus #17421 üzenetére
Mit gyártasz belőle, mekkora darabszámban?
-
Tankblock
aktív tag
válasz tonermagus #17418 üzenetére
Szia,
egyet tudok mondani, hogy chiphiány van így mindennek felfele megy az ára.
ESP meg egyre több okos kütyübe teszik, így a kereslet megy felfele....Vannak kisebb ESP32 devboardok amin csak max USB to Serial van meg 2x 2 sor tüske.
Ami nekem van belőle az 49*47 mm, de szerintem van kisebb is...[link] valami ilyesmi, sajna az oldalon nincs fennt a fizikai méretei. Ezen úgy is lehet olcsósítani, hogy magadnak tervezel egy boardot....
De találtam másikat is : [link] 31 x 39 mm
[ Szerkesztve ]
Release the Beast....
-
ekkold
Topikgazda
válasz tonermagus #17421 üzenetére
Az STM32-ben használható a flash, van hozzá arduino könyvtár, tehát el lehet menteni bele dolgokat. Ez egyúttal saját tapasztalat is. Az STM32F103C8T6-ban (BluePill) alapból 64k flash van, de több olyan példánnyal is találkoztam amiben a 64k feletti részt is tudtam írni és visszaolvasni, egészen 128k-ig. A kínából vásárolt procikat (alapból 72MHz-es) 104MHz-ig tudtam felhúzni, de itthon vettem eredeti STM32F101 procikat, (névlegesen 36MHz-es) amelyek 128MHz-en is vidáman működnek, sőt a nem létező USB (az adatlapja szerint nincs benne) is kifogástalanul működik....
[ Szerkesztve ]
Eladó: https://www.hobbielektronika.hu/apro/apro_159350.html
-
bitmad
aktív tag
Sziasztok!
Van 13 db MAX7219 – 4x8x8-as Led Mátrix, amit szeretnék arduinoval összekötni.
A kérdés, hogy le tudja-e kezelni az arduino a 13 db-ot sorba kötve?
Illetve, mivel ennek már kevés lenne, egy usb kábel, hány amperes 5 v-os külső táp kell neki? -
ekkold
Topikgazda
válasz tonermagus #17428 üzenetére
Igen.
Eladó: https://www.hobbielektronika.hu/apro/apro_159350.html
-
Béééla
őstag
válasz tonermagus #17428 üzenetére
Az ESP-k nem jönnek gyárilag flashhel (a panelokra tesznek, ez max akkor érint ha saját nyákot tervezel a nyers kontrollerrel).
Vagy az EEPROM-ot hiányolod, modern mikrokontrollerekben mar csak flash van, amit akár írhatsz is. Eszköztől függően akár el is különítenek ilyen perzisztens user adat számára szánt flasht, nehogy elcímezd és felülírd a progid.
Kell az StM-ekben is ilyen tár.Bélabá
-
Tomika86
senior tag
Sziasztok!
Ez a lookup tábla működőképes lehet?
Tudom, próbáljam ki
NTC hőmérőket a Beta modell alapján nem bírtam bekalibrálni, hogy ne legyen 9fokosnál kisebb különbség és nem is lineáris a hiba.
Azt ajánlották, hogy adjam meg táblában, így az ADC értéket leolvasva a tényleges hőfokokat vinném be a tömbökbe.
Köszönömfloat mytemp[] = {130.1,120.1,110.2,100.3,90.5,80.2,70.1,60.4,50.5,40.5,30.2,20.3,10.4,0.3,-1.1,-2.4,-3.1,-5.5,-6.4,-8.4,-10.2,-15.3,-16.6};
int myADC[] = {952 ,945 ,936 ,911 ,889 ,862 ,824 ,780 ,717 ,647 ,552 ,445 ,336 ,240,230 ,227 ,216 ,206 ,184 ,176 ,165 ,133 , 131};
void setup() {
Serial.begin(9600); // Serial Communication is starting with 9600 of baudrate speed
}
void loop() {
float hofok;
hofok = temperature(); // Interpoláció függvény meghívása
Serial.println(hofok); // Interpolált érték kiiratása
}
// Interpolációs függvény az ADC értékhez milyen hőmérséklet tartozik
float temperature() {
int adc = analogRead(A1); // 0 <= PV < = 1023 ===> ADC
for (int i = 0 ; i <= 22 ; i = i+1) {
if (adc <= myADC[i] && adc >= myADC[i+1]) {
adc = (adc - myADC[i]) / (myADC[i+1]-myADC[i]) * (mytemp[i+1]-mytemp[i]) + mytemp[i]; // Interpoláció
goto END_IF;
}
}
END_IF: // IF ADC IS BEYOND LIMITS YOU MIGHT GET WRONG VALUES.
adc=adc; // PV =PROCESS VARIABLE ====> TEMPERATURA CON UNIDADES DE INGENIERIA
return adc;
} -
Janos250
őstag
válasz Tomika86 #17433 üzenetére
Csak olyan sallang megjegyzés:
A ciklusból kilépést szebben old meg!
Példának nézd meg a linken az első programot!
http://ctp.mkprog.eu/hu/c%2B%2B/megszakito_utasitas/Az
adc=adc;
sornak semmi értelmét nem látom.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
Tomika86
senior tag
Beleírtam, a programomba, de még a tömböt fel kellene töltenem, ahogy utána gondolkodtam, azért jó lenne 0foktól 120fokig körülbelül és a 0-60 foknál elég lenne 5 fokonként, 60-120 fok között pedig 2 fokonként. Kijelzőre kitettem az adc értékeket, tehát onnét lehetne leolvasni, másik hőmérőről a hozzá tartozó hőmérsékletet.
Viszont közben gondolkodtam, mert a fenti azért elég hosszadalmas művelet, valahogy egyszerűbbre törekednék.
A Steinhart-Hart egyenlettel úgy próbáltam, hogy az ntc ellenállasértékét multimeterrel mértem meg, kalkulátor segítségével alsó, felső és egy középső hőfok és hozzá tartozó ellenállás értékkel számoltam ki az A B és C együtthatókat.
Viszont így nem stimmel.A gondolatom az , hogy a kijelzőmőn az adc és 1%os ellenállások segítségével a kiszámolt ntc ellenállás értéket jelenítem meg. Aztán mérek hőmérsékletet és ezek alapján számolok együtthatókat, amiket beírok(3*3db).
Mit gondoltok?
Köszönöm
-
artru60
csendes tag
-
artru60
csendes tag
válasz Tomika86 #17447 üzenetére
NTC és a mikrokontroller lába között van a 22K ezt bele kell számolni a steinhart képletbe, a linken amit beraktam erről is van szó, meg google is segít. Azt nem tudom, h ez az érték típusfüggő-e. Nem értek az elektronikához, csak programokat írok, de ezt tudom véletlen.
-
Tomika86
senior tag
válasz artru60 #17448 üzenetére
Azt a módszert próbáltam, de túl sok a hiba lehetőség.
Most kipróbáltam amit írtam és 25-65 között 0,5fok volt a különbség, de meg kell néznem mégegyszer.Így hogy a kiszámolt és kiírt ellenállás értéket használom fel, így ha jól gondolom az elötte lévő mindennemű hibalehetőséget kihagyom. Tehát nem gond hogy a mért ellenállás 2700ohm a kijelzőn kiírt pedig 2789ohm. Ha a Steinhart egyenlet ugyis ezt használja.
-
Undoroid
őstag
A címezhető RGB LED-szalagok (WS2812) témában keresgélve találtam egy oldalt, ahol egy hasznos segédprogramot találtam ezek programozására! Úgy gondoltam, hogy megosztom veletek, hátha szükség lehet rá: LED Strip Effects Generator
https://logout.hu/bejegyzes/ngabor2/nyugodj_bekeben_bordoi.html _ https://robo-venture.com -> Az ökotudatos, digitális közösségi alkotóműhely <-
Új hozzászólás Aktív témák
- Ej-Ha! Lenovo ThinkPad P53s Szép Home & Business Laptop -70% 15,6" i7-8665U 16/512 Quadro P520 2GB
- Új Lenovo ideapad 5 Pro Prémium Ultrabook 14" -30% Bivaly Ryzen 5 5600U 8GB 512GB 2,2K RADEON 2GB!!
- iPhone 13, 128GB, starlight, kártyafüggetlen, 88% akku
- Tyű-ha Lenovo Thinkpad T15 "Golyóálló" Üzleti Laptop 15,6" -50% i7-10510U 4Mag 32GB/512GB FHD IPS
- Új 2K AM5 Gamer PC R5 7600/RTX 3070 8Gb/2X8Gb 6000Mhz DDR5/500Gb SSD M2/700W 2Év gari
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs