Indholdsfortegnelse:

Solar Weather Station: 5 trin
Solar Weather Station: 5 trin

Video: Solar Weather Station: 5 trin

Video: Solar Weather Station: 5 trin
Video: Solar Weather Station [WiFi, MQTT, Smart Home, ESP8266] 2024, November
Anonim
Solar vejrstation
Solar vejrstation

Har du nogensinde ønsket realtidsvejrinformation fra din baggård? Nu kan du købe en vejrstation i butikken, men dem kræver normalt batterier eller skal tilsluttes en stikkontakt. Denne vejrstation behøver ikke at være forbundet til nettet, fordi den har solpaneler, der roterer mod solen for mere effektivitet. Med sine RF -moduler kan den overføre data fra stationen udenfor til en Raspberry Pi inde i dit hjem. Raspberry Pi er vært for et websted, hvor du kan se dataene.

Trin 1: Saml materialer

Materialer

  • Raspberry Pi 3 model B + + adapter + Micro SD -kort 16 GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI grundlæggende breakout
  • 4 6V 1W solpaneler
  • 4 18650 batterier
  • Booster 5v
  • 4 TP 4056 batteriopladere
  • Adafruit DHT22 temperatur- og luftfugtighedssensor
  • BMP180 barometrisk trykføler
  • 4 LDR
  • RF 433 modtager og sender
  • 2 Nema 17 Stepmotorer
  • 2 DRV8825 Steppermotordrivere
  • lcd 128*64
  • Masser af ledninger

Værktøjer og materialer

  • Lim
  • Træplanker
  • Sav
  • Skruer + skruetrækker
  • Gaffatape
  • 2 aluminiumslister

Trin 2: Mekanisk design

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

Vejrstationens krop er lavet af krydsfiner. Du behøver ikke at bruge træ, du kan lave det af ethvert materiale, du foretrækker. Til motorophængene borede jeg en helhed i en træblok og skruede derefter en flad skrue fast i motorens aksel, hvilket fungerer bedre end jeg forventede. På den måde behøver du ikke 3D -printe en motorophæng, og det er let at lave. Derefter bukkede jeg 2 aluminiumslister for at holde motorerne meget tætte. Jeg skar derefter en planke ud og borede huller i den til solpanelerne. Lim derefter solpanelerne på den og loddetråd på solpanelerne. Så skal du også lave et kryds af sort materiale. Hvis du ikke har noget sort, kan du bruge sort tape. Dette kryds vil indeholde en LDR i hvert hjørne, så Arduino kan sammenligne målingerne fra LDR og beregne, hvilken retning den skal dreje. Så bor små huller i hvert hjørne, så du kan passe en LDR derinde. Det eneste, der er tilbage at gøre nu, er at lave en bundplade og noget at sætte elektronikken i. Til bundpladen skal du bore en hel i den for at føre alle ledninger gennem ruden. Til målingerne vil jeg ikke give dig nogen, fordi det virkelig er op til dig, hvordan du vil designe dette. Hvis du har andre motorer eller andre solpaneler, skal du selv regne ud målingerne.

Trin 3: Elektrisk design

Strøm

Hele systemet kører på batterier (undtagen Raspberry Pi). Jeg placerede 3 batterier i serie. 1 batteri er i gennemsnit 3,7V, så 3 i serien giver dig omkring 11V. Denne 3s batteripakke bruges til motorerne og RF -senderen. Det andet batteri, der er tilbage, bruges til at drive Arduino Pro Mini og sensorerne. For at oplade batterierne brugte jeg 4 TP4056 -moduler. Hvert batteri har 1 TP4056 -modul, hvert modul er forbundet til et solpanel. Fordi modulet har B (ind) og B (ud), kan jeg oplade dem separat og aflade dem i serie. Sørg for at købe de rigtige TP4056 -moduler, fordi ikke alle moduler har B (ind) og B (ud).

Conrtol

Arduino Pro Mini styrer sensorerne og motorerne. Arduinoens rå og malede pin er forbundet med 5V booster. 5V booster er forbundet til det enkelte batteri. Arduino Pro Mini har et meget lavt strømforbrug.

Komponenter

DHT22: Jeg tilsluttede denne sensor til VCC og jord, og derefter sluttede jeg datapinden til digital pin 10.

BMP180: Jeg sluttede denne sensor til VCC og Ground, jeg sluttede SCL til SCL på Arduino og SDA til SDA på Arduino. Vær forsigtig, fordi SCL- og SDA -benene på Arduino Pro Mini er i midten af brættet, så hvis du har loddet stifter til brættet og lagt det i et brødbræt, fungerer det ikke, fordi du vil have interferens fra andre stifter. Jeg loddet de 2 ben på toppen af brættet og sluttede en ledning direkte til det.

RF -sender: Jeg tilsluttede dette til 3s batteripakken for bedre signal og længere rækkevidde. Jeg prøvede at tilslutte den til 5V fra Arduino, men det er derefter RF -signalet super svagt. Jeg sluttede derefter datapinden til digital pin 12.

LDR: Jeg tilsluttede de 4 LDR'er til analoge ben A0, A1, A2, A3. Jeg har sat LDR'erne sammen med en 1K modstand.

Motorer: Motorerne drives af 2 DRV8825 -kontrolmoduler. Disse er meget praktiske, fordi de kun tager 2 indgangslinjer (retning og trin) og kan producere op til 2A pr. Fase til motorerne. Jeg har dem tilsluttet digitale stifter 2, 3 og 8, 9.

LCD: Jeg sluttede lcd'en til Raspberry Pi for at vise dens IP-adresse. Jeg brugte en trimmer til at regulere baggrundslyset.

RF -modtager: Jeg sluttede modtageren til Arduino Uno på 5V og jord. Modtageren bør ikke tage mere end 5V. Jeg sluttede derefter datapinden til digital pin 11. Hvis du kan finde et bibliotek til disse RF -moduler, der fungerer på Raspberry Pi, behøver du ikke bruge Arduino Uno.

Raspberry Pi: Raspberry Pi er forbundet til Arduino Uno gennem et USB -kabel. Arduino sender RF -signalerne til Raspberry Pi via en seriel forbindelse.

Trin 4: Lad os starte kodning

For at kode Arduino Pro Mini skal du bruge FTDI -programmøren. Da Pro Mini ikke har nogen USB -port (for at spare strøm), har du brug for dette breakout -kort. Jeg programmerede koden i Arduino IDE, jeg tror, det er den nemmeste måde at gøre det på. Upload koden fra filen, og den skal være god at gå.

For at kode Arduino Uno sluttede jeg den til min computer via et USB -kabel. Efter at jeg havde uploadet koden, sluttede jeg den til Raspberry Pi. Jeg var også i stand til at ændre koden på Raspberry Pi, fordi jeg installerede Arduino IDE, og så jeg kunne programmere den derfra. Koden er meget enkel, den tager input fra modtageren og sender den gennem den serielle port til Raspberry Pi.

For at kode Raspberry Pi installerede jeg Raspbian. Jeg brugte derefter Putty til at oprette forbindelse til det via en SSH -forbindelse. Jeg konfigurerer derefter hindbæret, så jeg kunne oprette forbindelse til det via VNC og dermed have en GUI. Jeg installerede en Apache webserver og begyndte at kode backend og frontend til dette projekt. Du kan finde koden på github:

Trin 5: Database

For at gemme data bruger jeg en SQL -database. Jeg lavede databasen i MySQL Workbench. Databasen indeholder sensoraflæsninger og sensordata. Jeg har 3 borde, en til lagring af sensorværdierne med tidsstempler, den anden til lagring af oplysninger om sensorerne og den sidste til at gemme information om brugere. Jeg bruger ikke tabellen Brugere, fordi jeg ikke har kodet den del af projektet, da den ikke var i min MVP. Download SQL -filen, og kør den, og databasen skal være god til at gå.

Anbefalede: