Mármint úgy értem, kb ugyanúgy használható mint egy PLC-nél egy HMI? ott is külön felprogramozód magát a kijelzőt, saját flash-e van, aztán adott utasításokra váltogatsz, adott helyekre berak adatot vagy éppen kiolvas.
Jól értem akkor, hogy a teljes képet gyakorlatilag beszerkesztheted a saját szerkesztőjével, és a fogadott adatokat meg beadod adott helyre amit ő feldolgoz nem tudom én mi alapján?
Több képernyőt is létrehozhatsz, ami között valahogy váltani tudsz?
Amivel most küszködök, ott a képet is az Arduino maga állítja elő. le is köti szinte teljes mértékben.....
Bocsi, tegnap nem láttam a kérdést ... Nem tudom melyik kijelzőre gondolsz, de az enyém marha egyszerű és nagyszerű, csak kicsit drága... nekem ez van :
fix 5V-os táp, Rx, Tx, tehát ha jól tudom soros porton keresztül csatlakozik. Érintője nagyon jó, nem egy modern okostelefon, de messze jobb mint amit vártam.
A programozása gyerekjáték library-vel.
Összes ami szükséges:
#include <Nextion.h> //meghívom a könyvtárat
Nextion myNextion(nextion, 9600); //Nextion könyvtár létrehozása myNextion néven, sorosport sebessége 9600bps
Setupban:
myNextion.init(); //pontosan nem tudom miért de kell :D gondolom a kommunikációt hozza létre vele
Loopban:
myNextion.setComponentText("press", String(barValue)); // Adatok kiküldése a kijelzőre .
.
.
stb
ha az érintőt akarom beolvasni akkor
String message = myNextion.listen(); //check for message
if (message == "65 0 c 1 ffff ffff ffff"){ // ha megnyomok egy gombot, akkor tetszőleges karaktersort küldhetünk vele, én a gomb címét figyelem
lehet beolvasni belső változót:
float value = myNextion.getComponentValue("va0");
nagyon praktikus és egyszerű első kijelzőm, de nagyon meg vagyok elégedve vele. És átcsúszott a vámon is :D
Van egy letölthető szerkesztőprogramja ahol a felületét kompletten meg lehet csinálni, létrehozhatsz gombokat, érintő felületeket, folyamatábrákat, gauge-eket szinte bármit. A szerkesztő kicsit macerás, kicsit kínai volna még mit fejleszteni rajta, de mindenre rá lehet jönni. A kész felületet kiexportálod, és egy micro SD kártyára másolva a fájlt, ráinstallálod az elkészült anyagot. Ujraindítás után már memóriából jár a program.
A kissebbek jóval olcsóbbak, de nekem ez a méret kellett.
A vezetékelést ne figyeld, itt még tesztüzem volt. :-)
Eddig nagyon jól működik, de nagyon érzékeny a tápra! Jelenleg kb napi 10-18 órát jár egyhuzamban kb egy hónapja, hibamentesen. Ha elkészül a másik kijelzés akkor be fogom altatni, hogy ne járjon mindig.
Ezért lehetőleg külön táppal kell ellátni és a kommunikációját optocsatolóval leválasztani.
A számítógépek tápja teljesen megzavarja a mérést.
Először azt hittem, hogy elromlott.
Mintaként egy arduinóra (NANO) 3 MAX6675 került. Amelyiken a K-elem lebegett a levegőben az rendben mért, amelyik a füstcsőbe lett helyezve az össze-vissza, sőt volt hogy semmit sem (0) mért.
A következő teszt ESP-vel történt, wifin küldte az adatokat, így rendben működött.
Van egy mega ami a két üst adatait figyeli, kapcsolja, motort vezérel, kijelzőnek "dumál" :D
A felmelegedett szeszpárát egy nagy palackos hűtő hűti ismét cseppfolyósra, amin a vizet hidrofor tartályból cseréljük szakaszosan. Ezt az előbbitől teljesen független Mega figyeli, ha felmelegedett a hűtővíz 70C-re akkor relét behúzza, ami egy mágnesszelepet nyit, ha lehűlt 40 alá akkor zár, és vár...
Tervem az volt, hogy a két mega által mért adatot egy másik Megára összeszedem, ami USB-n géphez van kötve, Serial.print és minden adatom egy helyen van.
A képen látható "folyamatábra" kerülne a tv-re, ide kell összeszedni mindent. (1.0-ás verzió, még csak demó :-) )
Ezt a kijelzőt mennyire macerás programozni? Látom fizikailag több összekötés is lehetséges, spi, soros meg 16 lábon, talán a fóliabillentyűzeten keresztül.
Szóval írhatnál róla egy kicsit, mert hasonlót keresek ilyesmi méretben. Most egy 3.5-össel küszködök, de az annyira nem tuti sajnos, ez sokkal szebben mutat a képek alapján.
Nem ismerem az eszközt, így érdemben nem tudok nyilatkozni. De llaán ezt a párszázas tételt kibírhatja a fejlesztést, még akkor is ha vakvágány :-)
Ami inkább neccesebb, hogy egyirányú így ebben a formában és nem tudjuk mennyire robosztus. Azaz pl érzékenység, zavarvédelem, stb.
Két eszköz között akarsz kommunikálni vagy több eszköztől is várnál adatokat?
Az adatok mennyiségét azért kérdeztem, mert soros port esetén a legalacsonyabb sebességgel - ami ide bőven elég - az elég lehet neked. Esetleg egy jelkondicionálás scmitt trigger formájában is belejöhet a képbe, ami egyszerű de nagyszerű. Én elsőre ezt próbálnám ki, egyszerűbb vezetéknélküli eszközökre nem bíznék komolyabb feladatot, mert nem elég megbízhatóak általában.
Igen egy pálinkafőzdébe készült, a látott pontokon mérem a hőmérsékleteket, a kapott értékek függvényében relé húzza be a cefre illetve sisakban elhelyezett világításokat, a füst hőmérsékletekre PID szabályzó számolja egy huzatszabályzó pillangó állását, majd ezt egy léptetőmotor követi le. Így az alátüzeléses üst gázoshoz hasonlóan szabályozható. Az értékek jelenleg egy Nextion 7"-os érintős kijelzőn olvashatók, állíthatók. A másik arduino a hűtőtornyokat vezérli. Minden mért értéket össze akarok fésülni egy számítógépre, amire írtam egy programot Labview-ben, ami grafikusan megjelenít mindent tartályostól, ez egy tv-n fog megjelenni a főzőtérben, azonnal minden egy helyen. :D
Nagy dolog, de olyan 90%-on állok :D Hónapok óta szenvedek, első programozásom, de most is működik.
Csatolok két képet, az egyik főzés adatait tartalmazza látható hogy a kb 3 órás mintavételezés során néha elcsúszott némi adat (kb 3x) passzolom hogy mitől lehetett... USB-n volt rákötve egy gép az arduinóra, és Serial.print parancsokkal jöttek az adatok.
A másik képen ebből az adatgyüjtésből készült grafikon látható, de rengeteg a félremérés, látszik a beeső "tüskéken" mindent K-elemekkel mérek, tudom pontatlanok, érzékenyek, de a helyi adottság miatt szükséges volt ezt választani. Hogy ezt elkerülhessem betettem egy-egy 10 elemű tömböt, (jelenleg feltöltésnél delay nélkül) és ennek átlagát íratom ki.
Ezek után úgy belassult a programom, hogy 3 másodpercenként hajlandó csak lefutni... nincs delay sehol, az összes lehetséges float-ot átdeklaráltam integernek... Végülis elég a 3 sec, de nem gondoltam volna, hogy 6 db tömb így belassít... Ezek ellenére még mindig van félremérés, pl sisakra mér 85C-t bekapcsolja a sisak világítást, következő ciklusban már csak 35-nek méri, így kikapcsolja, de utána újra 85C. ezt változó időközönként teszi változó ütemben... valahogy stabilizálni kellene az értéket, de még nem tudom, hogy.
Jó lenne loggolnom folyamatosan, de ehhez szükséges valami úton-módon mentenem az adatokat.
Cel 250.00 Sisak: 67.00 Cefre 62.75 Fust: 506.00 F_Sisak: 82.75 F_Cefre 51.50 F_Fust: 249.00 Nyomas -0.01 Motor 0.00
Természetesen ezek csökkenthetők, vagy akár a szöveges részek el is hagyhatók, (csak a könnyebb beazonosíthatóságot hivatottak szolgálni). Valójában járható a Wifis jeltovábbítás is mivel van router a helységben, de ha lehet ki szeretném hagyni mint újabb hibalehetőséget. Most találtam e-bayen APC220 vezeték nélküli adattovábbítót, bár amiket hirtelen néztem inkább fogadni tud adatot segítségével az arduino mint adni. Ha úgy tetszik távirányítóként használják (bár gondolom nem jelent problémát oda-vissza)
Amivel megpróbálkoznék az a soros ami benne van az eszközben is, de árnyékolt jó minőségű alacsony kapacitású kábellel (árnyékolt UTP vagy minek hívják azaz árnyékolt ethernet, hirtelen nem tudom, talán stp kábel, a biztonságtechnikai nem biztos hogy jó max ha van otthon és egy próbát megér) és alacsony sebességen. Az alacsony sebesség az 2400 legyen, ne több elsőre)
nem tudom mennyi adatot kell küldened, és mennyire kritikus a sebesség. Viszont redundánsan csináld meg az a adatátküldést, mert sok a hibalehetőség/tévesztés ha soroson akarod. Azaz pl küld át többször is, vagy küld el invertálva és ellenőrizd, stb. Egy próbát megér, de a 25 méter nagyon sok.
Ha nem megy ilyen egyszerűen akkor soros rs485 konverter majd rs485 vissza sorosra. Nem összekeverendő a RS232.vel mert az is soros, de más jelszintekkel! Vittem már rs432-vel is jelett 200 méterre, és működött, de nagy ritkán tévesztett sajnos.
Vagy ahogy mondták marad az ethernet is mint lehetőség, esetleg vezetéknélküliség.
Köszönöm, a probléma, hogy nem vagyok túl jártas az informatikában és az adatátvitelben. Az előbb leírtak szerint szeretnék néhány adatot eljuttatni ~ 25m-re két arduino között. Nem tudom, hogy melyik kommunikációs "nyelvet" válasszam. Ha van lehetőség akkor különböző fordító és jelerősítő IC-k nélkül, mivel a padláson fog keresztülmenni a vezeték. 8-eres biztonságtechnikai kábellel szeretném megoldani, tehát az árnyékolás adott... ( lehet túl egyszerűen gondolom, de úgy képzeltem, hogy küldőn küldöm, fogadón fogadom, mindenféle IC nélkül.) Nincs ilyen egyszerű megoldás erre a távolságra?
Órajel biztos, meg lehet egy resetet is érdemes. Egy valamilyen szintű tápszűrést minél közelebb az ic táb lábakhoz lehetőleg, esetleg egy táp visszajelző led ha kell.
Köszi. Ilyen lyukacsos próbapanelem van. De ha így elkezdek építeni és és minden alkatrésznek egy egység hely minimum kell, plusz alul a sok összeforrasztottá, akkor megint lesz egy akkora panelem a gyári a mega mini- nél nagyobb lesz, ami más nem akaródzik beférni annyira.
Az I2C RAM nem ugyanaz, mint a CPU memória buszra rakott RAM.
Az I2C RAM:
-Lassabb.
-Nem része a CPU által megcímezhető tartománynak. Az adatokat neked kell külön utasításokkal kiírnod a belső RAM-ból, illetve visszaolvasni oda. Ha tehát egy lib elfoglalja a RAM java részét, akkor ez azon nem segít. Hacsak nem írod át az egész libet.
De egyébként lehet egyszerűbb lenne egy megat belefaragni, és minden gondod megoldódna, se külső alkatrész se semmi, egy óra alatt lehet hozzá tervezni egy nyákot.