Un proiect interesant, ce merita reprodus, este aceasta statie meteo ce foloseste si partea de comanda tactila, in stilul telefonului (doar ca ecranul senzorial este o generatie mai veche si nu e asta usor de folosit ca aceea a unuia de la un telefon).
Dupa incarcarea programului (ce implica instalarea librariilor, necesare introducerea datelor de utilizator pentru datele meteo de la openweathermap.org) pe ecran apare un mesaj sa calibram ecranul tactil, adica sa apasam in 2 colturi, unde apare o bulina, dua care vedem informatiile meteo si ora, in format de 24 ore
caruia i-am adaptat biblioteca folosita de mine anterior, inclusiv selectie ora de vara sau de iarna, asa ca programul devine InternetClock_ILI9341_1.ino
Am achizitionat un afisaj de 2,8" (diagonala de 7,1cm) si driver ILI9341. In anul 2014 lucrasem cu un afisaj cu diagonala mai mica (2,2"= 5,6cm) si acelasi driver (ILI9341), controlandu-l cu Arduino Uno, Mega sau Due (vedeti articolele).
De data asta, am vrut sa fac un ceas NTP care sa fie controlat de un ESP8266 (placa Wemos D1 mini), asa ca am apelat la mai multe biblioteci de pe net, dar am ajuns sa fiu multumit de rezultatele obtinute doar cu biblioteca lui Bodmer TFT_eSPI.
Schema de conectare este foarte simpla
iar primul program mai complex, pentru a-mi usura munca pentru ceasul NTP a fost pentru un pseudoceas cu o prezentare de ceas analogic si unul digital: TFT_Clock_analog_digital_v0.ino., dupa cum se vede si in filmulele:
Dupa aceea, am adaptat programul sa am un ces NTP real, programul devenind TFT_Clock_analog_digital_v0a.ino iar ceasul poate fi vazut in functiune in filmuletele:
Dearece am un senzor AHT20 si tocmai am testat un termometru/higtometru cu senzorul GY-21 pe un afisaj de 1.3"cu driver ST7789, am zis sa adaptez programului pentru senzorul AHT20.
Am gasit un articol bun, ce foloseste similar senzorul (ca si precedentul), din care am aflat si caracteristicile principale:
- tensiune de alimentare: 2,0..5,5V
- umiditate relativa masurata: 0..100% RH
- temperatura masurata: -40..+85℃
- precizia de masusa a umiditatii relative: ±2% RH (la +25℃)
- precizia de masura a temperaturii: ± 0,3 ℃
- rezolutie masura pentru umiditatea relativa: 0,024% RH
- rezolutie masura pentru temperatura: 0,01 ℃
- adresa i2c: 0x38
Biblioteca folosita este Seeed_Arduino_AHT20 asa ca programul adaptat de mine este AHT20_ST7789_0c.ino ce foloseste schema (similara cu cea a senzorului GY-21):
Prima deosebire sesizata intre GY-21 si AHT20, este aceea ca cel din urma este mult mai lent in initializare si trebuie interogat mai rar pentru valori corecte, mai ales ale umiditatii relative.
Ca si termometrul/higrometrul anterior, pe ecranul de 33mm (1,3") putem vedea:
- modul 1:
- temperatura si umiditatea cu caractere mari
- temperatura cu caractere mari si un grafic al variatiei si umiditatea relativa cu caractere mai mici
- umiditatea relativa cu caractere mari si un grafic al variatiei si temperatura cu caractere mai mici
- modul 2 (cu informatii in partea de jos, in stanga pentru temperatura si in mijloc pentru umiditatea relativa, pe primul rand valoarea medie, apoi valoare minima, respectiv valoarea maxima, pe randul de jos)
- temperatura si umiditatea
- temperatura cu caractere mari si umiditatea relativa cu caractere mai mici
- umiditatea relativa cu carctere mari si temperatura cu caractere mai mici
Dupa ce am testat, cu bune rezultate, termometrul si higrometrul prezentat in articolul precedent, am dat de un video cu prezentare frumoasa
Am adaptat programul care se poate descarca din descrierea filmuletului, pentru senzorul GY-21 (SHT21) folosind aceeasi configuratie din schema anterioara (doar ca butonul fara retinre nu are nici o functie aici):
Intrand in posesia unui afisaj grafic de 1,3"cu driver ST7789, am zis sa il testez, mai ales ca mi-au venit niste senzori GY-21 (unul ce sa defectat, l-am testat pe un afisaj OLED de 0,96" cum am prezentat intr-un articol precedent).
cu mentiunea ca am intercalat 4 rezistente de 2k2 (2.2kΩ) pe liniile de comanda deoarece afisajul se alimenteaza la 3,3V avand si logica la fel, iar Arduino Nano lucreaza la 5V avand si logica la fel.