Sommario:

Stazione meteorologica solare: 5 passaggi
Stazione meteorologica solare: 5 passaggi

Video: Stazione meteorologica solare: 5 passaggi

Video: Stazione meteorologica solare: 5 passaggi
Video: Miglior Stazione Meteo 2023 2024, Novembre
Anonim
Stazione meteorologica solare
Stazione meteorologica solare

Hai mai desiderato informazioni meteo in tempo reale dal tuo giardino? Ora puoi acquistare una stazione meteorologica nel negozio, ma quelle di solito richiedono batterie o devono essere collegate a una presa. Questa stazione meteorologica non ha bisogno di essere collegata alla rete perché ha pannelli solari che ruotano verso il sole per una maggiore efficienza. Con i suoi moduli RF può trasferire dati dalla stazione esterna a un Raspberry Pi all'interno della tua casa. Il Raspberry Pi ospita un sito Web su cui è possibile visualizzare i dati.

Passaggio 1: raccogliere materiali

Materiali

  • Raspberry Pi 3 modello B+ + adattatore + scheda Micro SD 16GB
  • Arduino Uno
  • Arduino Pro Mini + Breakout di base FTDI
  • 4 pannelli solari 6V 1W
  • 4 batterie 18650
  • Potenziatore 5v
  • 4 caricabatterie TP 4056
  • Sensore di temperatura e umidità Adafruit DHT22
  • Sensore di pressione barometrica BMP180
  • 4 LDR
  • Ricevitore e trasmettitore RF 433
  • 2 motori passo passo Nema 17
  • 2 driver per motore passo-passo DRV8825
  • LCD 128*64
  • Un sacco di fili

Strumenti e materiali

  • Colla
  • Tavole di legno
  • Sega
  • Viti + cacciavite
  • Nastro isolante
  • 2 strisce di alluminio

Passaggio 2: progettazione meccanica

Disegno meccanico
Disegno meccanico
Disegno meccanico
Disegno meccanico
Disegno meccanico
Disegno meccanico
Disegno meccanico
Disegno meccanico

Il corpo della stazione meteorologica è realizzato in compensato. Non devi usare il legno, puoi realizzarlo con qualsiasi materiale tu preferisca. Per i supporti del motore, ho forato un intero in un blocco di legno e poi ho avvitato una vite piatta all'albero del motore, che funziona meglio di quanto mi aspettassi. In questo modo non è necessario stampare in 3D un supporto motore ed è facile da realizzare. Poi ho piegato 2 strisce di alluminio per tenere ben stretti i motori. Ho quindi ritagliato una tavola e praticato dei fori per i pannelli solari. Quindi incollare i pannelli solari su di esso e saldare i fili sui pannelli solari. Quindi dovrai anche fare una croce con materiale nero. Se non hai nulla di nero, puoi usare del nastro adesivo nero. Questa croce conterrà un LDR in ogni angolo in modo che Arduino possa confrontare le misurazioni dall'LDR e calcolare in quale direzione deve girare. Quindi fora piccoli interi in ogni angolo in modo da poter inserire un LDR. Tutto ciò che resta da fare ora è creare una piastra di base e qualcosa in cui inserire l'elettronica. Per la piastra di base, dovrai perforare un intero per instradare tutti i cavi attraverso. Per le misure, non te ne darò nessuna perché dipende davvero da te come vuoi progettarlo. Se hai altri motori o altri pannelli solari, dovrai calcolare le misure da solo.

Passaggio 3: progettazione elettrica

Potenza

L'intero sistema funziona a batterie (tranne il Raspberry Pi). Ho messo 3 batterie in serie. 1 batteria è in media 3,7 V, quindi 3 in serie ti danno circa 11 V. Questo pacco batteria 3s viene utilizzato per i motori e il trasmettitore RF. L'altra batteria rimasta viene utilizzata per alimentare Arduino Pro Mini e i sensori. Per caricare le batterie ho utilizzato 4 moduli TP4056. Ogni batteria ha 1 modulo TP4056, ogni modulo è collegato a un pannello solare. Poiché il modulo ha B (in) e B (out), posso caricarli separatamente e scaricarli in serie. Assicurati di acquistare i moduli TP4056 giusti perché non tutti i moduli hanno B(in) e B(out).

Controllo

L'Arduino Pro Mini controlla i sensori e i motori. Il pin grezzo e di massa dell'Arduino è collegato al booster 5V. Il booster 5V è collegato alla singola batteria. L'Arduino Pro Mini ha un consumo energetico molto basso.

Componenti

DHT22: ho collegato questo sensore a VCC e Ground, quindi ho collegato il pin dati al pin 10 digitale.

BMP180: ho collegato questo sensore a VCC e Ground, ho collegato SCL a SCL su Arduino e SDA a SDA su Arduino. Fai attenzione perché i pin SCL e SDA sull'Arduino Pro Mini sono al centro della scheda, quindi se hai dei pin saldati sulla scheda e lo metti in una breadboard, non funzionerà perché avrai interferenze da altri pin. Ho saldato quei 2 pin sulla parte superiore della scheda e ho collegato un filo direttamente ad essa.

Trasmettitore RF: l'ho collegato al pacco batteria 3s per un segnale migliore e una portata più lunga. Ho provato a collegarlo a 5V dall'Arduino ma il segnale RF è super debole. Ho quindi collegato il pin dati al pin digitale 12.

LDR: ho collegato i 4 LDR ai pin analogici A0, A1, A2, A3. Ho messo insieme gli LDR con un resistore da 1K.

Motori: i motori sono azionati da 2 moduli di controllo DRV8825. Questi sono molto utili perché prendono solo 2 linee di ingresso (direzione e passo) e possono produrre fino a 2A per fase ai motori. Li ho collegati ai pin digitali 2, 3 e 8, 9.

LCD: ho collegato l'LCD al Raspberry Pi per mostrare il suo indirizzo IP. Ho usato un trimmer per regolare la retroilluminazione.

Ricevitore RF: ho collegato il ricevitore ad Arduino Uno su 5V e Ground. Il ricevitore non dovrebbe prendere più di 5V. Ho quindi collegato il pin dati al pin digitale 11. Se riesci a trovare una libreria per questi moduli RF che funzioni sul Raspberry Pi, non è necessario utilizzare Arduino Uno.

Raspberry Pi: Il Raspberry Pi è collegato ad Arduino Uno tramite un cavo USB. L'Arduino passa i segnali RF al Raspberry Pi tramite una connessione seriale.

Passaggio 4: iniziamo a programmare

Per codificare Arduino Pro Mini, avrai bisogno del programmatore FTDI. Poiché il Pro Mini non ha una porta USB (per risparmiare energia), avrai bisogno di quella breakout board. Ho programmato il codice nell'IDE di Arduino, penso che questo sia il modo più semplice per farlo. Carica il codice dal file e dovrebbe essere a posto.

Per codificare Arduino Uno, l'ho collegato al mio computer tramite un cavo USB. Dopo aver caricato il codice, l'ho collegato al Raspberry Pi. Sono stato anche in grado di modificare il codice sul Raspberry Pi perché ho installato l'IDE Arduino e quindi ho potuto programmarlo da lì. Il codice è molto semplice, prende l'input dal ricevitore e lo invia attraverso la porta seriale al Raspberry Pi.

Per codificare il Raspberry Pi, ho installato Raspbian. Ho quindi usato Putty per connettermi tramite una connessione SSH. Quindi configuro il Raspberry in modo da poterlo connettere tramite VNC e quindi avere una GUI. Ho installato un server web Apache e ho iniziato a codificare il backend e il frontend per questo progetto. Puoi trovare il codice su github:

Passaggio 5: banca dati

Per memorizzare i dati utilizzo un database SQL. Ho creato il database in MySQL Workbench. Il database contiene le letture del sensore ei dati del sensore. Ho 3 tabelle, una per memorizzare i valori del sensore con timestamp, l'altra per memorizzare informazioni sui sensori e l'ultima per memorizzare informazioni sugli utenti. Non uso la tabella Utenti perché non ho codificato quella parte del progetto poiché non era nel mio MVP. Scarica il file SQL ed eseguilo e il database dovrebbe essere pronto.

Consigliato: