Inhaltsverzeichnis:
- Schritt 1: Was Sie brauchen
- Schritt 2: Schaltung - Sender
- Schritt 3: Schaltung - Empfänger
- Schritt 4: Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus
- Schritt 5: Sender - in Visuino Komponenten hinzufügen, einstellen und verbinden
- Schritt 6: Empfänger - in Visuino Komponenten hinzufügen und einstellen
- Schritt 7: Empfänger - in Visuino Connect-Komponenten
- Schritt 8: Generieren, Kompilieren und Hochladen des Arduino-Codes
- Schritt 9: Spielen
Video: HC-12 Wetterstation mit großer Reichweite und DHT-Sensoren - Gunook
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
In diesem Tutorial lernen wir, wie man mit zwei dht-Sensoren, HC12-Modulen und dem I2C-LCD-Display eine Fernwetterstation für große Entfernungen erstellt.
Schau das Video!
Schritt 1: Was Sie brauchen
- 2X HC-12-Modul
- I2C-LCD-Anzeige 4X20
- 2 DHT-Sensoren (In unserem Projekt verwenden wir DHT11, DHT22)
- 2X Arduino UNO (oder ein anderes Arduino)
- Steckbrett
- Überbrückungsdrähte
- Visuino-Software: Visuino herunterladen
Schritt 2: Schaltung - Sender
- Verbinden Sie den HC-12-Pin [VCC] mit dem Arduino-Pin [5V]
- Verbinden Sie den HC-12-Pin [GND] mit dem Arduino-Pin [GND]
- Verbinden Sie den HC-12-Pin [TX] mit dem Arduino-Pin [RX]
- Verbinden Sie den HC-12-Pin [RX] mit dem Arduino-Pin [TX]
- Verbinden Sie den DHT22 (oder einen anderen DHT-Sensor) Pin Out mit Arduino Digital Pin 3
- Verbinden Sie den DHT22-Pin VCC (+) mit dem Arduino-Pin 5V
- Verbinden Sie den DHT22-Pin GND(-) mit dem Arduino-Pin GND
Hinweis: Stellen Sie sicher, dass Sie den Arduino-Pin [RX] trennen, wenn Sie den Code in Visuino hochladen, und nach dem Hochladen wieder anschließen.
Schritt 3: Schaltung - Empfänger
- Verbinden Sie den HC-12-Pin [VCC] mit dem Arduino-Pin [5V]
- Verbinden Sie den HC-12-Pin [GND] mit dem Arduino-Pin [GND]
- Verbinden Sie den HC-12-Pin [TX] mit dem Arduino-Pin [RX]
- Verbinden Sie den HC-12-Pin [RX] mit dem Arduino-Pin [TX]
- Verbinden Sie den LCD-Display-Pin [VCC] mit dem Arduino-Pin [5V]
- Verbinden Sie den LCD-Display-Pin [GND] mit dem Arduino-Pin [GND]
- Verbinden Sie den LCD-Display-Pin [SDA] mit dem Arduino-Pin [SDA]
- Verbinden Sie den LCD-Display-Pin [SCL] mit dem Arduino-Pin [SCL]
- Verbinden Sie den DHT11 (oder einen anderen DHT-Sensor) mit dem Arduino Digital Pin 2
- Verbinden Sie den DHT11-Pin VCC (+) mit dem Arduino-Pin 5V
- Verbinden Sie den DHT11-Pin GND (-) mit dem Arduino-Pin GND
Hinweis: Stellen Sie sicher, dass Sie den Arduino-Pin [RX] trennen, wenn Sie den Code in Visuino hochladen, und nach dem Hochladen wieder anschließen.
Schritt 4: Starten Sie Visuino und wählen Sie den Arduino UNO-Board-Typ aus
Das Visuino: https://www.visuino.eu muss ebenfalls installiert werden. Laden Sie die kostenlose Version herunter oder registrieren Sie sich für eine kostenlose Testversion.
Starten Sie Visuino wie im ersten Bild gezeigt Klicken Sie auf die Schaltfläche "Tools" auf der Arduino-Komponente (Bild 1) in Visuino Wenn der Dialog erscheint, wählen Sie "Arduino UNO" wie in Bild 2 gezeigt
Schritt 5: Sender - in Visuino Komponenten hinzufügen, einstellen und verbinden
- Komponente "Pulsgenerator" hinzufügen und im Eigenschaftenfenster die Frequenz auf 5Hz einstellen
- Fügen Sie die Komponente "Feuchte und Thermometer DHT11/21/22/AM2301" hinzu und wählen Sie im Eigenschaftenfenster den Typ aus, in unserem Fall DHT22
- Fügen Sie "Analog To Analog Array" hinzu und setzen Sie im Eigenschaftenfenster Input Pins auf 2
- Fügen Sie die Komponente "Paket" hinzu, doppelklicken Sie darauf und ziehen Sie im Elements-Fenster "Analog Array" auf die linke Seite, dann schließen Sie das Elements-Fenster.
- Verbinden Sie PulseGenerator1 Pin Out mit HumidityThermometer1 Pin Clock und Packet1 Pin Clock
- Verbinden Sie den FeuchteThermometer1 Pin Sensor mit dem Arduino Digital Pin 3
- Verbinden Sie FeuchteThermometer1 Pin Temperatur mit AnalogToAnalogArray1 Pin[0] und Pin Clock
- Verbinden Sie HumidityThermometer1 Pin Humidity mit AnalogToAnalogArray1 Pin[1] und Pin Clock
- Verbinden Sie AnalogToAnalogArray1 mit Packet1 > Analog Array1 Pin In
- Verbinden Sie Packet1 Pin Out mit Arduino Serial[0] Pin In
Schritt 6: Empfänger - in Visuino Komponenten hinzufügen und einstellen
- Komponente "Pulsgenerator" hinzufügen und im Eigenschaftenfenster die Frequenz auf 5. einstellen
- Fügen Sie die Komponente "Feuchte und Thermometer DHT11/21/22/AM2301" hinzu und legen Sie im Eigenschaftenfenster Typ (in unserem Fall DHT11) fest.
- Fügen Sie die Komponente "Liquid Crystal Display (LCD) - I2C" hinzu und setzen Sie im Eigenschaftenfenster Spalten auf 20, Zeilen auf 4
- Doppelklicken Sie auf "LiquidCrystalDisplay1" und ziehen Sie im Elements-Fenster "Text Field" auf die linke Seite und setzen Sie im Eigenschaftenfenster die Breite auf 20
- Ziehen Sie im Fenster Elemente ein weiteres "Textfeld" auf die linke Seite und setzen Sie im Eigenschaftenfenster Zeile auf 1 und Breite auf 20
- Ziehen Sie im Fenster Elemente ein weiteres "Textfeld" auf die linke Seite und setzen Sie im Eigenschaftenfenster Zeile auf 2 und Breite auf 20
- Ziehen Sie im Fenster Elemente ein weiteres "Textfeld" auf die linke Seite und setzen Sie im Eigenschaftenfenster Zeile auf 3 und Breite auf 20
- Schließen Sie das Elements-Fenster
Fügen Sie die 4X-Komponente "Formatierter Text" hinzu und setzen Sie für jeden im Eigenschaftenfenster Text auf: %0 %1
- Doppelklicken Sie auf "FormattedText1" und ziehen Sie im Elements-Fenster "Text Element" auf die linke Seite und setzen Sie im Eigenschaftenfenster Initial Value auf: Inside TEMP: Ziehen Sie im Elements-Fenster auch "Analog Element" auf die linke Seite und in im Eigenschaftenfenster Präzision auf 2 setzenSchließen Sie das Elements-Fenster
- Doppelklicken Sie auf "FormattedText2" und ziehen Sie im Elements-Fenster "Text Element" auf die linke Seite und setzen Sie im Eigenschaftenfenster den Initial Value auf: Inside HUM:Im Elements-Fenster auch "Analog Element" nach links ziehen und in das Eigenschaftsfenster Präzision auf 2 setzen Schließen Sie das Elements-Fenster
-
Doppelklicken Sie auf "FormattedText3" und ziehen Sie im Elements-Fenster "Text Element" auf die linke Seite und setzen Sie im Eigenschaftenfenster Initial Value auf: Out TEMP:Im Elements-Fenster auch "Analog Element" nach links ziehen und in das Eigenschaftenfenster stellt die Präzision auf 2. ein
Schließen Sie das Elements-Fenster
- Doppelklicken Sie auf "FormattedText4" und ziehen Sie im Elements-Fenster "Text Element" auf die linke Seite und setzen Sie im Eigenschaftenfenster Initial Value auf: Out HUM:Im Elements-Fenster auch "Analog Element" nach links ziehen und in im Eigenschaftenfenster Präzision auf 2 setzenSchließen Sie das Elements-Fenster
- Komponente "Entpacken" hinzufügen
- Doppelklicken Sie auf Unpacket1 und ziehen Sie im Elements-FensterAnalog Array auf die linke SeiteSchließen Sie das Elements-FensterSchließen Sie das Elements-Fenster
- Fügen Sie die Komponente "Analog Array To Analog" hinzu und setzen Sie im Eigenschaftenfenster die Ausgangspins auf 2
Schritt 7: Empfänger - in Visuino Connect-Komponenten
- Verbinden Sie "PulseGenerator1" Pin Out mit "HumidityThermometer1" Pin Clock
- Verbinden Sie den Pin-Sensor "HumidityThermometer1" mit dem Arduino Digital Pin 2
- Verbinden Sie "HumidityThermometer1" Pin Temperature mit "FormattedText1"> Analog Element1 Pin In und Pin Clock
- Verbinden Sie "HumidityThermometer1" Pin Humidity mit "FormattedText2"> Analog Element1 Pin In und Pin Clock
- Verbinden Sie den Arduino Serial[0] Pin Out mit dem "Unpacket1" Pin In
- Verbinden Sie "Unpacket1" > AnalogArray1pin Out mit "AnalogArrayToAnalog1" Pin In
- Verbinden Sie "AnalogArrayToAnalog1" Pin [0] mit "FormattedText3" > Analog Element1 Pin In und Pin Clock
- Verbinden Sie "AnalogArrayToAnalog1" Pin [1] mit "FormattedText4" > Analog Element1 Pin In und Pin Clock
- Verbinden Sie "FormattedText1" Pin Out mit "LiquidCrystalDisplay1"> Text Field1 Pin In
- Verbinden Sie "FormattedText2" Pin Out mit "LiquidCrystalDisplay1"> Text Field2 Pin In
- Verbinden Sie "FormattedText3" Pin Out mit "LiquidCrystalDisplay1"> Text Field3 Pin In
- Verbinden Sie "FormattedText4" Pin Out mit "LiquidCrystalDisplay1"> Text Field4 Pin In
- Verbinden Sie "LiquidCrystalDisplay1" Pin I2C Out mit Arduino Pin I2C In
Schritt 8: Generieren, Kompilieren und Hochladen des Arduino-Codes
Sowohl für Sender als auch für Empfänger:
Klicken Sie in Visuino unten auf die Registerkarte "Build", stellen Sie sicher, dass der richtige Port ausgewählt ist, und klicken Sie dann auf die Schaltfläche "Compile/Build and Upload".
Sehr wichtig! Stellen Sie sicher, dass während des Hochladens des Codes Pin RX auf dem Arduino getrennt ist und nach dem Hochladen wieder anschließen.
Schritt 9: Spielen
Wenn Sie beide Arduino UNO-Module mit Strom versorgen, zeigt das Display des Empfängers die Temperatur und Luftfeuchtigkeit von beiden Sensoren an. Sie können den Sender nach draußen stellen und die Innen- und Außentemperatur überwachen.
Herzliche Glückwünsche! Sie haben Ihr Projekt mit Visuino abgeschlossen. Ebenfalls beigefügt ist das Visuino-Projekt, das ich für dieses Instructable erstellt habe. Sie können es herunterladen und in Visuino öffnen: