Der Si7021 Temperatur- und Luftfeuchtesensor stellt eine Alternative zum DHT 21/22 dar. Die Messgenauigkeit ist ± 3% für die relative Luftfeuchte von 0–80% RH und ± 0.4 °C für die Temperatur über einen Messbereich von -10 bis +85 °C. Die Betriebsspannung für den Si7021 selbst ist 3,3V. Es sind Platinen mit Pegelwandlung und Spannungsregler, die für 5V verwendbar sind, erhältlich. Im Gegensatz zum DHT wird der Si7021 über den I2C Bus angesteuert und belegt damit keine weiteren Ein-/Ausgänge des ATmega. Die I2C Adresse ist fest 0x40h eingestellt. Daher kann in der üblichen Verwendung nur ein Si7021 in einem System angeschlossen werden.
Bezug
Der Sensor Si7021 ist kompatibel mit allen beeloggger Varianten! |
Bild | Bezugsquelle | Preis ca. | Suchbegriffe* | Bemerkungen |
eBay | 2,50€ | Si7021 |
Beschaltung
Für den beelogger-SMD sind die 3,3V Versionen passend. Ein Betrieb mit dem beelogger-Universal ist nur mit Platinen möglich, die für den Si7021 einen Spannungregler und Pegelwandler für den I2C verbaut haben.
Arduino Uno, Nano, usw. | Si7021 |
3,3V oder 5V | VCC |
GND | GND |
A4 / SDA | SDA |
A5 / SCL | SCL |
Libraries
<Wire.h>
– in der Arduino-Software bereits enthalten.
Sketch testet Funktion des SI7021 mit diesen Bibliotheken:
<Adafruit_Si7021.h>
– https://github.com/adafruit/Adafruit_Si7021
<Si7021.h> Lib von Sorensen
Die Versionen für den beelogger sind im Library-Paket enthalten.
Achtung: Es sind GY-21-Module im Handel, die von der hier angegeben Bibliotheken und dem nachfolgenden Programmcode/Sketch nicht angesteuert werden können.
In den Multi-Sketchen sind konfigurierbar zwei verschiedene Bibliotheken enthalten.
Progammcode:
Für den Si7021 steht ein Testprogrammcode zur Verfügung. Der Si7021 wird im Sketch zyklisch mit beiden Bibliotheken abgefragt und die Werte über den seriellen Monitor ausgegeben.
Ausgabe des Test-Sketches am seriellen Monitor (9600 baud):
Si7021 Test Si7021- hole Werte: Adafruit- Bibliothek: 0 Si7021- Fehler Sorensen- Bibliothek: 1 Si7021- Temperatur: 22.15 Si7021- Feuchte: 46.00
Testprogrammcode herunterladen
Der Programmcode zum Messbetrieb für den Arduino Datenlogger mit Stockwaage für Imker ist für ATmega328 oder STM32Fxyz für unterschiedliche Konfigurationen mit bis zu vier Waagen pro System verfügbar.