
Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52

Erstellt von: Hazel Yang
Dieses Projekt ist eine Wetterstation mit einem Arduino UNO-Board zur Steuerung des Datenflusses, einem DHT22-Sensor zum Sammeln der Daten und einem OLED-Bildschirm zum Anzeigen der Daten.
Schritt 1: Artikelliste

1. Bildschirm: OLED, 1,3 Display SH1106, I2C weiße Farbe ---- PID: 18283
2. Sensor: Digitaler Feuchtigkeits- und Temperatursensor DHT22 ---- PID: 7375
3. Anschließen: Überbrückungsdrähte ---- PID: 10316 oder 10318 oder 10312 (abhängig von der Länge) oder Sie können Massivdraht 22 AWG verwenden ---- PID: 22490
Steckbrett ---- PID: 10686 oder 10698 oder 103142 (je nach Größe)
4. Stromversorgung: Dieses Kabel kann nur mit einem Computer-USB-Anschluss verbunden werden und das Kabel wird auch für die Datenübertragung zwischen der IDE und dem Arduino-Board verwendet. USB-KABEL, A NACH B, M/M, 0.5M (1.5FT) ---- PID: 29862
Oder Sie können dies verwenden, um das Board mit Strom zu versorgen: 5V 2A AC/DC Adapter ---- PID: 10817.
Schritt 2: Relative Einführung


Einführung des Bildschirms: 1,3 OLED-Display Weiß
1. Sie finden das Dokument, das die grundlegende Einrichtung und Beschreibungen zeigt:
Einführung des Sensors: Feuchte- und Temperatursensor DHT22 1. Sie finden das Dokument mit den Beschreibungen:
Schritt 3: Schließen Sie die Schaltung an

Der DHT22-Sensor sendet serielle Daten an Pin 2. Verbinden Sie also den zweiten Pin von links, der "SDA" -Pin sollte mit Pin 2 verbunden werden.
Für das SSH1106-Display verwendet es den analogen Pin zum Senden. Die Schaltung des Bildschirms ist der "SCL" -Pin für Arduinos "A5" und der "SDA" -Pin für Arduinos "A4". Während die Pixelpositionsdaten kontinuierlich übertragen werden, löst die Anzeigefunktion im Programm bei jedem Auslesen der Daten vom Sensor den Befehl nur einmal aus.
Sowohl der Sensor als auch der Bildschirm können die 3,3 V verwenden, um Arduino als Gleichstromeingang einzuschalten. Zur Stromversorgung müssen wir beide "VCC" -Pins mit Arduinos "3.3V" verbinden. Und die "GND" -Pins können einfach mit dem "GND" -Pin auf dem Arduino-Board verbunden werden.
Verwenden Sie das USB-A-zu-B-Kabel und verbinden Sie den Arudino mit dem Computer.
Schritt 4: Kompilieren vorbereiten
"u8glib" für SSH1106-Bildschirm von Olikraus.
"DHT-Sensorbibliothek" für DHT22-Sensor von Adafruit. Sie sollten die beiden Bibliotheken herunterladen: DHT22-Sensorbibliothek:
U8glib:
Und verwenden Sie "Bibliothek verwalten" in der IDE, um sie zu entpacken. Online-Anleitung zur Verwaltung von Bibliotheken:
Schritt 5: Testcode für die serielle Schnittstelle des DHT22-Sensors
Testcoe für den seriellen Port des DHT22-Sensors (der sich in der DHT22-Bibliothek befindet>> Beispiele):
(Sie können diesen Teil überspringen.)
Nur zum Testen liest der DHT22-Sensor Daten normal
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#definiere DHTPIN 2
#define DHTTYP DHT22
DHT dht(DHTPIN, DHTTYPE);
Leere Einrichtung () {
Serial.begin (9600);
Serial.println (F ("DHT22-Test!"));
dht.begin();
}
Leere Schleife () {
// Warten Sie einige Sekunden zwischen den Messungen.
Verzögerung (2000);
// Das Auslesen von Temperatur oder Luftfeuchtigkeit dauert ca. 250 Millisekunden!
// Sensormesswerte können auch bis zu 2 Sekunden "alt" sein (es ist ein sehr langsamer Sensor)
float h = dht.readHumidity();
// Temperatur als Celsius lesen (Standard)
float t = dht.readTemperature();
// Temperatur als Fahrenheit lesen (isFahrenheit = true)
float f = dht.readTemperature(true);
// Prüfen, ob Lesevorgänge fehlgeschlagen sind und vorzeitig beenden (um es erneut zu versuchen).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println (F ("Fehler beim Lesen vom DHT-Sensor!"));
Rückkehr;
}
// Wärmeindex in Fahrenheit berechnen (Standard)
float hif = dht.computeHeatIndex(f, h);
// Wärmeindex in Celsius berechnen (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print (F ("Feuchtigkeit: "));
Seriendruck (h);
Serial.print (F ("% Temperatur: "));
Serial.print (t);
Serial.print (F ("°C"));
Seriendruck (f);
Serial.print (F ("°F Hitzeindex: "));
Serial.print (hic);
Serial.print (F ("°C"));
Serial.print (hif);
Serial.println (F("°F"));
}
// Klicken Sie nach dem Kompilieren des Programms auf TOOLS >> SERIAL MONITOR, um die Daten zu überprüfen.
// Ende des Testprogramms.
Schritt 6: Code für das Projekt
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#definiere DHTPIN 2
#define DHTTYP DHT22
#include "U8glib.h"
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);
DHT-Sensor (DHTPIN, DHTTYPE);
Leere Unentschieden (Leere) {
u8g.setFont(u8g_font_unifont);
float h = sensor.readHumidity();
// Temperatur als Celsius lesen (Standard)
float t = sensor.readTemperature();
// Prüfen, ob Lesevorgänge fehlgeschlagen sind und vorzeitig beenden (um es erneut zu versuchen).
if (isnan(h) || isnan(t)) {
u8g.print("Fehler.");
zum(;;);
Rückkehr;
}
u8g.setPrintPos(4, 10);
u8g.print("Temperatur(C):");
u8g.setPrintPos(4, 25);
u8g.print(t);
u8g.setPrintPos(4, 40);
u8g.print("Luftfeuchtigkeit(%):");
u8g.setPrintPos(4, 55);
u8g.print (h);
}
Leere Einrichtung (void) {
u8g.setRot180();
Serial.begin (9600);
sensor.begin();
}
Leere Schleife (Leere) {
// Bildschleife
u8g.firstPage();
tun {
zeichnen();
} while(u8g.nextPage());
// das Bild nach einiger Verzögerung neu erstellen Verzögerung (2000);
}
// Ende des Hauptprogramms.
Schritt 7: Beschreibung

Initialisieren Sie dann die Pin-Schaltung für das Arduino-Board. Weil die Sensorbibliothek die Daten benötigt, um das Objekt zu deklarieren.
Und Sie können die Daten des Sensors testen, indem Sie die Ausgabedaten über den digitalen Pin 2 überwachen, indem Sie die Funktion "Serial.print()" verwenden. Da die Frequenz der Datenübertragung ungefähr 1 Messwert alle 2 Sekunden beträgt (das sind 0,5 Hz), müssen wir bei der Programmierung in der Arduino IDE die Verzögerung innerhalb der Schleifenfunktion auf mehr als 2 Sekunden einstellen. Es gibt also eine "delay(2000)" innerhalb der Schleifenfunktion. Dadurch wird sichergestellt, dass die Daten häufig aktualisiert werden. Holen Sie in der Funktion "draw" die Daten vom seriellen Datenport und setzen Sie sie mit den Funktionen "readHumidity" und "readTemperature" in Float-Zahlen.
Drucken Sie die Luftfeuchtigkeit und Temperatur über die Druckfunktion in der Datei "u8glib" aus. Sie können die Position anpassen, indem Sie die Zahl in der Funktion "setPrintPos" ändern. Die Druckfunktion kann den Text und die Zahlen direkt anzeigen.
Geben Sie dem seriellen Port eine Verzögerung von 10 Sekunden, um die Hardware einzurichten. Rufen Sie dann die begin-Funktion für den Sensor auf. Laut meiner Schaltung stand mein Bildschirm auf dem Kopf. Also habe ich auch eine "setRot180"-Funktion eingebaut, um das Display zu drehen.
Die Loop-Funktion des Arduino-Boards ist die Hauptfunktion. Es ruft die Zeichenfunktion ständig auf, um den Text und die Daten jedes Mal anzuzeigen, wenn der Sensor aktualisiert wird.
Der Bildschirm sieht so aus:
Sie können das Arduino UNO von Ihrem Computer trennen und mit einem 5 V DC-Netzteil mit Strom versorgen, das an seine 2,1-mm-Strombuchse angeschlossen ist. Es speichert das Programm in seinem Laufwerk und kann das Programm nach dem Einschalten kontinuierlich erneut ausführen.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow

Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Eine einfache Wetterstation erstellen – wikiHow

So erstellen Sie eine einfache Wetterstation: Hallo Leute, in diesem Video zeige ich Ihnen, wie Sie eine einfache Wetterstation erstellen, um Temperatur und Luftfeuchtigkeit mit dem DHT11-Sensor zu messen
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
![Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern) Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)](https://i.howwhatproduce.com/images/008/image-22226-j.webp)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
So erstellen Sie eine Arduino-Wetterstation – wikiHow

So erstellen Sie eine Arduino-Wetterstation: In diesem Projekt werden wir eine Wetterstation herstellen, die Temperatur und Luftfeuchtigkeit mit Arduino misst und den Wert der aktuellen Temperatur und Luftfeuchtigkeit auf einem LCD-Display anzeigt
Wie erstelle ich eine Raspberry Pi Wetterstation – wikiHow

So erstellen Sie eine Raspberry Pi-Wetterstation: In diesem Tutorial werde ich den Prozess der Installation eines SenseHAT durchgehen und den Code importieren, der erforderlich ist, um diesen SenseHAT in eine voll funktionsfähige Wetterstation zu verwandeln, die Temperatur, Druck und Luftfeuchtigkeit aufzeichnen kann