Inhaltsverzeichnis:

Solar-Wetterstation - Gunook
Solar-Wetterstation - Gunook

Video: Solar-Wetterstation - Gunook

Video: Solar-Wetterstation - Gunook
Video: DIY Solar Powered Weather Station 2024, November
Anonim
Solar-Wetterstation
Solar-Wetterstation

Wollten Sie schon immer Echtzeit-Wetterinformationen aus Ihrem Garten? Jetzt können Sie im Laden eine Wetterstation kaufen, aber diese benötigen normalerweise Batterien oder müssen an eine Steckdose angeschlossen werden. Diese Wetterstation muss nicht an das Stromnetz angeschlossen werden, da sie über Sonnenkollektoren verfügt, die sich für mehr Effizienz zur Sonne drehen. Mit seinen HF-Modulen kann er Daten von der Station draußen auf einen Raspberry Pi im Haus übertragen. Der Raspberry Pi hostet eine Website, auf der Sie die Daten einsehen können.

Schritt 1: Materialien sammeln

Materialien

  • Raspberry Pi 3 Modell B+ + Adapter + Micro SD Karte 16GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI Basis-Breakout
  • 4 6V 1W Sonnenkollektoren
  • 4 18650-Batterien
  • Verstärker 5V
  • 4 Ladegeräte TP 4056
  • Adafruit DHT22 Temperatur- und Feuchtigkeitssensor
  • BMP180 Luftdrucksensor
  • 4 LDR
  • RF 433 Empfänger und Sender
  • 2 Nema 17 Schrittmotoren
  • 2 DRV8825 Schrittmotortreiber
  • LCD 128*64
  • Viele Drähte

Werkzeuge und Materialien

  • Kleber
  • Holzbretter
  • Sah
  • Schrauben + Schraubendreher
  • Klebeband
  • 2 Aluminiumstreifen

Schritt 2: Mechanisches Design

Mechanische Konstruktion
Mechanische Konstruktion
Mechanische Konstruktion
Mechanische Konstruktion
Mechanische Konstruktion
Mechanische Konstruktion
Mechanische Konstruktion
Mechanische Konstruktion

Das Gehäuse der Wetterstation besteht aus Sperrholz. Sie müssen kein Holz verwenden, Sie können es aus jedem Material herstellen, das Sie bevorzugen. Für die Motorhalterungen habe ich ein Ganzes in einen Holzblock gebohrt und dann eine Flachschraube an die Welle des Motors geschraubt, was besser funktioniert als ich erwartet hatte. Auf diese Weise müssen Sie keine Motorhalterung in 3D drucken und es ist einfach zu machen. Dann habe ich 2 Aluminiumstreifen gebogen, um die Motoren sehr fest zu halten. Dann schneide ich eine Planke aus und bohre Löcher für die Sonnenkollektoren. Dann die Solarpanels darauf kleben und Drähte an den Solarpanels anlöten. Dann müssen Sie auch ein Kreuz aus schwarzem Material machen. Wenn Sie nichts Schwarzes haben, können Sie schwarzes Klebeband verwenden. Dieses Kreuz hält einen LDR in jeder Ecke, damit der Arduino die Messungen des LDR vergleichen und berechnen kann, in welche Richtung er sich drehen muss. Bohren Sie also in jede Ecke winzige Löcher, damit Sie einen LDR hineinpassen können. Jetzt müssen Sie nur noch eine Grundplatte und etwas zum Einsetzen der Elektronik herstellen. Für die Grundplatte müssen Sie ein Loch hineinbohren, um alle Drähte durchzuziehen. Für die Maße werde ich Ihnen keine geben, da es wirklich an Ihnen liegt, wie Sie dies gestalten möchten. Wenn Sie andere Motoren oder andere Sonnenkollektoren haben, müssen Sie die Messungen selbst herausfinden.

Schritt 3: Elektrisches Design

Leistung

Das gesamte System läuft mit Batterien (außer dem Raspberry Pi). Ich habe 3 Batterien in Reihe geschaltet. 1 Batterie hat durchschnittlich 3,7 V, also 3 in Reihe liefern Ihnen etwa 11 V. Dieser 3s-Akku wird für die Motoren und den HF-Sender verwendet. Die andere verbleibende Batterie wird verwendet, um den Arduino Pro Mini und die Sensoren zu versorgen. Zum Laden der Akkus habe ich 4 TP4056 Module verwendet. Jede Batterie hat 1 TP4056-Modul, jedes Modul ist mit einem Solarpanel verbunden. Da das Modul über B(in) und B(out) verfügt, kann ich diese separat laden und in Reihe entladen. Stellen Sie sicher, dass Sie die richtigen TP4056-Module kaufen, da nicht alle Module B(in) und B(out) haben.

Kontrolle

