Stație meteo cu BMP180 si afișaj LCD12864 (I)

Deoarece nu sunt deloc multumit de acuratețea senzorului BME280 (varianta chinezească), care are o eroare de măsură a temperaturii de 20C, am hotărât să înlocuiesc senzorul barometric cu un sensor BMP180.
BMP180 este un sensor barometric de presiune fabricat de Boch și se utilizează împreuna cu bilblioteca SFE_BMP180. Acuratețea măsurii este mult mai bună față de BME280. Ca majoritatea senzorilor de presiune, BMP180 măsoară presiunea absolută. Aceasta este presiunea ambientală reală văzută de dispozitiv, care variază atât în funcție de altitudine, cât și de vreme. Înainte de a citi o presiune, trebuie să se facă o citire temporară. Acest lucru se face cu startTemperature () și getTemperature (), rezultatul este în grade C. După ce se citește temperatura, se poate citi o presiune. Acest lucru se face cu startPressure () și getPressure (), rezultatul fiind afișat în millibari (mb), aka hectopascali (hPa). Dacă se monitorizează modelele de vreme, probabil că se va dori eliminarea efectelor altitudinii. Acest lucru va produce citiri care pot fi comparațe cu citirile de presiune publicate din alte locații. Pentru aceasta, se utilizează funcția sealevel (). Va trebui să se introducă altitudinea cunoscută la care a fost măsurată presiunea. Eu masor la o altitudine medie de 320 m. Astfel, rutina de măsurare va afișa presiunea absolută pentru altitudinea de 320 m și presiunea relativă calculată pentru altitudinea 0 (relativ) nivelul mării, care este 1023,25 mB (hPa). Față de MBE280, senzorul BMP180 nu măsoară umiditatea relativă a aerului. Probabil o voi măsura cu un DHT22.
Și acum despre afișaj. Deoarece dețin două afișaje LCD12864, mult mai evoluat față de afișajele 1602 sau 2004, am hotărât să afișez cu acesta datele meteo măsurate. Așa cum îi spune numele, lcd-ul în cauză este un afișaj cu 128x64 pixeli (128 de linii și 64 de coloane) motorizat cu driverul ST7920 și folosește librăria grafică U8glib.

Comentarii