Cuprins:

Stație meteo grafică: 7 pași (cu imagini)
Stație meteo grafică: 7 pași (cu imagini)

Video: Stație meteo grafică: 7 pași (cu imagini)

Video: Stație meteo grafică: 7 pași (cu imagini)
Video: Valeriu Coadă te învață cum să scapi într-o SITUAȚIE EXTREMĂ!! 😱😅 #tiktokromania #valeriucoada 2024, Iulie
Anonim
Stație meteo grafică
Stație meteo grafică

Ați dorit întotdeauna să aveți o stație meteo grafică? Și cu senzori exacți? Poate că acest proiect este ceva pentru tine. Cu această stație meteo puteți vedea ce „face” vremea. De exemplu, temperaturile pot crește sau scădea. De la un termometru normal nu este posibil să se vadă istoricul temperaturii. Cu această stație meteo aveți un istoric de 26 de ore, afișat peste 320 de pixeli ai unui afișaj TFT. La fiecare 5 minute, un pixel este adăugat la grafic, care vă va permite să vedeți dacă are o tendință de creștere sau scădere. Acest lucru se face pentru temperatură, umiditate, presiunea aerului și CO2 în diferite culori. Temperatura exterioară este, de asemenea, inclusă fără fir. În acest fel puteți „prezice” vremea pe baza a ceea ce face presiunea aerului.

Stațiile meteo normale au senzori care sunt unii inexacti. De exemplu, pentru temperatură, acestea au în mod normal o precizie de +/- 2 grade. Pentru această stație meteo se folosesc senzori mai exacți. Senzorul de temperatură HDC1080 are o precizie de +/- 0,2 grade, ceea ce este mult mai bun. La fel și pentru umiditate și presiunea aerului.

În partea de sus a afișajului TFT, măsurătorile senzorilor sunt afișate și reîmprospătate la fiecare 5 secunde. Aceste măsurători sunt disponibile și prin RS232.

Caracteristici principale:

  • Grafice în diferite culori pentru recunoașterea tendințelor
  • Senzori exacți pentru temperatură, umiditate și presiunea aerului.
  • Datele de calibrare din fabrică și temperatura senzorului sunt citite de senzori acolo unde este posibil și aplicate codului pentru a obține măsurători cât mai precise.
  • Temperaturile sunt disponibile în Celsius (implicit) sau Fahrenheit.
  • Temperatura exterioară prin modul wireless (opțional)
  • Interfață RS232 pentru monitorizare de la distanță.
  • Un design frumos și mic (chiar și soția mea îl tolerează în sufrageria noastră;-)

Sper că vă va plăcea să examinați condițiile meteorologice la fel ca mine!

Pasul 1: Piese

Părți
Părți
Părți
Părți
Părți
Părți

1 x modul TFT de 2,8 inci fără panou tactil ILI9341 Drive IC 240 (RGB) * 320 SPI Interface

1 x Microchip 18f26k22 microcontroler 28-PIN PDIP

1 x modul HDC1080, GY-213V-HDC1080 Senzor de umiditate digital de înaltă precizie cu senzor de temperatură

1 x GY-63 MS5611 Modul senzor de înălțime atmosferică de înaltă rezoluție IIC / SPI

1 x senzor de infraroșu MH-Z19 pentru monitor CO2

1 x (opțional) module wireless NRF24L01 + PA + LNA (cu antenă)

1 x 5V la 3,3V DC-DC Mod redus de alimentare Buck AMS1117 800MA

1 x condensator ceramic 100nF

2 x bord acrilic 6 * 12cm grosime 5mm sau 100 * 100mm grosime 2mm

1 x conector Micro USB scaun cu 5 pini Jack Micro usb DIP4 picioare Patru picioare Introducerea scaunului plăcii mini conector usb

1 x telefon universal Android negru, micro USB, mufă de călătorie, încărcător de perete, adaptor pentru telefoane Android

1 x PCB dublu față.

Unele distanțieri / șuruburi din nailon M3

-

Pentru temperatura exterioară (opțional)

1 x microcontroler Microchip 16f886 cu 28 de pini PDIP

1 x Senzor de temperatură pentru sondă de temperatură impermeabil DS18b20 Pachet din oțel inoxidabil-sârmă de 100cm

1 rezistor 4k7

1 x NRF24L01 + modul wireless

1 x condensator ceramic 100nF

1 x placa de panou PCB prototip

1 x 85x58x33mm Carcasă transparentă impermeabilă Cablu electronic din plastic Cutie carcasă proiect

1 x Suport cutie de depozitare carcasă din plastic cu cabluri pentru 2 X AA 3.0V 2AA

2 x baterie AA

Pasul 2: PCB

PCB
PCB
PCB
PCB
PCB
PCB

