Für dieses Projekt benötigst du
Der AM2120-Sensor ist ein Sensor zur Messung von Temperatur und Luftfeuchtigkeit. In diesem Artikel werden wir zeigen, wie man den Sensor mit einem Arduino Mikrocontroller verwenden kann, um genaue Umgebungsdaten zu erfassen.
Verkabelung
Wir verbinden den AM2120-Sensor mit dem Arduino. Die Datenleitung des Sensors wird an Pin5 des Funduino UNO Mikrocontrollers angeschlossen.
Bei diesem Sensor ist das anders! Wir verbinden das gelbe Kabel, mit 3.3V und das Schwarze mit GND. Das rote Kabel ist in unserem Fall die Datenleitung. Um den korrekten Anschluss zu prüfen, sollte man sich den Sensor ansehen und die Kontakte bis zum Kabel verfolgen. Die korrekte Anschlussweise sieht laut Datenblatt so aus:
Vollständig verkabelt sieht unser Aufbau mit dem Arduino UNO folgendermaßen aus
Für die Programmierung des Sensors wird eine Programmbibliothek benötigt. Der Sensor ist dabei kompatibel mit der DHT Library. Sollte diese bisher nicht in der Arduinosoftware hinterlegt sein, kann diese über den Librarymanager hinzugefügt werden.
Sketch
#include "DHT.h"
#define pinDHT 5 // Sensor Pin
DHT dht(pinDHT, DHT22); //Erstellen eines Sensors aus der Bibliothek,mit Einstellung des Typs DHT22, der dieselbe Kommunikationsart wie der AM2120 verwendet
void setup()
{
Serial.begin(9600); //Initialisierung der seriellen Kommunikation
dht.begin(); //Start der Kommunikation mit dem DHT-Sensor
}
void loop()
{
float temperatur = dht.readTemperature(); //Temperatur in eine Variable einlesen
float luftfeuchtigkeit = dht.readHumidity(); //Luftfeuchtigkeit in eine Variable einlesen
//Überprüfen, ob die gelesenen Werte gültig sind, mit Hilfe der isnan-Funktion
if (isnan(temperatur) || isnan(luftfeuchtigkeit)) //Bei fehlerhaftem Lesen eine Fehlermeldung ausgeben
{
Serial.println("Fehler beim Lesen des Sensors");
delay(800);
return;
}
//über die serielle Schnittstelle die Messwerte ausgeben
Serial.print("Temperatur: ");
Serial.print(temperatur);
Serial.print(" Grad Celsius, ");
Serial.print("Luftfeuchtigkeit: ");
Serial.print(luftfeuchtigkeit);
Serial.println("% RH.");
delay(800);
}
Funduino - Dein Onlineshop für Mikroelektronik
-
Dauerhaft bis zu 10% Rabatt für Schüler, Studenten und Lehrkräfte
-
Mehr als 3.500 Artikel sofort verfügbar!
-
Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.