Innholdsfortegnelse:

Solværsstasjon: 5 trinn
Solværsstasjon: 5 trinn

Video: Solværsstasjon: 5 trinn

Video: Solværsstasjon: 5 trinn
Video: Голубая стрела (1958) фильм 2024, Desember
Anonim
Solværsstasjon
Solværsstasjon

Har du noen gang ønsket sanntids værinformasjon fra hagen din? Nå kan du kjøpe en værstasjon i butikken, men de krever vanligvis batterier eller må kobles til en stikkontakt. Denne værstasjonen trenger ikke å være koblet til nettet fordi den har solcellepaneler som roterer mot solen for mer effektivitet. Med sine RF -moduler kan den overføre data fra stasjonen utenfor til en Raspberry Pi inne i hjemmet ditt. Raspberry Pi er vert for et nettsted der du kan se dataene.

Trinn 1: Samle materialer

Materialer

  • Raspberry Pi 3 modell B + + adapter + Micro SD -kort 16 GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI grunnleggende breakout
  • 4 6V 1W solcellepaneler
  • 4 18650 batterier
  • Booster 5v
  • 4 TP 4056 batteriladere
  • Adafruit DHT22 temperatur- og fuktighetssensor
  • BMP180 barometrisk trykksensor
  • 4 LDR
  • RF 433 mottaker og sender
  • 2 Nema 17 Steppermotorer
  • 2 DRV8825 Steppermotordrivere
  • lcd 128*64
  • Mange ledninger

Verktøy og materialer

  • Lim
  • Treplanker
  • Sag
  • Skruer + skrutrekker
  • Teip
  • 2 aluminiumslister

Trinn 2: Mekanisk design

Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design

Kroppen til værstasjonen er laget av kryssfiner. Du trenger ikke å bruke tre, du kan lage det av hvilket som helst materiale du foretrekker. For motorfestene boret jeg en helhet i en trekloss og skru deretter inn en flat skrue til akselen på motoren, som fungerer bedre enn jeg forventet. På den måten trenger du ikke å skrive ut et motorfeste i 3d, og det er enkelt å lage. Deretter bøyde jeg 2 aluminiumslister for å holde motorene veldig tette. Jeg skar deretter ut en planke og boret hull i den til solcellepanelene. Lim deretter solcellepanelene på den og loddetråder på solcellepanelene. Da må du også lage et kryss av svart materiale. Hvis du ikke har noe svart, kan du bruke svart tape. Dette krysset vil inneholde en LDR i hvert hjørne, slik at Arduino kan sammenligne målingene fra LDR og beregne hvilken retning den må snu. Så bor små deler i hvert hjørne, slik at du får plass til en LDR der inne. Alt som gjenstår å gjøre nå er å lage en bunnplate og noe å sette elektronikken i. For bunnplaten må du bore en helhet i den for å føre alle ledningene gjennom. For målingene vil jeg ikke gi deg noen fordi det virkelig er opp til deg hvordan du vil designe dette. Hvis du har andre motorer eller andre solcellepaneler, må du finne ut målingene selv.

Trinn 3: Elektrisk design

Makt

Hele systemet går på batterier (unntatt Raspberry Pi). Jeg plasserte 3 batterier i serie. 1 batteri er i gjennomsnitt 3,7V, så 3 i serien gir deg rundt 11V. Denne 3s batteripakken brukes til motorene og RF -senderen. Det andre batteriet som er igjen, brukes til å drive Arduino Pro Mini og sensorene. For å lade batteriene brukte jeg 4 TP4056 -moduler. Hvert batteri har 1 TP4056 -modul, hver modul er koblet til et solcellepanel. Fordi modulen har B (inn) og B (ut), kan jeg lade dem separat og lade dem ut i serie. Sørg for at du kjøper de riktige TP4056 -modulene fordi ikke alle modulene har B (inn) og B (ut).

Conrtol

Arduino Pro Mini styrer sensorene og motorene. Den rå og malte pinnen til Arduino er koblet til 5V booster. 5V booster er koblet til enkeltbatteriet. Arduino Pro Mini har svært lavt strømforbruk.

Komponenter

DHT22: Jeg koblet denne sensoren til VCC og Ground, og deretter koblet jeg datapinnen til digital pin 10.

BMP180: Jeg koblet denne sensoren til VCC og Ground, jeg koblet SCL til SCL på Arduino og SDA til SDA på Arduino. Vær forsiktig fordi SCL- og SDA -pinnene på Arduino Pro Mini er i midten av brettet, så hvis du har loddet pinner på brettet og lagt det i et brødbrett, fungerer det ikke fordi du vil ha forstyrrelser fra andre pinner. Jeg loddet de 2 pinnene på toppen av brettet og koblet en ledning direkte til det.

RF -sender: Jeg koblet dette til 3s batteripakke for bedre signal og lengre rekkevidde. Jeg prøvde å koble den til 5V fra Arduino, men da er RF -signalet super svakt. Jeg koblet deretter datapinnen til digital pin 12.

LDR: Jeg koblet de 4 LDR -ene til analoge pinner A0, A1, A2, A3. Jeg har satt LDR -ene sammen med en 1K -motstand.

Motorer: Motorene drives av 2 DRV8825 -kontrollmoduler. Disse er veldig praktiske fordi de bare tar 2 inngangslinjer (retning og trinn) og kan produsere opptil 2A per fase til motorene. Jeg har dem koblet til digitale pinner 2, 3 og 8, 9.

LCD: Jeg koblet LCD-skjermen til Raspberry Pi for å vise IP-adressen. Jeg brukte en trimmer for å regulere bakgrunnslyset.

RF -mottaker: Jeg koblet mottakeren til Arduino Uno på 5V og bakken. Mottakeren bør ikke ta mer enn 5V. Jeg koblet deretter datapinnen til digital pin 11. Hvis du finner et bibliotek for disse RF -modulene som fungerer på Raspberry Pi, trenger du ikke å bruke Arduino Uno.

Raspberry Pi: Raspberry Pi er koblet til Arduino Uno gjennom en USB -kabel. Arduino sender RF -signalene til Raspberry Pi via en seriell tilkobling.

Trinn 4: La oss starte kodingen

For å kode Arduino Pro Mini trenger du FTDI -programmereren. Siden Pro Mini ikke har noen USB -port (for å spare strøm), trenger du det breakout -kortet. Jeg programmerte koden i Arduino IDE, jeg tror dette er den enkleste måten å gjøre det på. Last opp koden fra filen, og den skal være god å gå.

For å kode Arduino Uno koblet jeg den til datamaskinen min via en USB -kabel. Etter at jeg lastet opp koden, koblet jeg den til Raspberry Pi. Jeg var også i stand til å endre koden på Raspberry Pi fordi jeg installerte Arduino IDE og så kunne jeg programmere den derfra. Koden er veldig enkel, den tar inngangen fra mottakeren og sender den gjennom serieporten til Raspberry Pi.

For å kode Raspberry Pi installerte jeg Raspbian. Jeg brukte deretter Putty til å koble til den via en SSH -tilkobling. Jeg konfigurerer deretter bringebæret slik at jeg kunne koble til det via VNC og dermed ha en GUI. Jeg installerte en Apache webserver og begynte å kode backend og frontend for dette prosjektet. Du finner koden på github:

Trinn 5: Database

For å lagre dataene bruker jeg en SQL -database. Jeg laget databasen i MySQL Workbench. Databasen inneholder sensoravlesninger og sensordata. Jeg har 3 tabeller, en for lagring av sensorverdier med tidsstempler, den andre for lagring av informasjon om sensorene og den siste som lagrer informasjon om brukere. Jeg bruker ikke tabellen Brukere fordi jeg ikke kode den delen av prosjektet siden det ikke var i min MVP. Last ned SQL -filen og kjør den, og databasen skal være god å gå.

Anbefalt: