Inhaltsverzeichnis:

Temperatur und Luftfeuchtigkeit von Arduino zu Raspberry Pi - Gunook
Temperatur und Luftfeuchtigkeit von Arduino zu Raspberry Pi - Gunook

Video: Temperatur und Luftfeuchtigkeit von Arduino zu Raspberry Pi - Gunook

Video: Temperatur und Luftfeuchtigkeit von Arduino zu Raspberry Pi - Gunook
Video: Temperatur und Luftfeuchtigkeit Sensor Test mit dem DHT11 / DHT22 und dem BME280. | #EdisTechlab 2024, November
Anonim
Temperatur & Luftfeuchtigkeit von Arduino bis Raspberry Pi
Temperatur & Luftfeuchtigkeit von Arduino bis Raspberry Pi

Die Überwachung von Temperatur und Luftfeuchtigkeit ist wichtig, wenn Sie ein Gewächshaus haben oder in Zukunft planen, Ihr Gewächshaus in eine Mini-Smart-Farm aufzurüsten.

Für mein erstes Instructable werde ich zeigen, wie man einen Prototyp erstellt:

  • Verbinden Sie einen DHT11 Temperatur- und Feuchtigkeitssensor mit einem Arduino Mega 2560
  • Programmieren Sie den Arduino in C, um die Sensordaten zu lesen
  • Anzeige von Temperatur- und Feuchtigkeitsdaten auf einem LCD, das mit dem Arduino verbunden ist
  • Weisen Sie den Arduino an, die Sensordaten an einen Raspberry Pi 3 Model B+ zu senden
  • Code in Python schreiben, um die Sensordaten anzuzeigen

Warum ein RPi und Arduino zusammen verwenden?

Die Arduino- und RPi-Verbindung kann großartige Funktionen ermöglichen, wenn Sie E / A benötigen, in denen sich das Arduino auszeichnet, und Netzwerkkommunikation / Multithreading / Visuals, in denen das RPi viel besser ist.

Mit anderen Worten, wir verwenden den Arduino für steuerungsintensive Aufgaben und den RPi für rechenintensive Aufgaben.

Ruggedized-Versionen von Arduinos sind bei Rugged-Circuits erhältlich

Schritt 1: Arduino & RPi Hardware bekommen

Arduino-Starterkits sind leicht erhältlich und ermöglichen es Ihnen, mit verschiedenen Arten von Sensoren und Geräten zu experimentieren. Der Kauf eines Starter-Kits ist günstiger, als verschiedene Teile separat zu bestellen. Ich habe unten einige Affiliate-Links angegeben, die auf Banggood und Amazon US verweisen.

Arduino-Starter-Kit (Banggood)

Arduino-Starter-Kit (Amazon USA)

Element14 RPi 3 B+ Mainboard (Amazon USA)

Raspberry Pi 3 B+ Gehäuse (Amazon US)

32 GB Micro-SD-Karte (Amazon USA).

Schritt 2: Verbinden Sie das DHT11 & LCD mit dem Arduino

Verbinden Sie das DHT11 & LCD mit dem Arduino
Verbinden Sie das DHT11 & LCD mit dem Arduino

Schritt 3: Programmieren Sie das Arduino

#arduino-dht11-lcd2004

#Autor: Vasoo Veerapen

#https://www.instructables.com/member/VasooV/ # Liest Daten von einem DHT11, der mit einem Arduino verbunden ist, zeigt auf einem LCD2004 an und sendet Daten über seriell an Raspberry Pi

#enthalten

#enthalten

//LCD-Anzeige ist als Gerätenummer 0x27 auf dem I2C-Bus definiert

LiquidCrystal_I2C lcd(0x27, 20, 4);

// DHT11 ist mit Pin 8 verbunden

dht-DHT; #define sensorPin 8

// Himbeer-Pi ist mit Serial 0 verbunden

#define serialPi Serial

Leere Einrichtung () {

lcd.begin(20, 4); // Initialisiert die Schnittstelle zum LCD-Bildschirm und gibt die Abmessungen (Breite und Höhe) des Displays an lcd.init(); LCD-Rücklicht(); serialPi.begin(9600); // Arduino zum seriellen Monitor}

Leere Schleife () {

// Sensordaten lesen

int sensorData = DHT.read11(sensorPin); Schwimmertemperatur = DHT. Temperatur; Schwebefeuchte = DHT. Feuchte;

//Drucktemperatur

lcd.setCursor(0, 0); lcd.print("Temperatur"); lcd.print (Temperatur); lcd.print("C");

//Druckfeuchtigkeit

lcd.setCursor(0, 1); lcd.print("Luftfeuchtigkeit"); lcd.print (Luftfeuchtigkeit); lcd.print(" %");

// Temperatur- und Luftfeuchtigkeitsdaten an Raspberry Pi senden

serialPi.print("");

// 10 Sekunden warten

Verzögerung (10000); }

Schritt 4: Das funktionierende Arduino-, LCD- und DHT11-Setup

Das funktionierende Arduino-, LCD- und DHT11-Setup
Das funktionierende Arduino-, LCD- und DHT11-Setup

Schritt 5: Verbinden Sie den Raspberry Pi mit dem Arduino

Verbinden Sie den Raspberry Pi mit dem Arduino
Verbinden Sie den Raspberry Pi mit dem Arduino

Schritt 6: RPi Python-Code zum Lesen der seriellen Daten des USB-Ports

#rpi-arduino-dht11

#Raspberry Pi liest Temperatur- und Feuchtigkeitssensordaten von Arduino

Importieren Sie Seriennummer, Zeichenfolge, Zeit

#In diesem Beispiel wird /dev/ttyUSB0 verwendet

#Dies kann sich in Ihrem Fall in /dev/ttyUSB1, /dev/ttyUSB2 usw. ändern. ser = serial. Serial('/dev/ttyUSB0', 9600)

#Der folgende Codeblock funktioniert wie folgt:

#Wenn serielle Daten vorhanden sind, lesen Sie die Zeile, decodieren Sie die UTF8-Daten, #…entfernen Sie die nachgestellten Zeilenendezeichen #…unterteilen Sie die Daten in Temperatur und Feuchtigkeit #…entfernen Sie die Start- und Endzeiger () #…drucken Sie die Ausgabe während True: if ser.in_waiting > 0: rawserial = ser.readline() cookserial = rawserial.decode('utf-8').strip('\r\n') datasplit = gekochtserial.split(', ') temperature = datasplit[0].strip('') print(temperatur) print(Luftfeuchtigkeit)

Empfohlen: