Cuprins:
Video: Stație meteo Cu Arduino, BME280 și afișaj pentru a vedea tendința în ultimele 1-2 zile: 3 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Buna!
Aici, pe instructabile, au fost deja introduse stații meteo. Acestea arată presiunea curentă a aerului, temperatura și umiditatea. Ceea ce le-a lipsit până acum a fost o prezentare a cursului în ultimele 1-2 zile. Acest proces ar avea avantajul că nu numai că puteți citi grafic valorile curente, ci și dintr-o privire, puteți vedea cum s-au schimbat în ultimele 1-2 zile. Ca rezultat, se recunoaște, de exemplu, o posibilă schimbare a vremii, deoarece presiunea aerului se schimbă foarte mult. Cu toate acestea, se recunosc și relațiile generale dintre mărimile măsurate.
De exemplu, umiditatea scade atunci când temperatura aerului crește. Acest lucru se datorează faptului că aerul cald poate absorbi mai multă umiditate decât aerul rece. Dacă umiditatea relativă este de aproximativ 60% la 20 ° C, atunci la 25 ° C aerul ar putea absorbi mai multă umiditate în termeni absoluți. Prin urmare, umiditatea relativă nu mai este de 60%, dar, de exemplu, doar cu 50% reducere.
De asemenea, puteți vedea frumos la ce oră a zilei sunt de așteptat cele mai mari sau mai scăzute temperaturi. Sau că umiditatea crește brusc când plouă. Ideal pentru meteorologul hobby. Aș fi foarte fericit dacă ați putea posta experiențele dvs. în comentarii.
Pasul 1: Piese
Pentru această stație meteo aveți nevoie doar de 5 părți:
* Arduino mega: ebay arduino mega
* Senzor meteo BME280: ebay BME280
* Afișaj 320x480 pixeli pentru afișajul Arduino Mega: ebay 320x480
* + Sursă de alimentare de 9V: sursă de alimentare ebay
* Cablu electric
Costurile totale sunt doar mai mici de 25 USD.
Pasul 2: Codul Arduino
Circuitul este foarte simplu. Trebuie doar să conectați senzorul la mega arduino în acest fel:
Vin + 5V
GND GND
Pinul SDA 20
Pinul SCL 21
Afișajul este conectat numai la banda de conector de pe arduino mega.
Iată linkurile pentru bibliotecile arduino de care aveți nevoie:
Biblioteca BME280:
bibliotecă senzor comună:
Inima acestei stații meteo este, așa cum am spus, reprezentarea grafică a datelor meteo. În acest moment, valorile sunt actualizate la fiecare 6 minute, iar graficele sunt deplasate cu 1 pixel spre stânga. În acest fel, se pot înregistra ultimele 1,5 zile. Desigur, acest lucru poate fi schimbat în orice moment. Doar atunci trebuie modificate valoarea 360000 ms (= 6 minute) și, bineînțeles, axa timpului în ore. Iată liniile pe care va trebui să le schimbați:
time_neu = millis ();
if (time_neu <time_alt) // pentru a evita problemele după depășirea milisului
{
time_next = 0 + 360000;
}
if (time_neu> time_next && time_next> = 360000) // măsurare nouă după 6 minute
{
Am decis să mențin neschimbate temperaturile, presiunea aerului și scările de umiditate, deoarece vă permite să evaluați rapid, în timp, dacă presiunea aerului este ridicată, medie sau scăzută, pe baza locației citirilor curente. Dacă aș regla scara din nou și din nou, nu aș recunoaște acest lucru la prima vedere. Axa timpului este situată la poziția y = 290 pixeli. Marcajele de pe axele y sunt la 45 de pixeli distanță. Dacă doriți să afișați presiunea aerului de la 940 mbar la 1000 mbar în pași de 10 mbar, procedați după cum urmează:
Mai întâi, setați ecuația generală y = k * x + d. Acum utilizați acele 2 perechi de valori (x = 940, y = 290) și (x = 950, y = 245). Aceasta dă 2 ecuații cu cele două necunoscute k și d: 290 = k * 940 + d și 245 = k * 950 + d. Prin scăderea ambelor ecuații, obținem: 290 - 245 = k * 940 - k * 950 + d - d. Necunoscutul d dispare în acest fel și obținem pentru k = - 45/10 = -4,5. Această valoare pentru k este plasată într-una dintre cele două ecuații inițiale: 290 = -4,5 * 940 + d. În acest fel se obține valoarea pentru d, în mod specific d = 4520.
Dacă doriți presiunea aerului, de exemplu, reprezintă doar 955 mbar la 985 mbar, puneți perechile de valori (955, 290) și (960, 245) în ecuația liniei drepte. Apoi se obține pentru k = -9 și d = 8885. În mod similar, se calculează ecuațiile în linie dreaptă pentru temperatură și umiditatea aerului. Aceste 3 ecuații apar aici în program:
pentru (i = 0; i <= 348; i ++)
{
if (umiditate ! = -66)
{
myGLCD.setColor (255, 0, 0);
//myGLCD.drawPixel(81 + i, -4,5 * temperatura + 200);
myGLCD.drawLine (81 + i, -4,5 * temperatura + 200,81 + i + 1, -4,5 * temperatura [i + 1] + 200);
myGLCD.setColor (0, 255, 0);
//myGLCD.drawPixel(81 + i, -4,5 * umiditate + 380);
myGLCD.drawLine (81 + i, -4,5 * umiditate + 380,81 + i + 1, -4,5 * umiditate [i + 1] + 380);
myGLCD.setColor (0, 0, 255);
//myGLCD.drawPixel(81 + i, -4,5 * presiune + 4520);
myGLCD.drawLine (81 + i, -9,0 * presiune + 8885, 81 + i + 1, -9,0 * presiune [i + 1] + 8885);
}
}
Pasul 3: Rezultatele
Un cuvânt pentru videoclip: Pentru a face vizibilă extinderea graficului, am redus pașii de timp până la 1 secundă. Prin urmare, ecranul pâlpâie puternic. În realitate, pașii de timp sunt de 6 minute. Deci nu puteți vedea pâlpâire …
M-aș bucura dacă unul sau altul meteorolog hobby încearcă să-mi treacă stația meteo. O comparație cu stațiile oficiale de măsurare (de exemplu Universitatea din Graz / Austria) arată utilitatea curbelor de măsurare.
Mai mult, aș fi fericit dacă ați putea să mă votați la concursul de senzori și la celelalte instructabile ale mele la concursul de știință din clasă:
- https://www.instructables.com/id/DIY-LED-photomete…
- www.instructables.com/id/DIY-Wind-Tunnel-a…
- www.instructables.com/id/Simple-Autorange-…
Mulțumesc mult pentru asta.
Dacă sunteți interesat de mai multe proiecte de fizică, iată canalul meu de pe YouTube:
mai multe proiecte de fizică:
În acest sens, Eureka …
Recomandat:
Stație meteo DIY și stație senzor WiFi: 7 pași (cu imagini)
Stație meteo DIY și stație senzor WiFi: În acest proiect vă voi arăta cum să creați o stație meteo împreună cu o stație senzor WiFi. Stația senzorului măsoară datele locale de temperatură și umiditate și le trimite, prin WiFi, către stația meteo. Stația meteo afișează apoi t
Stație meteo pentru cameră folosind Arduino și BME280: 4 pași
Stație meteo cameră folosind Arduino și BME280: Anterior am împărtășit o stație meteo simplă care afișa temperatura și umiditatea zonei locale. Problema cu aceasta a fost că va fi nevoie de timp pentru actualizare și datele nu au fost exacte. În acest tutorial vom realiza un monitor de vreme în interior
Stație meteo DIY simplă cu afișaj DHT11 și OLED: 8 pași
Stație meteo DIY simplă cu afișaj DHT11 și OLED: În acest tutorial vom învăța cum să creăm o stație meteo simplă folosind Arduino, senzor DHT11, afișaj OLED și Visuino pentru a afișa temperatura și umiditatea
Stație meteo DIY cu afișaj Nextion și Arduino: 11 pași
Stație meteo DIY cu afișaj Nextion și Arduino: În acest tutorial vom folosi afișajul Nextion, modulul orar rtc1307, Arduino UNO și Visuino pentru a afișa ora curentă, temperatura și umiditatea
Stație meteo WiFi ESP32 cu senzor BME280: 7 pași (cu imagini)
Stație meteo WiFi ESP32 cu senzor BME280: Dragi prieteni, bine ai venit la un alt tutorial! În acest tutorial vom construi un proiect de stație meteo activată WiFi! Vom folosi noul impresionant chip ESP32 pentru prima dată împreună cu un afișaj Nextion. În acest videoclip, mergem