Der Arduino Pro Mini steuert die Sensoren und die Motoren. Der Roh- und Erdungsstift des Arduino ist mit dem 5V-Booster verbunden. Der 5V Booster wird an die Einzelbatterie angeschlossen. Der Arduino Pro Mini hat einen sehr geringen Stromverbrauch.

Komponenten

DHT22: Ich habe diesen Sensor mit VCC und Masse verbunden, dann habe ich den Daten-Pin mit Digital-Pin 10 verbunden.

BMP180: Ich habe diesen Sensor mit dem VCC und Masse verbunden, ich habe SCL mit SCL auf dem Arduino und SDA mit SDA auf dem Arduino verbunden. Seien Sie vorsichtig, da sich die SCL- und SDA-Pins des Arduino Pro Mini in der Mitte der Platine befinden. Wenn Sie also Pins an die Platine gelötet und in ein Steckbrett gesteckt haben, funktioniert es nicht, da Sie Störungen durch andere Pins haben. Ich habe diese 2 Pins auf die Oberseite der Platine gelötet und einen Draht direkt daran angeschlossen.

RF-Sender: Ich habe dies an den 3s-Akku angeschlossen, um ein besseres Signal und eine größere Reichweite zu erzielen. Ich habe versucht, es an die 5V vom Arduino anzuschließen, aber dann ist das HF-Signal super schwach. Ich habe dann den Daten-Pin mit dem digitalen Pin 12 verbunden.

LDR: Ich habe die 4 LDRs an die analogen Pins A0, A1, A2, A3 angeschlossen. Ich habe die LDRs mit einem 1K-Widerstand zusammengefügt.

Motoren: Die Motoren werden von 2 DRV8825 Steuermodulen angetrieben. Diese sind sehr praktisch, da sie nur 2 Eingangsleitungen (Richtung und Schritt) benötigen und bis zu 2A pro Phase an die Motoren liefern können. Ich habe sie an die digitalen Pins 2, 3 und 8, 9 angeschlossen.

LCD: Ich habe das LCD an den Raspberry Pi angeschlossen, um seine IP-Adresse anzuzeigen. Ich habe einen Trimmer verwendet, um die Hintergrundbeleuchtung zu regulieren.

RF-Empfänger: Ich habe den Empfänger an den Arduino Uno mit 5V und Masse angeschlossen. Der Empfänger sollte nicht mehr als 5V aufnehmen. Ich habe dann den Datenpin mit dem digitalen Pin 11 verbunden. Wenn Sie eine Bibliothek für diese HF-Module finden, die auf dem Raspberry Pi funktioniert, müssen Sie das Arduino Uno nicht verwenden.

Raspberry Pi: Der Raspberry Pi wird über ein USB-Kabel mit dem Arduino Uno verbunden. Der Arduino leitet die HF-Signale über eine serielle Verbindung an den Raspberry Pi weiter.

Schritt 4: Beginnen wir mit der Codierung

Um den Arduino Pro Mini zu codieren, benötigen Sie den FTDI-Programmierer. Da der Pro Mini keinen USB-Anschluss hat (um Strom zu sparen), benötigen Sie dieses Breakout-Board. Ich habe den Code in der Arduino IDE programmiert, ich denke, das ist der einfachste Weg, dies zu tun. Laden Sie den Code aus der Datei hoch und es sollte gut gehen.

Um das Arduino Uno zu codieren, habe ich es über ein USB-Kabel an meinen Computer angeschlossen. Nachdem ich den Code hochgeladen habe, habe ich ihn mit dem Raspberry Pi verbunden. Ich konnte auch den Code auf dem Raspberry Pi ändern, da ich die Arduino IDE installiert habe und von dort aus programmieren konnte. Der Code ist sehr einfach, er nimmt die Eingabe vom Empfänger und sendet sie über die serielle Schnittstelle an den Raspberry Pi.

Um den Raspberry Pi zu codieren, habe ich Raspbian installiert. Ich habe dann Putty verwendet, um mich über eine SSH-Verbindung damit zu verbinden. Ich konfiguriere dann den Raspberry so, dass ich mich über VNC damit verbinden kann und somit eine GUI habe. Ich habe einen Apache Webserver installiert und angefangen, das Backend und Frontend für dieses Projekt zu programmieren. Sie finden den Code auf github:

Schritt 5: Datenbank

Zur Speicherung der Daten verwende ich eine SQL-Datenbank. Ich habe die Datenbank in MySQL Workbench erstellt. Die Datenbank enthält die Sensormesswerte und Sensordaten. Ich habe 3 Tabellen, eine zum Speichern der Sensorwerte mit Zeitstempeln, die andere zum Speichern von Informationen über die Sensoren und die letzte zum Speichern von Informationen über Benutzer. Ich verwende die Benutzertabelle nicht, weil ich diesen Teil des Projekts nicht codiert habe, da er nicht in meinem MVP enthalten war. Laden Sie die SQL-Datei herunter und führen Sie sie aus und die Datenbank sollte einsatzbereit sein.

Empfohlen: