Se afișează postările cu eticheta Termometru. Afișați toate postările
Se afișează postările cu eticheta Termometru. Afișați toate postările

Termometru cu Arduino și ieșire... video

 Autor:   Publicat pe:    Niciun comentariu

Semnalul video analogic a fost înlocuit treptat cu cel digital care oferă o calitate și o rezoluție mai bune ale imaginii, fără perturbări. Astfel, dispozitivele de recepție a semnalului digital au devenit din ce în ce mai ușor de găsit și prețul lor a scăzut. Dar, generarea și modularea în radiofrecvență (RF) a unui semnal video digital (stream) este dificilă, necesitând echipamente costisitoare. În schimb, vechiul semnal video analogic este ușor de generat și poate fi modulat RF cu dispozitive simple. Modulatoare RF pot fi găsite în console de jocuri vechi, receptoare, playere VCR etc.

Un mod simplu de a genera semnalul video analogic este folosind un microcontroller. În continuare voi folosi o placă Arduino compatibilă împreună cu biblioteca TVout. ATmega 328p nu este foarte performant în acest scop, dar poate genera un semnal video alb-negru ce simulează un afișaj de 128x96 pixeli. Biblioteca folosește întreruperi, de aceea unele funcții ale microcontroller-ului nu pot fi folosite concomitent cu generarea semnalului video.

Termometru cu Arduino și ieșire video

Senzorii de temperatură și umiditate DHT11 și DHT22

 Autor:   Publicat pe:    Niciun comentariu

DHT11 și DHT22 sunt senzori integrați de temperatură și umiditate. Conțin un termistor, un transductor capacitiv și un microcontroller (MCU) care realizează conversia analog - digitală și trimite printr-un protocol serial valoarea parametrilor măsurați. Protocolul este unul specific, dar ușor de implementat în software. Cei doi senzori sunt similari și au aceeași pini. Vom vedea în acest articol cum putem determina acești senzori să trimită date către placa de dezvoltare și cum putem prelucra aceste date.

Totuși, DHT22 (cunoscut ca și AM2302) este versiunea mai performantă. Ambele versiuni se alimentează la tensiuni cuprinse între 3,3 și 5 V, deci nu sunt probleme de conectare la plăcile de dezvoltare uzuale. Spre deosebire de DHT11, care are o acuratețe de 5% RH pentru umiditate, respectiv 2 grade Celsius pentru temperatură, AM2302 este mai performant, cu o acuratețe de 2% RH, respectiv 0,5 grade Celsius. Dezavantajul acestuia din urmă este că citirea parametrilor se poate face o dată la 2 secunde (este mai lent), pe când DHT11 poate fi citit la fiecare secundă. De asemenea, prețul lui DHT22 este mai mare.

Module cu senzor DHT11 (stânga) și AM2302/DHT22 (dreapta)

Module cu senzor DHT11 (stânga) și AM2302/DHT22 (dreapta)

Măsurare presiune atmosferică cu senzor BMP280

 Autor:   Publicat pe:    Niciun comentariu

BMP280 este un senzor digital de presiune atmosferică proiectat pentru dispozitive mobile. Senzorul are o capsulă foarte mică, de numai 2 x 2,5 milimetri. Conectarea la o placă de dezvoltare ar fi foarte dificilă, dacă nu ar exista module cu barete de pini standard. O altă problemă este că tensiunea nominală de alimentare a senzorului este de 1,8 V. Totuși, suportă tensiuni de 3,3 V. BMP280 măsoară presiunea atmosferică și temperatura. Știind că există o corelație între presiune și altitudine, pe aceasta din urmă o putem calcula.

Până la urmă am conectat senzorul la o placă de dezvoltare pe 5 V din cauza display-ului. Am trei valori de afișat, așa că am utilizat un afișaj grafic cu controller ST7920, în locul unuia alfanumeric. Deși acesta poate funcționa la 3,3 V, modul în care este configurat din fabricație nu permite setarea contrastului suficient de bună la 3,3 V. Display-ul este conectat prin interfață SPI, deci numai 4 fire sunt folosite (3 pentru SPI și unul pentru reset). BMP280 suportă atât interfață SPI cât și I2C. Deoarece singurul convertor de nivel pe care îl am este unul construit de mine pentru I2C, am ales această interfață pentru senzor.

Senzorul BMP280 pe placa de test

Senzorul BMP280 pe placa de test

Calculare indice de confort termic cu senzor DHT

 Autor:   Publicat pe:    Niciun comentariu

Indicele de confort termic (ICT) sau indicele temperatură umezeală (ITU) este un parametru strâns legat de confortul termic. Indicele coroborează temperatura aerului cu umiditatea relativă, utilizând o formulă ce va fi descrisă în continuare. Pragul critic, peste care apare disconfortul, este considerat 80 de unități. Relevanța acestui indice este cel puțin discutabilă, deoarece chiar într-o lună considerată normală din punct de vedere meteorologic, toate zilele se pot afla peste pragul de alertă (65 unități). Formula de calcul a indexului poate fi găsită în articolul [PDF] Thermal Comfort (E. Teodoreanu, I. Bunescu).

După cum îi spune și numele, pentru calcularea ITU sunt necesare temperatura și umiditatea relativă. Măsurarea lor este chiar ușoară folosind senzori digitali de tipul DHT11, DHT22, SHT11, AM2302. Acești senzori măsoară atât temperatura cât și umiditatea, pe care le comunică digital unui microprocesor. Nu necesită calibrare, dar nici acuratețea nu este totdeauna cea mai bună. Se recomandă un senzor DHT22/AM2302 în locul unui DHT11. De asemenea, Bosch produce senzorul BME280 care costă ceva mai mult, dar măsoară inclusiv presiunea atmosferică. Și acesta poate fi folosit pentru calcularea ITU, cu mențiunea că este un dispozitiv care funcționează la 3,3 V, nu mai mult.

Calculare indice de confort termic cu senzor DHT

Montajul cu senzor DHT22 pe placă de test

Termometru cu senzor DS18B20 și afișaj 16x2

 Autor:   Publicat pe:    Niciun comentariu
Folosind o placă de dezvoltare cu microcontroller ATmega, un LCD cu 2 rânduri de 16 caractere și un senzor digital de temperatură de tipul DS18B20 se poate construi cu ușurință un termometru. Senzorul utilizat este unul digital, ce poate măsura temperaturi cuprinse între -55 și +125 grade Celsius, cu o rezoluție maximă de 0,044 grade (12 biți). În ciuda rezoluției ridicate, acuratețea senzorului este de +/-0,5 grade. Temperatura măsurată este comunicată procesorului digital, prin protocolul 1-Wire.

DS18B20 este un integrat programabil ce include memorie EEPROM. Această memorie poate fi utilizată pentru programarea unor praguri de alarmă. La fiecare citire a temperaturii, DS18B20 compară valoarea cu pragul de alarmă, și dacă este cazul setează un bit ce poate fi citit de procesor.
Termometru cu senzor DS18B20 și afișaj 16x2