Inhaltsverzeichnis:

Offline-Wetterstation Arduino - Gunook
Offline-Wetterstation Arduino - Gunook

Video: Offline-Wetterstation Arduino - Gunook

Video: Offline-Wetterstation Arduino - Gunook
Video: Realtime Monitoring of Arduino sensor reading offline on webpage || 2022 2024, Juli
Anonim
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino
Offline-Wetterstation Arduino

Zusammenfassung

Als ich das letzte Mal ein Thermometer gekauft habe, habe ich gesehen, dass es fast immer Unterschiede in den Werten gibt. Meine Aufgabe war es, die Temperatur und die Luftfeuchtigkeit im Zimmer meines Babys zu verfolgen. Außerdem gab es bei den meisten Thermometern ein Problem beim Lesen der Werte im Bereich von 2-3 Metern und ich musste aufstehen, um den Temperaturwert zu sehen. Das Problem, das ich bei den meisten Thermometern habe, war das Licht. Ein anderes Problem war, dass ich den Temperaturwert nicht sehen kann, da er ohne Hintergrundbeleuchtung ist, um Energie zu sparen. Ich möchte keine Energie sparen, ich brauche nur ein paar Stunden Energiespeicher, damit dieses Gerät funktioniert, wenn die Hauptenergieleitung ausfällt.

Also kam ich mit einer Idee:

- Um ein Thermometer mit der Möglichkeit zu erstellen, den Temperaturwert zu ändern.

- Was mit Hintergrundbeleuchtung und Farben sein kann. - Um alle Dinge zu kombinieren, die normale Thermometer haben: (RTC, Batterie, Min Max t usw.) - Und zusätzliche Funktionen wie Jahreszeiten und Feiertage zu haben

Also habe ich das Projekt vor 1 Jahr gestartet. Der Softwareteil hat mich mehrere Monate gekostet. Ich habe mehrere Versionen der Software erstellt und in den letzten 2 Wochen habe ich das Projekt abgeschlossen.

Informationen zur Gerätesoftware

Arduino-Code und Bibliotheken:

Code wird auch im Codeschritt hochgeladen.

https://github.com/stlevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Gerätefunktionen

  • Boot Page - zeigt Datum und Uhrzeit des letzten Firmware-Uploads an.
  • Startseite - zeigt Uhrzeit, Datum, Batteriesymbol, Temperatursymbol, Temperaturwert, Luftfeuchtigkeitswert, Tmax, Tmin, Jahreszeiten, Feiertage, USB-Anzeige beim Anschließen an.
  • Menüseite - mit Temp-, Uhr-, Akku-, Info-, Zurück-Menüs
  • Temp-Seite - ermöglicht die Kalibrierung des DHT-Sensors
  • Uhrseite - ermöglicht die Bearbeitung von Uhrzeit und Datum
  • Batterieseite - zeigt Batterieinfo, % Prozent, mV Spannung, Ladestatus an
  • Über die Seite - Zeigt Informationen für den Autor an
  • Zurück-Funktion zum Verlassen des Menüs
  • Transparente Platten
  • RTC lange Lebensdauer
  • Lithium-Akku - bis zu ~9 Stunden (450mAh)
  • Anzeige für schwache Batterie - zeigt das Symbol in Rot ~ verbleibende 5 Minuten.
  • Verschiedene Farben für die - niedrige, mittlere, hohe Temperatur
  • Nachrichten zu Feiertagen und Jahreszeiten
  • Programmierbare Steckdose - auf der Rückseite
  • Benutzeroberfläche - mit Drehgeber

Die Rückseite mit der Platine wird nicht abgedeckt, da ich möchte, dass mein Baby die Platine sieht und berührt, während das Gerät nicht eingeschaltet ist. Sie können eine Art Abdeckung für die Rückseite des Boards erstellen.

Schritt 1: Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee

Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee
Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee
Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee
Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee
Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee
Skizzieren Sie das Gerät, zeichnen Sie die Init-Idee

Entscheiden Sie, was Sie haben möchten - wie viele Seiten, Menüs, wie Sie die Menüs und die Seiten ändern.

Wenn Sie andere Ideen haben, können Sie diese mit dem Arduino-Code ändern.

Entscheiden Sie, welche Form Sie wünschen und was einfach gemacht werden kann. Ich wähle zuerst den 3D-Druck, entscheide mich dann aber für einfaches Material.

Die Idee ist, oben und unten transparente Wände zu haben, außerdem können Sie eine feinere Schachtel erstellen.

Die Hauptteile der Box sind also:

  1. Front - mit Display und Drehgeber
  2. Rechts - mit dem RTC-Modul
  3. Links - mit dem DHT-Modul
  4. Zurück - mit der gegenüberliegenden Seite des Brettes
  5. Oben - Transparent mit der 3,7V Batterie und dem EIN/AUS-Schiebeschalter
  6. Unten - Transparent

Schritt 2: Wählen Sie die richtigen Komponenten

  1. TP4056 Micro-USB-Ladegerät 5V 1A 18650 Lithium-Akku-Ladeplatine - Ebay
  2. 1,44" 128x128 SPI Vollfarb 65K TFT LCD Display Modul ST7735 - Ebay
  3. KY-040 Drehgebermodul für Arduino - Ebay
  4. DHT22 AM2302 Digitaler Temperatur- und Feuchtigkeitssensor - Ebay
  5. Tiny RTC I2C Module 24C32 Speicher DS1307 Echtzeituhr RTC Modul Board - Ebay
  6. Pro Micro Controller Board ATmega328P 16MHz Arduino Pro Mini Modul - Ebay
  7. 3.7V 450mAh Lipo Akku - Ebay
  8. 6 Pins 2 Positionen DPDT On/On Mini-Schiebeschalter - Ebay
  9. CR2032 CR 2032 3V Knopfzelle Knopfzelle - Ebay
  10. 10x22cm Lötprototyp Kupfer PCB Board Single Side Universal - Ebay
  11. Male&Female 40pin 2.54mm Header Socket Single Row Strip - Ebay

Schritt 3: Vorbereiten des Schaltplans

Schaltplan vorbereiten
Schaltplan vorbereiten

Das Diagramm zeigt die Konnektivität ähnlicher Sensoren, während das Display fast gleich ist.

Informationen zur korrekten Verwendung der Pins finden Sie im Arduino-Code im Code-Schritt.

Laden Sie die Fritzing-Datei herunter, um weitere Informationen zur Pinbelegung zu erhalten. Bewegen Sie den Mauszeiger über die Punkte aus dem Diagramm, um die genauen Pins der Module zu sehen.

Schritt 4: Zusätzliche Informationen vor dem Start - Stromverbrauch

Zusätzliche Informationen vor dem Start - Stromverbrauch
Zusätzliche Informationen vor dem Start - Stromverbrauch

Das Projekt verwendet einen 450-mAh-Akku, aber Sie können einen größeren verwenden. Schauen Sie sich einfach den Stromverbrauch an, um den richtigen Akku für bestimmte Nutzungsstunden auszuwählen und zu berechnen. Bei Verwendung von 450mAh kann das Gerät ca. 9 Stunden.

Im Idle läuft das Gerät mit ca. 0,102A - Hier wird keine Energiesparoptimierung vorgenommen

Wenn die Taste gedrückt wird, wird der hohe Strom angelegt und beträgt etwa 0,177 A.

Schritt 5: Verbinden Sie das Display

Verbinden Sie das Display
Verbinden Sie das Display
Verbinden Sie das Display
Verbinden Sie das Display

Das Display verwendet SPI für die Verbindung.

Es gibt eine adafruit-Bibliothek für diesen Treiber ST7735.

Schritt 6: RTC-Modul anschließen

RTC-Modul anschließen
RTC-Modul anschließen

Erstellen Sie eine PCB-Modifikation, um die CR2032-Batterie zu verwenden.

  • D1 entfernen
  • R4 entfernen
  • R5 entfernen
  • R6 entfernen
  • Kurz R6

Weitere Informationen zu dieser Modifikation finden Sie hier.

Schritt 7: Frontwand mit Display, RTC, Batterie, Drehgeber anbringen

Frontwand mit Display, RTC, Batterie, Drehgeber anbringen
Frontwand mit Display, RTC, Batterie, Drehgeber anbringen
Frontwand mit Display, RTC, Batterie, Drehgeber anbringen
Frontwand mit Display, RTC, Batterie, Drehgeber anbringen
Frontwand mit Display, RTC, Batterie, Drehgeber anbringen
Frontwand mit Display, RTC, Batterie, Drehgeber anbringen

Wenn Sie das Gerät starten möchten, laden Sie einfach den Code aus dem Code-Schritt hoch und folgen Sie den anderen Schritten, während Sie die neuen Teile ändern und anbringen.

Schritt 8: Transparente Wände vorbereiten

Bereiten Sie transparente Wände vor
Bereiten Sie transparente Wände vor

Ich verwende 3mm Plexi. Sie können ein ähnliches transparentes Material verwenden. Ich verwende nur einen für die Unterseite.

Schritt 9: Rechte Wand erstellen

Rechte Wand erstellen
Rechte Wand erstellen
Rechte Wand erstellen
Rechte Wand erstellen

Erstellen Sie die rechte Seitenwand. Verwenden Sie die CR2032-Größe für das Loch.

Schritt 10: Linke Seitenwand erstellen

Linke Seitenwand erstellen
Linke Seitenwand erstellen
Linke Seitenwand erstellen
Linke Seitenwand erstellen
Linke Seitenwand erstellen
Linke Seitenwand erstellen

Erstellen Sie die linke Seitenwand. Verwenden Sie die Größe des DHT-Moduls für das Loch.

Schritt 11: Erstellen Sie den Sockel mit dem Universal Board und den Schienen, verbinden Sie RTC, Encoder, Display und Display

Erstellen Sie den Sockel mit dem Universalboard und den Schienen, verbinden Sie RTC, Encoder, Display und Display
Erstellen Sie den Sockel mit dem Universalboard und den Schienen, verbinden Sie RTC, Encoder, Display und Display
Erstellen Sie den Sockel mit dem Universalboard und den Schienen, verbinden Sie RTC, Encoder, Display und Display
Erstellen Sie den Sockel mit dem Universalboard und den Schienen, verbinden Sie RTC, Encoder, Display und Display
Erstellen Sie den Sockel mit dem Universalboard und den Schienen, verbinden Sie RTC, Encoder, Display und Display
Erstellen Sie den Sockel mit dem Universalboard und den Schienen, verbinden Sie RTC, Encoder, Display und Display

Verbinden und löten Sie alle Pins gemäß dem Schaltplan. Sie können Arduino UNO mit installierter leerer Skizze verwenden, um den Arduino Mini zu programmieren. Benötigte Stifte:

  • VCC 5V
  • Masse
  • RX
  • TX
  • ZURÜCKSETZEN

Vergessen Sie nicht, die Batterie 3,7 V bei diesen Schritten zu trennen, wenn Sie die Skizze hochladen, bevor Sie mit den Teilen fertig sind.

Schritt 12: Schalten Sie es ein, bevor Sie fortfahren

Image
Image

An diesem Punkt können Sie das Gerät einschalten und alle Funktionen nutzen.

Verwenden Sie die Videovorschau, um zu sehen, was die Software in Version 1.1 war. Außerdem gibt es im Zusammenfassungsschritt einen Github-Link, um das neueste Update anzuzeigen.

Schalten Sie das Gerät ein, bevor Sie mit den anderen Schritten fortfahren, bevor Sie die obere Abdeckung schließen, und stellen Sie sicher, dass es normal funktioniert.

Schritt 13: Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse

Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse
Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse
Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse
Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse
Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse
Fügen Sie TP4056 und die Batterie hinzu, löten Sie den Schiebeschalter, fügen Sie das Ladekabel an Pin 5 hinzu, löten Sie die hintere programmierbare Buchse

Testen Sie das System nach jedem Löten und stellen Sie sicher, dass die Teile einwandfrei funktionieren, bevor Sie fortfahren.

Schritt 14: Erstellen Sie die obere Abdeckung

Erstellen Sie die obere Abdeckung
Erstellen Sie die obere Abdeckung
Erstellen Sie die obere Abdeckung
Erstellen Sie die obere Abdeckung
Erstellen Sie die obere Abdeckung
Erstellen Sie die obere Abdeckung

Ich verwende eine 0,5-mm-Plexi-Platte aus der Powerbank-Box.

Schritt 15: Code

Verwenden Sie die Parameter im Abschnitt init, um Ihre Einstellungen zu definieren.

Für die Feiertage verwende ich Bulgarisch. Sie können das Array mit den Feiertagen in Ihrem Land bearbeiten.

Das Gerät zeigt 4 Jahreszeiten an, bearbeiten Sie diese im Code, den Sie für Ihren Standort bevorzugen.

Wenn Ihre Sensoren unterschiedlich sind, folgen Sie den Pindefinitionen und bearbeiten Sie sie im Code. Ich habe fast alle Zeilen Kommentare zum besseren Verständnis des Codes hinterlassen.

Getestete Plattformen:

  • Arduino UNO
  • Arduino Pro Mini

Nehmen Sie die benötigten Bibliotheken aus dem Repository und verwenden Sie die in der Skizze definierten.

Schritt 16: Testen Sie das Gerät vor dem letzten Schliff

Testen Sie das Gerät vor dem letzten Schliff
Testen Sie das Gerät vor dem letzten Schliff
Testen Sie das Gerät vor dem letzten Schliff
Testen Sie das Gerät vor dem letzten Schliff
Testen Sie das Gerät vor dem letzten Schliff
Testen Sie das Gerät vor dem letzten Schliff

Das Gerät ist perfekt, meins ist auf -4 * C kalibriert, ich habe meine Toshiba-Klimaanlage, 2 einfache Wandthermometer und zwei digitale Thermometer zum Kalibrieren verwendet. Wenn Ihr Sensor andere Werte misst, können Sie ihn jetzt ändern.

Schritt 17: Schnittstellenvorschau

Schnittstellenvorschau
Schnittstellenvorschau
Schnittstellenvorschau
Schnittstellenvorschau
Schnittstellenvorschau
Schnittstellenvorschau

Vergessen Sie nicht, die Firmware-Informationen im Init-Abschnitt des Codes zu bearbeiten, um Ihre Anmeldeinformationen anzuzeigen oder sie unverändert zu lassen.

Empfohlen: