Sommario:

Stazione meteorologica grafica: 7 passaggi (con immagini)
Stazione meteorologica grafica: 7 passaggi (con immagini)

Video: Stazione meteorologica grafica: 7 passaggi (con immagini)

Video: Stazione meteorologica grafica: 7 passaggi (con immagini)
Video: Stazione Meteo Smart | Home Assistant 2024, Novembre
Anonim
Stazione meteorologica grafica
Stazione meteorologica grafica

Hai sempre desiderato avere una stazione meteorologica grafica? E con sensori precisi? Forse questo progetto è qualcosa per te. Con questa stazione meteorologica puoi vedere cosa sta "facendo" il tempo. Le temperature, ad esempio, potrebbero aumentare o diminuire. Da un normale termometro non è possibile vedere lo storico della temperatura. Con questa stazione meteo hai una cronologia di 26 ore, visualizzata su 320 pixel di un display TFT. Ogni 5 minuti viene aggiunto un pixel al grafico che ti consentirà di vedere se sta avendo un trend in aumento o in diminuzione. Questo viene fatto per temperatura, umidità, pressione dell'aria e CO2 in diversi colori. La temperatura esterna è inclusa anche senza fili. In questo modo puoi "prevedere" il tempo in base a ciò che sta facendo la pressione dell'aria.

Le normali stazioni meteorologiche hanno sensori che sono alcuni imprecisi. Ad esempio, per la temperatura normalmente hanno una precisione di +/- 2 gradi. Per questa stazione meteorologica vengono utilizzati sensori più precisi. Il sensore di temperatura HDC1080 ha una precisione di +/- 0,2 gradi, che è di gran lunga migliore. Lo stesso per l'umidità e la pressione dell'aria.

Nella parte superiore del display TFT vengono visualizzate le misurazioni dei sensori e aggiornate ogni 5 secondi. Queste misurazioni sono disponibili anche tramite RS232.

Caratteristiche principali:

  • Grafici in diversi colori per riconoscere le tendenze
  • Sensori precisi per temperatura, umidità e pressione dell'aria.
  • I dati di calibrazione di fabbrica e la temperatura del sensore vengono letti dai sensori ove possibile e applicati al codice per ottenere le misurazioni più accurate.
  • Le temperature sono disponibili in gradi Celsius (impostazione predefinita) o Fahrenheit.
  • Temperatura esterna tramite modulo wireless (opzionale)
  • Interfaccia RS232 per monitoraggio remoto.
  • Bel design piccolo (anche mia moglie lo tollera nel nostro soggiorno;-)

Spero che ti divertirai ad esaminare le condizioni meteorologiche come faccio io!

Passaggio 1: parti

Parti
Parti
Parti
Parti
Parti
Parti

1 x Modulo TFT da 2,8 pollici senza Touch Panel ILI9341 Drive IC 240 (RGB) * 320 Interfaccia SPI

1 x Microchip 18f26k22 microcontrollore 28-PIN PDIP

1 x modulo HDC1080, sensore di umidità digitale ad alta precisione GY-213V-HDC1080 con sensore di temperatura

1 x GY-63 MS5611 Modulo sensore di altezza atmosferica ad alta risoluzione IIC / SPI

1 x sensore di co2 a infrarossi MH-Z19 per monitor di co2

1 x (opzionale) moduli wireless NRF24L01+PA+LNA (con antenna)

1 x 5V a 3,3V DC-DC Step Down Power Supply Modulo Buck AMS1117 800MA

1 x condensatore ceramico 100nF

2 x pannello acrilico 6*12 cm spessore 5 mm o 100*100 mm spessore 2 mm

1 x connettore Micro USB Sedile a 5 pin Jack Micro usb DIP4 gambe Quattro gambe Inserimento del connettore mini usb del sedile della piastra

1 x adattatore per caricabatterie da parete CA da viaggio con presa elettrica micro USB universale per telefono Android nero per telefoni Android

1 x PCB a doppia faccia.

Alcuni distanziali/viti in nylon M3

-

Per la temperatura esterna (opzionale)

1 x Microchip 16f886 microcontrollore PDIP a 28 pin

1 x sensore di temperatura della sonda di temperatura impermeabile DS18b20 Pacchetto in acciaio inossidabile -filo da 100 cm

1 x 4k7 resistore

1 x modulo wireless NRF24L01+

1 x condensatore ceramico 100nF

1 x breadboard prototipo PCB

1 x 85x58x33mm Custodia protettiva in plastica trasparente impermeabile per progetti di cavi elettronici in plastica

1 x Supporto per scatola portabatteria in plastica con cavi per 2 X AA 3.0V 2AA

2 batterie AA

Passaggio 2: PCB

PCB
PCB
PCB
PCB
PCB
PCB

Ho usato un PCB a doppia faccia per questo progetto. I file Gerber sono disponibili. Questo PCB si inserisce nella parte posteriore del display TFT. Il sensore di temperatura è montato sul retro per evitare il riscaldamento del circuito. Collegare NRF24L01+ nel modo seguente al microcontrollore:

pin 2 - CSN di NRF24L01+

pin 8 – GND di NRF24L01+

pin 9 - CE di NRF24L01+

pin 22 - SCK di NRF24L01+

pin 23 - MISO di NRF24L01+

pin 24 - MOSI di NRF24L01+

pin 20 – VCC di NRF24L01+

n.c - IRQ di NRF24L01+

Passaggio 3: temperatura esterna

Temperatura esterna
Temperatura esterna
Temperatura esterna
Temperatura esterna

Il microcontrollore 16f886 viene utilizzato per leggere il sensore di temperatura DS18B20 ogni 5 minuti. Questa temperatura viene trasmessa tramite il modulo wireless NRF24L01+. Un prototipo di breadboard PCB è sufficiente qui. Utilizzare la seguente configurazione dei pin del microcontrollore:

pin 2 - CSN di NRF24L01+

pin 8 - GND

pin 9 - CE di NRF24L01+

pin 14 - SCK di NRF24L01+

pin 15 - MISO di NRF24L01+

pin 16 - MOSI di NRF24L01+

pin 20 - +3 volt delle batterie AA

pin 21 - IRQ di NRF24L01+

pin 22 - dati DS18B20 (usare resistore 4k7 come pull up)

Passaggio 4: uscita RS232

Uscita RS232
Uscita RS232

Ogni 5 secondi vengono fornite le misure via RS232 al pin 27 (9600 baud). Puoi collegare questa interfaccia al tuo computer e utilizzare un programma terminale (ad es. Putty) per ottenere i dati. Consente di utilizzare le misurazioni per altri scopi.

Passaggio 5: codice

Codice
Codice
Codice
Codice

I sensori utilizzati in questo progetto utilizzano diverse interfacce del microcontrollore 18f26k22. Così è la prima interfaccia seriale utilizzata dal sensore di CO2 MH-Z19. Questa interfaccia è impostata su 9600 baud. La seconda interfaccia seriale di questo microcontrollore viene utilizzata per fornire le misurazioni del sensore al pin 27 ogni 5 secondi in modo da poterlo collegare al computer (anch'esso impostato a 9600 baud). Il sensore di temperatura/umidità HDC1080 e il sensore di pressione dell'aria MS5611 operano sull'interfaccia i2c. Il display TFT e il modulo wireless NRF24L01+ operano sulla stessa interfaccia SPI configurata a 8 Mhz. Il microcontrollore 18f26k22 stesso è impostato su 64 Mhz. Per impostazione predefinita, le temperature sono in gradi Celsius. Collegando il pin 21 a massa si ottengono le temperature in Fahrenheit. Grazie ad Achim Döbler per la sua libreria grafica µGUI e Harry W (1and0) per la sua soluzione a 64 bit.

Il microcontrollore 16f886 viene utilizzato per misurare la temperatura esterna. Il sensore di temperatura DS18B20 viene letto ogni 5 minuti (qui viene utilizzato il protocollo a un filo) e trasmesso con l'interfaccia SPI tramite il modulo wireless NRF24L01+. Il più delle volte questo microcontrollore è in modalità a basso consumo per risparmiare le batterie. Naturalmente sono supportate anche le temperature negative. Se questa funzione della temperatura esterna non viene utilizzata, non apparirà sullo schermo TFT, quindi è opzionale.

Per programmare i microcontrollori 18f26k22 e 16f886 è necessario un programmatore pickit3. È possibile utilizzare il software di programmazione gratuito Microchip IPE (non dimenticare di impostare VDD su 3,0 volt e selezionare la casella di controllo "Power Target Circuit from Tool" in "ICSP Options" nel menu "Power").

Passaggio 6: impressione Timelapse

Image
Image

Un'impressione time-lapse di come appaiono circa 15 ore di monitoraggio meteorologico. La foschia bianca sul display non c'è in realtà.

  • In rosso la temperatura interna
  • In arancione la temperatura esterna
  • In blu l'umidità
  • In verde la pressione dell'aria
  • In giallo il co2

Passaggio 7: divertiti

Godetevi questo progetto!!

Ma in linea di principio, è del tutto sbagliato cercare di fondare una teoria solo sulle grandezze osservabili. In realtà accade esattamente il contrario. È la teoria che decide ciò che possiamo osservare.

~ Albert Einstein in Fisica e oltre di Werner Heisenberg p. 63

Consigliato: