meteoMast: Stația meteo care respiră Arduino
un proiect realizat împreună cu dl. profesor Klaus Nicolae Micescu
Introducere
meteoMast este primul nostru proiect cu placa Arduino Nicla Sense ME, o stație meteo compactă, dar extrem de capabilă, un proiect realizat deocamdată, pentru testare, pe breadboard dar pentru care vom construi, la un moment dat, și o carcasă adecvată care să îi reflecte personalitatea. Aceasta folosește senzori de mediu integrați in dispozitivul Arduino Nicla Sense ME pentru a măsura temperatura, umiditatea, gazele din aer și calitatea generală a atmosferei. Datele sunt afișate pe un ecran OLED într-un format clar și ciclic, iar designul modular permite extinderea cu funcții suplimentare precum alertă vizuală, conectivitate BLE sau logare de date.
Scopul proiectului este să oferim o soluție locală, accesibilă și precisă pentru monitorizarea aerului din interiorul locuinței. Fără cloud, fără dependențe externe — doar hardware, cod și control complet. meteoMast este o stație meteo DIY care poate fi integrată ușor în orice spațiu și personalizată după nevoile fiecăruia.
Deocamdată, meteoMast funcționează local, cu afișaj OLED și senzori integrați pe placa Nicla Sense ME. Dar proiectul nu se oprește aici. Următorul pas este extinderea prin Bluetooth Low Energy (BLE), astfel încât datele să poată fi trimise către o aplicație mobilă — fie pentru vizualizare live, fie pentru logare și analiză.
Pe termen mediu, ne propunem să integrăm și previziuni meteorologice, eventual prin interpretarea tendinței presiunii atmosferice direct pe dispozitiv. Astfel, meteoMast va putea oferi nu doar o imagine a aerului din prezent, ci și o estimare a ce urmează — ploaie, soare, sau schimbări bruște de temperatură și umiditate.
Această evoluție va transforma meteoMast într-un asistent ambiental complet, capabil să comunice, să anticipeze și să se integreze în ecosistemul unei locuințe inteligente.
Ce este Arduino Nicla Sense ME și ce poate măsura pentru meteoMast
Nicla Sense ME este o placă de dezvoltare creată de Arduino, gândită special pentru aplicații care implică senzori de mediu și mișcare. Deși are dimensiuni reduse, integrează o serie de senzori de înaltă precizie care o transformă într-un instrument ideal pentru o stație meteo de casă.
Pentru proiectul meteoMast, Nicla ne oferă tot ce avem nevoie pentru a monitoriza atmosfera din jurul nostru. Poate măsura temperatura și umiditatea aerului, presiunea atmosferică, dar și compuși organici volatili — adică acele gaze care pot indica dacă aerul este curat sau poluat. Pe lângă aceste date, senzorul de gaz intern poate estima calitatea aerului și chiar un echivalent de CO₂, util pentru a înțelege cât de respirabil este mediul în care se regăsesc senzorii.
În plus, Nicla vine cu un senzor de mișcare complet — cu accelerometru, giroscop și magnetometru — care poate fi folosit pentru detectarea vibrațiilor, mișcărilor sau chiar pentru stabilizarea dispozitivului în cazul în care vrem să-l montăm într-un spațiu expus.
Toate aceste măsurători sunt disponibile direct pe placă, fără să fie nevoie de module externe. Asta înseamnă mai puține fire, mai puține surse de eroare și un design mult mai compact. Pentru meteoMast, Nicla este nucleul perfect: măsoară, procesează și comunică — totul într-un singur loc.
Ce măsurători oferă efectiv Nicla Sense ME pentru o stație meteo
Temperatură – măsurată cu senzorul BME688, ideală pentru monitorizarea ambianței interioare sau exterioare
Umiditate relativă – măsurată tot cu senzorul BME68, utilă pentru confort termic și prognoză
Presiune atmosferică – folosită pentru estimarea tendinței meteo (creștere = vreme bună, scădere = posibilă ploaie)
Gaz /VOC (compuși organici volatili) – detectează substanțe precum alcool, acetonă, formaldehidă, utile pentru evaluarea calității aerului
Calitate aer (IAQ) – estimare derivată din VOC, exprimată ca scor între 0 și 100
CO₂ echivalent – estimare indirectă, bazată pe profilul de gaz detectat
Particule PM2.5 – calculată aproximativ din rezistența gazului, pentru context ambiental
IAQ – Calitatea aerului
Ne-am gândit că, dintre toți parametrii menționați anterior, ar fi indicat să detaIiem ce anume reprezintă acest factor de calitate a aerului. IAQ (Indoor Air Quality) este un scor care reflectă cât de curat sau poluat este aerul dintr-un spațiu interior. În proiectul meteoMast, acest scor este calculat automat de senzorul BME688 de pe placa Nicla Sense ME, pe baza concentrației de compuși organici volatili (VOC) detectați în aer.
Scorul IAQ variază de la 0 (aer foarte curat) până la 100 (aer poluat). Cu cât valoarea este mai mică, cu atât aerul este considerat mai respirabil. Este o estimare inteligentă, derivată din comportamentul gazelor detectate, și nu o măsurare directă a unui singur compus.
Atunci când parametrul IAQ este exprimat pe o scară de la 0 la 100, semnificația este următoarea:
0–25 → Aer foarte curat
26–50 → Aer curat
51–75 → Aer acceptabil
76–100 → Aer poluat sau foarte poluat
Pentru utilizator, IAQ oferă o interpretare simplă: dacă scorul este ridicat, e momentul să aerisești. Dacă este scăzut, înseamnă că aerul este curat și nu ai motive de îngrijorare.
Schema electrică și provocările legate de alimentare
Schema electrică a proiectului meteoMast nu este complexă, însă am întâmpinat câteva provocări care merită menționate. Spre deosebire de dispozitivele Arduino tradiționale — cum ar fi Uno, care funcționează cu logică de 5V — placa Nicla Sense ME utilizează exclusiv logică de 3.3V, iar magistrala sa de date nu tolerează tensiuni de 5V. Acest detaliu este esențial, deoarece orice componentă conectată la Nicla trebuie să funcționeze la 3.3V, atât pe partea de alimentare, cât și pe semnal.
Pentru afișajul OLED, am ales un model de 0.96 inch, controlat de circuitul integrat SSD1306, care funcționează nativ la 3.3V — atât pentru alimentare, cât și pentru comunicația I2C. Alegerea acestui model a fost esențială pentru compatibilitatea directă cu Nicla, fără a fi nevoie de convertoare de nivel logic.
O altă provocare a fost alimentarea OLED-ului. Deși Nicla poate furniza 3.3V printr-unul dintre pinii săi, curentul disponibil este foarte mic și insuficient pentru a susține afișajul. Dacă am alimenta OLED-ul direct din Nicla, în cel mai bun caz, magistrala de date s-ar bloca după o perioadă de funcționare. În cel mai rău caz, am putea deteriora placa.
Pentru a evita aceste riscuri, am decis să alimentăm OLED-ul dintr-o sursă externă. Deoarece alimentatoarele de 3.3V nu sunt ușor de găsit pe piață, am folosit un alimentator de 5V sau 12V, împreună cu un regulator coborâtor de tensiune (step-down converter) care să furnizeze 3.3V stabil pentru afișaj. În versiunea finală, când vom integra totul într-o carcasă, ne propunem să alimentăm întregul ansamblu de la 5V și să folosim un singur circuit de conversie pentru OLED.
În rest, conexiunile electrice sunt foarte simple. Nicla are deja integrați toți senzorii necesari pentru măsurarea parametrilor de mediu, ceea ce elimină nevoia de module externe și simplifică mult schema generală.
După cum puteți observa, avem următoarele conexiuni electrice între componentele circuitului nostru:
Terminalul Vin al platformei Arduino Nicla → +5V sursă externă (dacă Nicla nu este conectat la conectorul microUSB)
Terminalul GND al platformei Arduino Nicla → GND sursă externă (dacă Nicla nu este conectat la conectorul microUSB)
Terminalul SCL al platformei Arduino Nicla → terminal SCL OLED
Terminalul SDA al platformei Arduino Nicla → terminal SDA OLED
Pinul GND al afișajului OLED → GND Arduino Nicla și GND sursă de alimentare 3.3V
Pinul VCC al afișajului OLED → +3.3V sursă externă de alimentare
Materiale necesare:
Arduino Nicla Sense ME
un afișaj OLED, 0.96 inch, 128x64 pixeli, cu interfață I2C
un adaptor de alimentare cu ieșire de 3.3V si 5V, pe care îl putem utiliza atât pentru OLED cât și pentru Arduino Nicla (doar atunci când Nicla nu este alimentat din USB)
un breadboard de dimensiune medie sau mare
fire de legătură
pini pentru cablaj: spre deosebire de plăcile Arduino tradiționale, precum Uno, care dispun de pini compatibili direct cu breadboard-ul, Nicla nu are pini preinstalați. Aceasta înseamnă că, pentru a o putea integra într-un prototip funcțional, va fi necesar să montăm manual un set de pini (header pins) pe placa Nicla.
un cablu cu conectori USB A si micro USB, pentru programarea Arduino Nicla.
letcon, fludor, flux sau colofoniu - pe care le vom utiliza pentru a cositori pinii pe dispozitivul Arduino Nicla
un alimentator de 9V sau 12V (Volți) curent continuu, cel puțin 1A (Amper)
Instalarea componentelor pe breadboard
După ce ați programat dispozitivul Arduino și ați deconectat cablul USB, puteți alimenta și dispozitivul Arduino Nicla de la adaptorul de alimentare, de la ieșirea de 5V a acestuia (masa - GND, este deja conectată la dispozitivul Arduino Nicla, deci veți utiliza un singur fir de legătură suplimentar).
Codul sursă
Prima utilizare a plăcii Arduino Nicla Sense ME – pașii de instalare
Înainte de a începe procedura, dacă utilizați cumva o versiune 1.8 de Arduino IDE, vă recomand să o actualizați la versiunea 2.0 sau la cea mai recentă, pe care o veți găsi pe site-ul oficial: https://www.arduino.cc/en/software
Dacă folosiți pentru prima dată placa Arduino Nicla Sense ME, va fi necesar să parcurgeți câteva etape de configurare în Arduino IDE. Iată cum procedăm:
1. Instalarea Arduino Nicla Sense ME din Boards Manager
Deschideți Arduino IDE (versiunea 2.x recomandată)
Mergeți la Tools → Board → Board Manager
În câmpul de căutare, scrieți Nicla Sense ME
Selectați placa din listă și apăsați Install
După instalare, selectați placa din meniul Tools → Board → Arduino Nicla Sense ME
2. Instalarea bibliotecilor pentru senzori
Nicla folosește senzori Bosch integrați, accesați prin biblioteca Arduino_BHY2:
Mergeți la Tools → Manage Libraries
Căutați și instalați:
Arduino_BHY2
Aceste biblioteci permit accesul la senzorii de temperatură, umiditate, gaz, presiune, mișcare, etc.
3. Instalarea bibliotecilor pentru afișajul OLED
Pentru afișajul OLED SSD1306, folosit în proiectul meteoMast, aveți nevoie de:
Adafruit SSD1306
Adafruit GFX
Adafruit BusIO
Instalare:
Deschideți Library Manager
Căutați și instalați:
Adafruit SSD1306 by Adafruit
Adafruit GFX Library by Adafruit
Adafruit BusIO by Adafruit
Primele două biblioteci permit afișarea textului, desenarea de forme și controlul complet al ecranului OLED iar a treia ajută la comunicarea prin intermediul interfețelor I2C sau SPI.
Dacă instalați pentru prima dată o bibliotecă, vă recomand să citiți acest articol.
Biblioteci suplimentare utile pentru proiectele cu Arduino Nicla SE
Dacă intenționați să conectați Nicla la un microcontroller extern, această bibliotecă permite comunicarea prin UART sau SPI.
Pentru extinderea cu Bluetooth Low Energy. Utilizând această biliotecă, pot fi transmise date către o aplicație mobilă sau alt dispozitiv BLE. Nicla are BLE integrat, deci nu vor fi necesare module externe.
Dacă doriți să structurați datele în format JSON pentru trimitere prin BLE, UART sau salvare pe card SD.
Oferă o interfață comună pentru senzori Adafruit. Utilă doar dacă veți decide să adăugați senzori externi (de exemplu: DHT22 sau BMP280) proiectelor voastre.
Alternativă la biblioteca BHY2, dacă intenționați să folosiți senzorul BME688 în mod direct, fără interfața Bosch.
Puteți descărca de aici codul sursă.
(Link-ul va deschide un fișier de tip .ino într-o pagină nouă, însă browser-ul îl va interpreta ca pe un fișier text, ceea ce înseamnă că atunci când îl veți salva, apăsând eventual combinat Ctrl+S, selectați la “Save as type” – “All files”, și apoi introduceți după denumirea fișierului textul: .ino, astfel va fi salvat un fișier care poate fi accesat direct de către Arduino IDE. Altfel, selectați tot textul (Ctrl + A), îl copiați (Ctrl + C), deschideți o fereastră nouă în Arduino IDE, unde îl veți lipi (Ctrl + V) și îl puteți rula.)
4. Compilare și rulare cod
Conectați placa Nicla prin micro USB
Selectați Nicla Sense ME din meniul Tools → Board
Selectați portul corect din Tools → Port
Deschideți fisierul pe care tocmai l-ati descarcat: meteoMast_ver1.0.ino
Apăsați Upload și verificați dacă placa răspunde corect și dacă întregul circuit funcționează conform specificațiilor
Concluzii – meteoMast, mai mult decât o stație meteo
Proiectul meteoMast ne-a arătat că tehnologia nu trebuie să fie complicată ca să fie relevantă. Cu o placă compactă precum Arduino Nicla Sense ME, am construit o stație meteo de casă care nu doar măsoară, ci și interpretează aerul pe care îl respirăm.
Am învățat că:
Senzorii integrați simplifică viața – circuitul nostru oferă o multitudine de măsurători fără module externe, fără fire inutile
Compatibilitatea electrică contează – logica de 3.3V impune alegeri atente pentru componentele externe.
Alimentarea corectă face diferența – un regulator de tensiune dedicat poate salva întregul circuit.
Datele trebuie să vorbească – IAQ, CO₂ estimat, PM2.5 devin utile doar când sunt prezentate clar și contextual.
Arduino IDE 2.0 este un pas înainte – instalarea plăcii și bibliotecilor este mai ușor de realizat, programul este compilat mai rapid.
Dar poate cel mai important lucru pe care l-am învățat este că un proiect DIY poate fi personal, extensibil și educativ. meteoMast nu este doar un afișaj cu cifre — ci o interfață între om și atmosferă, un instrument care poate evolua odată cu nevoile noastre.
Urmează conectivitate Bluetooth, prognoză meteo locală și integrarea într-o aplicație mobilă. Dar chiar și în forma actuală, meteoMast rămâne o demonstrație clară că pasiunea, precizia și simplitatea pot construi ceva cu adevărat util.