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

08/2019
Smarte Hacks

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Immer der Reihe nach

    Mit einer einfachen Schaltung testen Sie Bausteine, die über den SPI-Bus miteinander kommunizieren.

  • Einzigartig

    Eine MAC-Adresse ermöglicht die Kommunikation im Netzwerk. Der 24AA02E48 liefert sie für Setups, die aus grundlegenden Komponenten bestehen.

  • Steinkuchen

    Der Raspberry Pi hat viele Fans, doch nicht ohne Grund sehnen sich viele Anwender nach einem RasPi 4. Der Rock Pi 4 übertrumpft den RasPi 3 in Sachen Leistung um Längen und schlägt sich auch in der Praxis gut.

  • Kerngeschäft

    Der Einstieg in die Welt der Mikrocontroller fällt nicht ganz leicht. Mit dem Nucleo F401RE haben Sie jedoch ein Entwicklerboard samt abgestimmter Entwicklungsumgebung an der Hand.

  • Himbeer-Geräte

    Mit Maus und Tastatur im weiß-roten Raspberry-Look macht die Raspberry Pi Foundation das eigene Angebot an Peripheriegeräten für den Mini-Rechner komplett.

  • Unter Kontrolle

    PiCockpit ist eine speziell auf den RasPi zugeschnittene Online-Monitoring-Lösung. Wir werfen einen ersten Blick auf den brandneuen und in Ausbau befindlichen kostenlosen Dienst.

  • Ins rechte Licht gesetzt

    Selbst ohne eigenen Garten holen Sie sich Pflanzen mithilfe von LEDs in jeden Raum und sehen ihnen mit dem RasPi beim Wachsen zu.

  • Helligkeit nach Maß

    Wer bei wechselnden Lichtverhältnissen nicht ständig die Beleuchtung manuell nachregeln möchte, der spannt dafür einen PiXtend ein.

  • Geschrumpft

    Kleine Bildschirme gibt es zwar viele, aber der Support von Raspbian ist überraschend schlecht. Mit ein paar Tricks erzielen Sie trotzdem ein optimales Ergebnis.

  • Brüllwürfel

    Kompakt-Stereoanlagen mit CD-Spieler und Kassettendeck sind inzwischen oft ein Fall für den Recyclinghof – oder für die digitale Wiederbelebung mit einem RasPi und etwas Geschick.