És a kijelzendő adatokat kiírja? pl egy mért hőmérséklet, stb... tehát amit arduinoról küldesz neki, az "megjön" ? Emlékszem, hogy valamit kellett állítani a nextion.h fájlba, de nem tudom mit... Biztos, hogy jó helyre van dugva a kijelző tx lába? Tudod: Rx-Tx; Tx-Rx; Keresgélek, hátha megtalálom...
Ha nem villog, akkor azt jelenti nem kap adatot, ez lehet, hogy rosszul deklarált Rx vonal, vagy bármi... esetleg a .hmi fájlt átküldöd e-mailbe? Nem vagyok nagy szakértő, de ránézek. Emlékszem, kb 2 hetem ment el vele, mire összehoztam a kommunikációt, de nem emlékszem pontosan mi volt a megoldás :D
Sajna nem sikerült zöldágra vergődni vele, egyrészt ott a rengeteg féle Tipus - végig próbáltam az összes 9341-et. Másrészt a PIN kiosztása kicsit mást vár, mint az adafruitos, és bár szerintem jót adtam meg, csak fehér screen van. Szóval marad az adafruit, azon működik minden alapvetően, csak a touch nem tökéletes, de legalább van kép :)
Tököm kivan, hogy ennyiféle variáció létezik egy témára, sőt még ahonnan rendeltem ott is úgy van, hogy lehet 2 tétel is más vezérlővel jön, ami ugyanonnan rendelsz.
Köszi mindkettőtöknek, megnézem, hogy tudom életre lehetlni az én shield-emmel. Ez már az n-edik lib amit használok, nálam alapvetően az Adafruit_ILI9341_8bit_AS működik sima TouchScreen Lib-bel, ez az általatok ajánlott új még. Majd referálok a végeredményről :D
Szia, megmértem az áramot, 50-60 uA között mozog. Datasheet szerint ha jól látom akkor a 1 mA, de max 1,5-nek kellene lennie. Írtam az eladónak kért képeket, meg méréseket, csak pislogott, és kérte, hogy nézzem át mind a 10-et, ha nem jó, akkor küld újakat, vagy visszafizeti a pénzt. A datasheet szerinti lábkiosztást használom, ha megcserélem a két szélső lábat, akkor ~150mA-em van, tehát tuti nem az a helyes :-). Az eladónak küldött képek alapján nem cseszett le, hogy nem jó lenne a lábkiosztás, tehát akkor fogjuk fel jónak.
A probléma az, hogy ha bekötöm, és feldobok rá egy mintaprogramot, akkor -127 C-t kapok eredményül, folyamatosan.
Létezik, hogy ez más könyvtárat, vagy más programot igényelne mint amit itthon vettem? Az itthoni az Ds18b20+ ez meg Ds18b20 és más a printelés a tokozáson is.
Tudnátok küldeni olyan példaprogramot amit kínai szenzorokkal használtok? Nekem ez fut most rajta:
// Data wire is plugged into pin 2 on the Arduino #define ONE_WIRE_BUS 30
// Setup a oneWire instance to communicate with any OneWire devices // (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire);
void setup(void) { // start serial port Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo");
// Start up the library sensors.begin(); }
void loop(void) { // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus Serial.print(" Requesting temperatures..."); sensors.requestTemperatures(); // Send the command to get temperatures Serial.println("DONE");
Serial.print("Temperature for Device 1 is: "); Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? // You can have more than one IC on the same bus. // 0 refers to the first IC on the wire
// URTouch_QuickDraw // Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved // web: http://www.RinkyDinkElectronics.com/ // // This program is a quick demo of how to use the library. // // This program requires the UTFT library. // // It is assumed that the display module is connected to an // appropriate shield or that you know how to change the pin // numbers in the setup. //
#include <UTFT.h> #include <URTouch.h>
// Initialize display // ------------------ // Set the pins to the correct ones for your development board // ----------------------------------------------------------- // Standard Arduino Uno/2009 Shield : <display model>,19,18,17,16 // Standard Arduino Mega/Due shield : <display model>,38,39,40,41 // CTE TFT LCD/SD Shield for Arduino Due : <display model>,25,26,27,28 // Teensy 3.x TFT Test Board : <display model>,23,22, 3, 4 // ElecHouse TFT LCD/SD Shield for Arduino Due : <display model>,22,23,31,33 // // Remember to change the model parameter to suit your display module! UTFT myGLCD(CTE32,25,26,27,28);
// Initialize touchscreen // ---------------------- // Set the pins to the correct ones for your development board // ----------------------------------------------------------- // Standard Arduino Uno/2009 Shield : 15,10,14, 9, 8 // Standard Arduino Mega/Due shield : 6, 5, 4, 3, 2 // CTE TFT LCD/SD Shield for Arduino Due : 6, 5, 4, 3, 2 // Teensy 3.x TFT Test Board : 26,31,27,28,29 // ElecHouse TFT LCD/SD Shield for Arduino Due : 25,26,27,29,30 // URTouch myTouch( 6, 5, 32, 3, 2);
while (myTouch.dataAvailable() == true) { myTouch.read(); x = myTouch.getX(); y = myTouch.getY(); if ((x!=-1) and (y!=-1)) { myGLCD.drawPixel (x, y); } } }
Előszőr kalibrálni kell a touch panelt a kijelzőhöz, hogy az ábra pixeljei egyezzenek a tapintás helyével. Erre van egy demo az Arduino IDE UTFT_Touch könyvtárában. ott le van írva mit kell csinálni. Persze a programban be kell állítani a kijelző paramétereit, és az illesztőpanel lábkiosztását. Az tény, hogy én is eljátszadoztam vele, mire olyan lett, mint amilyennek lenni kell. Sok sikert.
( Ha a kalibrálás ellenére is furcsán viselkedik, a Portraid-ot állítsd át Landscape-re, és úgy is próbáld ki.)
Próbált már valaki touchscreen-t beüzemelni arduino-n? Az a bajom vele, hogy az érintés érzékelése fura. Nem lineális, amikor felrajzoltatom a tftpaint-tal akkor amikor a teljes kijelzőt végigtapizva a rajzon egy X tengely oké, de az Y tengely egy ív menén jelenik meg.
Azt gondolom vagy a kijelző ad vissza butaságokat, vagy a map()-nál van valami nem jól megcsinálva. Igazából ez matematikai feladatként is felfogható, hogy forítsuk vissza az ívet egyenessé :D Valami ötlet?
Mi már kb 8 éve használjuk ezt a megoldást de "ésszel"! A nappaliból megy egy 110 cső az étkezőbe a padláson keresztül /brutálisan le kell szigetelni/ abban egy
csőventilátor, a ház felújítása után jött a pára és a velejáró penész..... . Nem akartam szellőzőket vágatni az ablakra mert akkor minek a hiperszuper ablak meg ajtó ha jobban lebeg a függöny mint előtte, persze a szellőztetést nem mellőzük.
A kandalló szépen szárítja a levegőt igaz csak heti 2-3x van begyújtva általában csak hétvégén, nagyon szeretjük ha lehetne csak azzal tüzelnénk.
Amire figyeltem/figyelni kell, sose van becsukva az ajtó csak akkor használjuk ha otthon vagyok! Így megvan a benti körforgás, nem szív vissza semmit a kéményből! Manuális kapcsoló van a ventilátorhoz. Füstölőkkel megnéztem a levegő útját :)))
Az ilyen gazános gondot úgy szokták megoldani, hogy magát a kazánt körbeszigetelik brutálisan, hogy ne a külső kazánhelységet fűtse az ember. Lehet drágább megoldás (a lentieket olvasva ez sem biztos), de egyrész biztonságosabb, másrészt én biztos nem húznám be a poros, büdös esetleg CO2/CO szennyezett levegőt a lakótérbe. Nem feltétlenül kell bonyolult megoldás egyszerű problémákra.
Egyébként a vákumhatás elkerülése sem bonyolult, sőt gázfűtés esetén már kötelező is, a falba be kell kötelezően építeni egy szellőzőt. Természetesen a erős ventilátorral húzzuk a levegőt, akkor annak megfelelően kell méretezni. És igen, ott be tud jönni a hideg.
Másik - biztonságos, de drága és kevésbé hatékony - megoldás a hőcserélő. Tehát a meleg levegőt nem befújatni, hanem annak a hőjét átadni a belső levegően hőcserélővel, így ha büdős, vagy épp mérgező, akkor sincs nagy gond.
De továbbra is vallom, le kell szigetelni a kazánt, a csöveket - ez a legegyszerűbb, hagyományos módja a dolognak. Ha pedig gyorsan ellobbanó olcsó fával fűt a delikvens, be kell iktatni egy puffertartályt, azt felfűteni és onnan fűteni a radiátorokat szivattyú és termosztát segítségével. Szintén régi technológia, itt sem kell feltalálni a melegvizet - szó szerint :)
Profnak van igaza, esküszöm elolvastam, de nem esett le mi a gond ezzel a megoldással.
Nekem elsőre csak az jött le, hogy én is aludtam rendszeresen kandallóval fűtött helységben, mint sokan mások, gond nélkül. Odáig már nem jutottam el, hogy a kéményből visszafelé áramlik a levegő, mert a venti onnan kapja majd a levegőt a vákuum miatt.
Igen az is megoldás, de valami egyszerűbb is szóba jöhet, pl minden helyiség 1 légteret kellene alkosson. A legtisztább tényleg a Te javaslatod lenne, mert lehet 'kétcsatornás' mennyezeti légszállítókat szerezni. (vagy dupla cső és annyi, ahogy mondod)
Belegondolva tényleg nagy gond ez a huzat probléma, nem gondoltam át teljesen. Erre azért még vissza kell térni. :-(
Hülyeségre gondoltam, tényleg nagy gond lehet belőle!
Mondtam, aludnom kellene... Bocs mindenkitől, de tényleg nem jól gondolkodtam, a huzat azért gázos..
A huzat kérdését én dupla csövezéssel oldanám meg - minden irányba lenne in - out (hideg - meleg) csővezeték azonos vezérlésű és légszállítású ventikkel.
Még jobb, ha a csőventilátor csak a termosztátra van kapcsolva, a többi szobába meg vagy direkt tolja a meleg levegőt, vagy zsaluval elzárja. A termosztát után meg egy sima kapcsoló, ha akarja, hogy ki is lehessen kapcsolni mindent. (ok, ebben az esetben, ha minden szoba fullon van meleggel, akkor ki kell kelni az ágyból és beballagni a szobába lekapcsolni, vagy okostelón üzenni annak aki a szobában van, hogy legyen kedves kikapcsolni:-))
Ez az eset ritkán fog előfordulni.
Huzat:
Minden szobába érzékelő, lehetőleg minőségi.
Ennél egyszerűbbet és biztonságosabbat egyelőre nem tudok.
Arduinoval kapcsol relét. Az is beragadhat. A boltban kapható relék azért jobbak szerintem, mint a kínai 50 forintos.
A huzat ellen kell a co2 érzékelő. Azt azonban el kell fogadni, hogy sok lakásban mennek a kandallók, ami mellett alszanak. Hogy kerülik el a huzat problémát? Ők is elhalnak 2 tél után?
Van kockázat nem mondom, de valahogy fűtenek az emberek. Értem, hogy inkább abban a szobában haljenak meg az emberek, mintsem az összesben. Inkább redundáns füst, co2 stb érzékelőket tennék, ha kell.
A relés megoldásnál, mivel több ÉS kapcsolás kell, azért több relének kellene beragadnia egyszerre.
Akkor semmi, logika, sima kapcsoló mindenhova vagy kapcsolással, ha félnek a relétől. A motorban meg tuti van védelem.
Nem akarok feltétlenül beleszólni, de egy relé vagy egy sima logikai kapcsolás is tud műszaki hibát produkálni. És míg egy Arduinot műszaki hiba esetl lehet nulla állapotra hozni (nem megy semmi), addig ha egy reléd aktív állapotban bent ragad, azt csak a tűzvizsgálók kapcsolják le, ami nem feltétlen jó dolog. És ez még mindig nem oldja meg azt, amit felvetettem (huzat).
Ok, hogy meg kell oldanod a meleg elszállítását, ami fenyeget némi veszéllyel, de ha ezt átgondolod, és belevágsz akkor lehet hogy jobban jársz, ha az Arduino-t kihagyod. Drágább, de talán üzembiztosabb lenne, ha olyat tennél, hogy sima termosztáttal érzékeled, hogy meleg van, majd azzal kapcsolod a szellőző rendszert.
Profibb, ha a termosztátot 24V-al üzemelteted, ami egy relén keresztül kapcsolja a motort.
Még profibb, ha a szobákba kapcsolót teszel (24V) ami egy 'központi egységbe' fut be, mert akkor több relével össze tudsz rakni egy logikai kapcsolást is. Csak akkor mennyen a rendszer, ha van meleg és kér legalább egy szoba meleget. 1 relé kb 1500 Huf, de tutibb mint az Arduino. Kell bele egy csengő trafó, ami szolgálja a 24V-ot a logikának, meg a 230 a csőventilátornak.
Pluszban a logika elé egy co2, füst, akármi szenzor, ami az egészet megszakítja egy relén keresztül, így ha beüt a ménkű, akkor leáll a riasztáson kívül természetesen.
Ez csak egy gyors gondolatsor. Arduino erre nem a legjobb választás szerintem. Kifagy, Watchdog. tápellátás stb...
ITEADLIB_Arduino_Nextion-0.7.0 lib-et használok (szóval nem 7.0 hanem 0.7.0. - sorry!) és ebben nem engedi a float-okat és az int-eket sem szövegként küldeni, típus hibával le sem fordul a progi :(.
Nem számolni akarok vele, csak írtad hogy lehet és nem ment.
Megoldottam konvertálással és poztitív egész számokkal műkodik is a dolog, bár így meg nincs értelme a szövegként létrehozott boxok-nak a kijelzőn (mivel a szöveg csak a tizedes jegyek megjelenítése miatt lett volna érdekes). Így most átalakítom, hogy ne kelljen annyit konvertálni és int-eket küldök number mezőkre. Külön az egész és külön a tizedes jegyeket.
A változó értékének arduino felöli megadása azért volt érdekes, mert a Slider-t szeretnék kijelzőként működtetni (a progressBar- hoz haszonlóan). Elegondolkodtam ezen, és elméletben már ezt is megoldottam. Egy nem látszó number mező értékének meghatározása, és ebből történne a csúszka értékadása. Túlbonyolítottam eredetileg.
A kínai 1820B-el már én is szívtam egy délelőttött, mire rájöttem, hogy nem a program a szar, hanem a OneWire-ra kötött sensorokból az első nem működik, ás emiatt a többi sem mért.
Prof.: Köszi a tanácsot, kipróbálom.....
Itthon ma sürgősen csak LM35 hőmérő-t tudtam venni 600 pénzért :(. Van valami hátránya a tartós használatának vagy várjam meg inkább a kínai 1820B-t? Igazán csak a gépház hőmérése lenne a feladata egy analőg lábon, tehát a távolság 10 cm-en belüli lesz.