Am folosit un PCB cu două fețe pentru acest proiect. Fișierele Gerber sunt disponibile. Acest PCB se potrivește în partea din spate a afișajului TFT. Senzorul de temperatură este montat în spate pentru a preveni încălzirea din circuit. Conectați NRF24L01 + în modul următor la microcontroler:

pinul 2 - CSN al NRF24L01 +

pinul 8 - GND de NRF24L01 +

pinul 9 - CE din NRF24L01 +

pinul 22 - SCK al NRF24L01 +

pinul 23 - MISO al NRF24L01 +

pinul 24 - MOSI al NRF24L01 +

pinul 20 - VCC al NRF24L01 +

n.c - IRQ al NRF24L01 +

Pasul 3: Temperatura exterioară

Temperatura exterioară
Temperatura exterioară
Temperatura exterioară
Temperatura exterioară

Microcontrolerul 16f886 este utilizat pentru a citi senzorul de temperatură DS18B20 la fiecare 5 minute. Această temperatură este transmisă prin modulul wireless NRF24L01 +. Aici este suficient un prototip de panou pentru PCB. Utilizați următoarea configurație pin microcontroler:

pinul 2 - CSN al NRF24L01 +

pinul 8 - GND

pinul 9 - CE din NRF24L01 +

pinul 14 - SCK al NRF24L01 +

pinul 15 - MISO al NRF24L01 +

pinul 16 - MOSI al NRF24L01 +

pin 20 - +3 volt al bateriilor AA

pinul 21 - IRQ al NRF24L01 +

pinul 22 - date DS18B20 (utilizați rezistorul 4k7 ca pull up)

Pasul 4: ieșire RS232

Iesire RS232
Iesire RS232

La fiecare 5 secunde măsurătorile sunt furnizate prin RS232 la pinul 27 (9600 baud). Puteți conecta această interfață la computer și puteți utiliza un program terminal (de exemplu, Putty) pentru a obține datele. Vă permite să utilizați măsurătorile în alte scopuri.

Pasul 5: Cod

Cod
Cod
Cod
Cod

Senzorii utilizați în acest proiect utilizează diferite interfețe ale microcontrolerului 18f26k22. La fel și prima interfață serială utilizată de senzorul de CO2 MH-Z19. Această interfață este setată la 9600 baud. A doua interfață serială a acestui microcontroler este utilizată pentru furnizarea măsurătorilor senzorului la pinul 27 la fiecare 5 secunde, astfel încât să îl puteți conecta la computer (setat și la 9600 baud). Senzorul de temperatură / umiditate HDC1080 și senzorul de presiune a aerului MS5611 funcționează pe interfața i2c. Afișajul TFT și modulul wireless NRF24L01 + funcționează pe aceeași interfață SPI configurată la 8 Mhz. Microcontrolerul 18f26k22 în sine este setat la 64 Mhz. În mod implicit, temperaturile sunt în grade Celsius. Conectând pinul 21 la masă obțineți temperaturile în Fahrenheit. Mulțumim lui Achim Döbler pentru biblioteca sa grafică µGUI și lui Harry W (1and0) pentru soluția sa pe 64 de biți.

Microcontrolerul 16f886 este utilizat pentru măsurarea temperaturii exterioare. Senzorul de temperatură DS18B20 este citit la fiecare 5 minute (protocolul cu un singur fir este utilizat aici) și transmis cu interfața SPI prin modulul wireless NRF24L01 +. De cele mai multe ori acest microcontroler este în modul de consum redus pentru a economisi baterii. Desigur, sunt suportate și temperaturile negative. Dacă această caracteristică de temperatură exterioară nu este utilizată, aceasta nu va apărea pe ecranul TFT, deci este opțională.

Pentru programarea microcontrolerelor 18f26k22 și 16f886 aveți nevoie de un programator pickit3. Puteți utiliza software-ul gratuit de programare Microchip IPE (nu uitați să setați VDD la 3,0 volți și bifați caseta de selectare „Circuit țintă de alimentare din instrument” la „Opțiuni ICSP” din meniul „Alimentare”).

Pasul 6: Timelaps Impression

Image
Image

O impresie de timelaps despre cum arată aproximativ 15 ore de monitorizare a vremii. Ceața albă de pe ecran nu este acolo în realitate.

  • În roșu temperatura interioară
  • În portocaliu temperatura exterioară
  • În albastru umiditatea
  • În verde, presiunea aerului
  • În galben CO2

Pasul 7: Bucurați-vă

Bucurați-vă de acest proiect !!

Dar, în principiu, este destul de greșit să încerci să întemeiezi o teorie numai pe magnitudini observabile. În realitate se întâmplă chiar opusul. Teoria este cea care decide ce putem observa.

~ Albert Einstein în Fizică și dincolo de Werner Heisenberg p. 63

Recomandat: