Teil 6: Temperatur und Luftfeuchte messen mit dem AM2321

© Sebastian Duda, 123RF

Wetterfrosch

Beim AM2321 handelt es sich um einen Sensor zum Messen der Temperatur und der Luftfeuchtigkeit. Er meldet sich am I2C-Bus unter der Adresse 0xB8h. Da es keine Möglichkeit gibt, eine andere Adresse einzustellen, können Sie immer nur einen dieser Sensoren an einem I2C-Bus betreiben. Der Baustein akzeptiert eine Betriebsspannung von 2,6 bis 5,5 Volt, die maximale Stromaufnahme liegt bei 0,5 Milliampere. Der Temperaturmessbereich reicht von -40 bis +80 Grad Celsius bei einer Toleranz von ±0,5 Grad Celsius, die Luftfeuchte misst der AM2321 in einem Bereich von 0 bis 99,9 Prozent mit einer Genauigkeit von maximal 3 Prozent [1]. Der Baustein ist etwas schwierig zu beschaffen, keiner der großen deutschen Versender führt ihn im Sortiment. Zum Glück gibt es genau auf diese Komponenten spezialisierte Online-Shops [2].

Luftfeuchtigkeit

Die Luftfeuchte gibt an, wie viel Prozent der Umgebungsluft aus Wasserdampf bestehen. In Wohnräumen sollte der entsprechende Wert zwischen 40 und 50 Prozent betragen. Eine zu niedrige Luftfeuchte kann die Schleimhäute schädigen und dadurch zu einer verringerten Atemleistung führen. Steigt die Luftfeuchtigkeit auf über 80 Prozent, besteht dagegen die akute Gefahr der Schimmelbildung.

Warme Luft kann mehr Feuchtigkeit aufnehmen als kalte Luft. Daher kondensiert beispielsweise die Luft in Kühlschränken und das Wasser läuft auf das warme Kühlaggregat ab, wo es dann wieder verdunstet. Wärmebrücken in Gebäuden erweisen sich als problematisch, weil die Luftfeuchtigkeit an diesen Stellen kondensiert und sich dort Schimmel bildet.

Hardware

Ein Testaufbau mit dem AM2321 fällt recht einfach aus, wie Abbildung 1 zeigt. Der AM2321 weist nur vier Anschlüsse auf, deren Belegung die Tabelle "AM2321: Anschlussbelegung" aufführt. Weil der AM2321 ein Rastermaß von 1,27 Millimeter aufweist, löten Sie ihn am besten auf eine Adapterplatine für ein SO8-Gehäuse, sodass Sie ihn einfach in unser Prototyping-Board stecken und mit ihm arbeiten können. Der AM2321 arbeitet intern mit 32 Registern. Allerdings sind die meisten davon reserviert und daher für unsere Zwecke unwichtig. Die Tabelle "AM2321: Registerbelegung" zeigt die interessanten Registeradressen und deren Funktion.

Abbildung 1: Der Versuchsaufbau mit dem AM2321 und der SO8-Adapterplatine.

AM2321: Anschlussbelegung

Pin

Belegung

1

VDD

2

SDA

3

GND

4

SCL

AM2321: Registerbelegung

Adresse

Beschreibung

0x00

Luftfeuchtigkeit (High Byte)

0x01

Luftfeuchtigkeit (Low Byte)

0x02

Temperatur (High Byte)

0x03

Temperatur (Low Byte)

0x0B

Geräte-ID Bit 24-31

0x0C

Geräte-ID Bit 16-23

0x0D

Geräte-ID Bit 8-15

0x0E

Geräte-ID Bit 0-7

Der AM2321 verfügt über einen Energiesparmodus, der verhindern soll, dass die vom Halbleiter selbst erzeugte Wärme die Messwerte verfälscht. Die eigentlich gute Idee erschwert aber den praktischen Umgang mit dem Baustein: Sie müssen den Sensor immer erst wecken, bevor Sie auf ihn zugreifen können. Das Tool I2cdetect kommt mit diesem Verhalten nicht sonderlich gut zurecht. Auch Ihre Testprogramme müssen auf diesen Umstand Rücksicht nehmen.

Um eine sichere Übertragung der Messwerte zu gewährleisten, übermittelt der AM2321 mit jeder Messung eine CRC-Checksumme. Bei Versuchen unter Laborbedingungen können Sie diese getrost ignorieren: Sie ist für den Fall gedacht, dass Sie den Sensor an eine sehr lange Leitung anschließen. Der AM2321 unterstützt zwei Funktionscodes, von denen wir nur die 0x03h verwenden: Die entsprechende Funktion ermöglicht das einfache Lesen mehrerer Bytes ab einer Startadresse.

Software

In den letzten Teilen der I2C-Reihe kamen oft C und Perl zum Einsatz, einmal sogar ein Kernel-Modul. Seit es den Raspberry Pi 2 gibt, macht es wieder erheblich mehr Spaß, Java zu verwenden. Die Programmbeispiele im Folgenden laufen aber auch auf einem RasPi der ersten Generation.

Bevor Sie loslegen, aktivieren Sie erst einmal den I2C-Treiber mithilfe von Raspi-config. Unter 8 Advanced Options findet sich der Unterpunkt A7 I2C, bei dem Sie einfach alle Fragen mit "Ja" beantworten. Nach dem anschließenden Neustart, den das Tool automatisch anstößt, sollten die nötigen Treiber vorhanden sein.

Allerdings klappt die Treiberinstallation nicht immer ganz reibungslos: Speziell auf dem RasPi 2 sind noch einige manuelle Schritte erforderlich, um die Treiber beim Booten zu laden. Falls die Datei /etc/modprobe.d/raspi-blacklist.conf auf dem System existiert, müssen Sie dort die Zeile blacklist i2c-bcm2708 mit einer vorangestellten Raute (#) auskommentieren. Danach ergänzen Sie in der Datei /etc/modules die folgenden beiden Zeilen, falls die entsprechenden Einträge noch fehlen:

i2c-bcm2708
i2c-dev

Zu guter Letzt fügen Sie beim Raspberry Pi 2 noch in der Datei /boot/config.txt die Zeile dtparam=i2c_arm=on hinzu. Nach diesen Arbeiten starten Sie den RasPi 2 neu, der nun die gewünschten Treiber automatisch lädt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

10/2019
Raspberry Pi 4B

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Sonnige Zeiten

    UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

  • Gut verpackt

    Für das Ansteuern kleiner Displays gibt es keine Programme von der Stange. Mit Python und einer Pygame-Bibliothek erstellen Sie trotzdem im Handumdrehen Anwendungen.

  • Macro-Mini-Micro-Bit

    Was dem Raspberry Pi für die Computerwelt gelungen ist, versucht der BBC Micro:bit für Mikrocontroller zu wiederholen. Das für Schüler entwickelte Kit hilft beim Einstieg in die hardwarenahe Programmierung.

  • Vorhang auf

    Mit dem modernen Video-Codec HEVC (H.265) erstellte Filme spielen bisherige RasPi-Modelle oft nur ruckelnd ab. Wir testen, ob der neue Raspberry Pi 4B das besser kann.

  • Überraschung!

    Eine optimierte Architektur und mehr RAM beschleunigen den RasPi 4B deutlich. Wir prüfen, wie gut sich der Neuling als Desktop-Rechner schlägt.

  • Durchgestartet

    Ein Stresstest zeigt, wie sich der neue Raspberry Pi 4 Modell B gegenüber den älteren Modellen abhebt.

  • Vierte Generation

    Eine schnellere CPU, USB 3.0 und Gigabit-Ethernet sind nur die Highlights des Raspberry Pi 4B: Das Board bringt viele weitere Neuerungen mit.

  • Tiefenmesser

    Um die Pumpe in einem Brunnenschacht möglichst genau zu positionieren, brauchen Sie dessen Tiefe. Die ermitteln Sie mithilfe eines präzisen Messgeräts aus einem Luftdrucksensor und einem Mikrocontroller.

  • Faktencheck

    Das via DVB-T2 ausgestrahlte Digital-TV liefert Bilder in HD-Qualität. Der dabei eingesetzte H.265-Standard überfordert allerdings kleine Mini-Rechner wie den Raspberry Pi – oder geht es doch?

  • Zugriff von außen

    React Native erlaubt es, Apps mit wenigen Zeilen Code zu programmieren. Mit einem entsprechenden Server sprechen Sie so den RasPi vom Smartphone aus an.