Arduino-Code und Video für einen Aosong AM2320 digitalen Temperatur- und Luftfeuchtigkeitssensor

Arduino-Code und Video für einen Aosong AM2320 digitalen Temperatur- und Luftfeuchtigkeitssensor

In diesem Tutorial werden wir erkunden, wie man den digitalen Temperatur- und Luftfeuchtigkeitssensor Aosong AM2320 mit dem Arduino verwendet. Dieser Sensor kommuniziert über I2C und ermöglicht es uns, die Temperatur in Celsius oder Fahrenheit sowie die Luftfeuchtigkeit in Prozent zu lesen. Am Ende dieses Tutorials wirst du in der Lage sein, ein einfaches Projekt zu bauen, das diese Messwerte im seriellen Monitor anzeigt.

Der AM2320-Sensor ist kompakt und liefert zuverlässige Daten sowohl zur Temperatur als auch zur Luftfeuchtigkeit. Er hat eine Auflösung von 0.1°C für die Temperatur und einen Feuchtigkeitsbereich von 0-99%. Die Einrichtung umfasst das Verdrahten des Sensors mit dem Arduino und das Schreiben einiger Zeilen Code, um die Sensorwerte zu lesen und anzuzeigen. Dieses Video-Tutorial bietet eine Schritt-für-Schritt-Anleitung, einschließlich Verdrahtungs- und Codebeispielen (im Video bei 00:00).

Hardware erklärt

Das Hauptbauteil dieses Projekts ist der Aosong AM2320-Sensor. Er arbeitet über I2C-Kommunikation, was den Anschluss vereinfacht, da nur zwei Datenleitungen (SDA und SCL) sowie Versorgungsspannung und Masse benötigt werden. Der Sensor misst die Temperatur im Bereich von −40 °C bis +80 °C mit einer Genauigkeit von ±0,5 °C und die Luftfeuchtigkeit von 0 % bis 99 % mit ähnlicher Genauigkeit. Der Sensor ist für einen sehr niedrigen Energieverbrauch ausgelegt, weshalb er sich für batteriebetriebene Geräte eignet.

Außerdem verfügt das AM2320-Modul über Pull-up-Widerstände, die für die I2C-Kommunikation erforderlich sind und die Signale auf den SDA- und SCL-Leitungen stabilisieren. Diese Eigenschaft vereinfacht die Verkabelung, da Sie keine externen Pull-up-Widerstände hinzufügen müssen.

Details zum Datenblatt

HerstellerAosong
TeilenummerAM2320
Logik-/I/O-Spannung3,1 bis 5,5 V
Versorgungsspannung3,1 bis 5,5 V
Temperaturbereich-40 bis +80 °C
Feuchtigkeitsbereich0 bis 99 %
Auflösung (Temperatur)0,1 °C
Auflösung (Luftfeuchtigkeit)0,1 %
Genauigkeit (Temperatur)±0,5 °C
Genauigkeit (Luftfeuchtigkeit)±3 %
PaketModul

  • Sorgen Sie für eine korrekte Spannungsversorgung (3.1 bis 5.5 V).
  • Verwenden Sie Pull-up-Widerstände (typischerweise 4,7 kΩ) für die SDA- und SCL-Leitungen.
  • Halten Sie die Temperatur im Bereich von -40 °C bis +80 °C, um Schäden zu vermeiden.
  • Die Feuchtigkeitsmesswerte sind im Bereich von 0 % bis 99 % genau.
  • Überwachen Sie während der Messungen auf Fehlercodes (z. B. Sensor offline).

Verdrahtungsanleitung

Arduino wiring for AM2320 sensor
Arduino wiring for AM2320 sensor

Um den AM2320-Sensor mit dem Arduino zu verdrahten, gehen Sie diese Schritte sorgfältig durch. Zuerst verbinden Sie die Stromanschlüsse: der äußerste linke Pin des AM2320 wird mit den 5V des Arduino (oder VCC) verbunden, während der GND-Pin mit dem GND des Arduino verbunden wird. Der zweite Pin von links (SDA) wird mit dem analogen Pin A4 beim Arduino Uno oder A20 beim Arduino Mega verbunden. Der dritte Pin (SCL) geht zu A5 beim Arduino Uno oder A21 beim Arduino Mega.

Außerdem müssen Sie einen 4.7 kΩ-Widerstand vom SDA-Pin zur 5V-Leitung und einen weiteren 4.7 kΩ-Widerstand vom SCL-Pin zur 5V-Leitung anschließen. Dies gewährleistet eine ordnungsgemäße I2C-Kommunikation. Wenn Sie andere Arduino-Modelle wie das Leonardo verwenden, sind die SDA- und SCL-Pins ebenfalls A4 bzw. A5.

Codebeispiele & Schritt-für-Schritt-Anleitung

Werfen wir einen Blick auf einige wichtige Teile des in diesem Projekt verwendeten Arduino-Codes. Zuerst initialisieren wir den Sensor und richten die serielle Kommunikation ein:

#include 
AM2320 sensor;

void setup() {
  Serial.begin(9600);
  sensor.begin();
}

In diesem Codeausschnitt binden wir die notwendige Bibliothek mit#include <AM2320.h>und erstellen eine Instanz des Sensors. Dersetup()Die Funktion initialisiert die serielle Kommunikation mit 9600 Baud und startet den Sensor.

Als Nächstes haben wir die Hauptschleife, die die Temperatur und Luftfeuchtigkeit ausliest:

if (sensor.measure()) {
    Serial.print("Temperature: ");
    Serial.print(temp('C'));
    Serial.print(" C, Humidity: ");
    Serial.print(sensor.getHumidity());
    Serial.println("%");
}

Dieser Code prüft, ob die Sensormessung erfolgreich war. Falls ja, gibt er die Temperatur in Grad Celsius und die Luftfeuchtigkeit in Prozent auf dem seriellen Monitor aus. Dertemp('C')Die Funktion wird aufgerufen, um die Temperatur in Grad Celsius abzurufen. Wenn Sie Fahrenheit möchten, können Sie sie aufrufen.temp('F').

Demonstration / Was Sie erwartet

Wenn Sie das Programm ausführen, sollten Sie im seriellen Monitor alle 0,5 Sekunden aktualisierte Temperatur- und Luftfeuchtigkeitswerte sehen. Zum Beispiel könnte die Ausgabe "Temperature: 23.5 C, Humidity: 50%" anzeigen. Wenn Sie den Sensor erwärmen, sollten Sie einen Temperaturanstieg und einen Rückgang der Luftfeuchtigkeit beobachten, was seine Reaktionsfähigkeit demonstriert (im Video bei 11:15).

Video-Zeitstempel

  • 00:00- Einführung in den AM2320-Sensor
  • 01:30- Verdrahtungsanleitung
  • 03:45- Code-Durchgang
  • 05:15- Vorführung der Messwerte

Bilder

AM2320-sensor-1
AM2320-sensor-1
AM2320-sensor-2
AM2320-sensor-2
AM2320-sensor-3
AM2320-sensor-3
AM2320-sensor-4
AM2320-sensor-4
Arduino wiring for AM2320 sensor
Arduino wiring for AM2320 sensor
84-This is the Arduino code for the Aosong AM2320 digital temperature and humidity sensor.
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Datenblatt (pdf)

Fritzing-Datei