Temperatursensor LM35DZ

LM35DZ – ein analoger Temperatursensor

Der LM35DZ ist ein einfacher und preisgünstiger Temperatursensor. Er misst Temperaturen zwischen 0 und 100°C und gibt die Werte analog zwischen 0 und 1 Volt aus – 1 Millivolt entspricht dabei 0,1°C. Wegen seiner Bauform TO-92 ist er dem verbreiteten DS18B20 optisch sehr ähnlich.

Weiterlesen
ADS1115-Modul auf dem Breadboard

Analogwerte messen mit dem ADS1115

Mit dem ADS1115 Breakout Board) ist es möglich, Analogwerte deutlich genauer zu messen, als es ein ESP32 oder Arduino kann. Der ADC (Analog-Digital-Konverter) misst an vier Eingängen Analogwerte mit einer Auflösung von 16 Bit und gibt die Daten per I2C-Schnittstelle an den Mikrocontroller aus. Außerdem verfügt der ADS1115 über eine bis zu 16-fache Verstärkung, differenzielle Messung und eine konfigurierbare I2C-Adresse.

Weiterlesen
Temperatursensoren im Vergleich: Aufbau auf dem Breadboard

13 Temperatursensoren im Vergleich

Mittlerweile haben sich einige Temperatursensoren für ESP32 und Arduino bei mir angesammelt. Zeit für einen Vergleich, ob die Sensoren ähnliche Werte liefern. Bei der Programmierung des CO2-Sensors MH-Z19B war aufgefallen, dass dessen Temperaturmessungen im Vergleich mehrere Grad über denen anderer Sensoren lagen. Auch die zum Vergleich genutzten Sensoren lieferten Werte, die tlw. um mehr als 1°C voneinander abwichen. Also schien ein Vergleich der Umweltsensoren mit Temperaturmessung sinnvoll. Neben sechs Exemplaren des reinen Temperatursensors DS18B20 sind DHT11 und DHT22, AM2320, SHT20, AHT20 und BMP280 Bestandteil des Vergleichs. Außer Konkurrenz lief der DS3231 – ein Echtzeituhr-Modul, bei dem die Temperaturmessung eher als Zugabe zu betrachten ist.

Weiterlesen
Arduino IDE: Bibliotheksverwaltung

Arduino-IDE: Bibliotheken verwalten

Für viele Einsatzzwecke von ESP32, Arduino und Konsorten muss man die Basisfunktionalitäten, z.B. zum Abfragen von Sensoren, nicht selbst programmieren, sondern kann auf eine Vielzahl von Bibliotheken (engl.: library, oft als lib abgekürzt) zurückgreifen. Die meisten Bibliotheken im Umfeld der offenen Arduino-Plattform stehen auf GitHub (ein Internet-Dienst zur Versionsverwaltung von Software) oder ähnlichen Plattformen unter Open-Source-Lizenzen zur Verfügung (z.B. MIT-Lizenz oder Gnu LPGL) und können über die in die Arduino-IDE integrierte Bibliotheksverwaltung installiert und aktualisiert werden. Für die meisten Einsatzzwecke gibt es mehrere Bibliotheken von verschiedenen Entwicklern mit unterschiedlichem Funktionsumfang und verschieden guter Dokumentation.

Weiterlesen
AM312 (links oben), HC-SR505 (darunter), HC-SR501 (rechts), in der Draufsicht

Miniatur-Bewegungssensoren HC-SR505, AM312 und SR602

Wie der HC-SR501 sind auch der HC-SR505, der AM312 und der SR602 pyroelektrische Infrarotsensoren (abgekürzt „PIR”). Die Sensoren sind aber deutlich kleiner als der HC-SR501 – der Durchmesser der Kunststoffkappen ist nur etwa halb so groß. Dadurch und wegen kleinerer und weniger umfangreich bestückter Platinen sind die Sensoren auf einen kürzeren Entfernungsbereich von 3 bis max. 5 Metern ausgelegt und bieten etwas weniger Funktionsmöglichkeiten: Auslösedauer und Empfindlichkeit sind fest vorgegeben, und sie unterstützen nur wiederholtes Auslösen (repeatable trigger). Dafür sind die Pins so angebracht, dass die Sensoren direkt auf einem Breadboard eingesteckt werden können. Alle Sensoren haben einen 3-Pin-Anschluss und liefern beim Erkennen einer Bewegung einen HIGH-Pegel am Ausgabepin.

Weiterlesen
Barometrischer Sensor BMP180

BMP180 und BMP280 Luftdrucksensoren

Viele kennen sicher die »Wetterstationen«, die bei Eltern oder Großeltern an der Wohnzimmerwand hingen oder noch hängen: Barometer, Hygrometer und Thermometer als analoge Instrumente. Deren Funktionen sind inzwischen in kleinen Sensoren realisiert, von denen einige zum Messen von Temperatur und Luftfeuchtigkeit hier schon vorgestellt wurden – es fehlt noch ein barometrischer Sensor wie der Bosch BMP180, um die digitale Version so einer Wetterstation mit einem Mikrocontroller aufzubauen. Er und sein Nachfolger BMP280 messen zusätzlich zum Luftdruck auch die Temperatur und bieten über die Bibliotheken Funktionen, um den gemessenen Luftdruck in den Druck auf Höhe des Meeresspiegels umzurechnen.

Weiterlesen
SHT20 Temperatur- und Luftfeuchtigkeitssensor

SHT20 Temperatur- und Luftfeuchtigkeitssensor

Der SHT20 ist ein weiterer Sensor zur Messung der Umgebungstemperatur und der relativen Luftfeuchtigkeit, den ich wegen des kleinen Preises bei einer Bestellung in China zum Ausprobieren mitbestellt habe. Der Sensor befindet sich in einem Kunststoffgehäuse mit vier Anschlusspins – vergleichbar mit dem DHT22 –, außerdem gibt es ihn auf eine kleine Platine montiert als Modul. Auf dem Modul ist lediglich eine zusätzliche rote LED samt Vorwiderstand vorhanden, die anzeigt, dass die Spannungsversorgung funktioniert. Wie der AM2320 kommuniziert der SHT20 über die I2C-Schnittstelle. Die dafür notwendigen Pull-Up-Widerstände sind bereits im Sensorgehäuse verbaut – deshalb sind sie auf der Modulplatine nicht noch einmal vorhanden.

Weiterlesen
Mit einem Widerstand kodierte I2C-Adresse (OLED-Display Typ SSD1306)

I2C-Schnittstelle am ESP32 und Arduino

I2C ist ein serieller Datenbus, über den ein Mikrocontroller mit nur zwei Steuerleitungen mehrere verschiedene Geräte gleichzeitig steuern kann – insbesondere bei Controllern mit nur wenigen I/O-Pins ein großer Vorteil, wenn nicht jedes angeschlossene Gerät eigene Anschlüsse belegt. Der Name der I2C-Schnittstelle (auch: IIC) steht für Inter-Integrated Circuit, eine andere Bezeichnung ist – wegen der beiden Steuerleitungen – Two-Wire-Interface (TWI, Zweidraht-Schnittstelle). Jede Komponente am Bus wird über ihre individuelle Adresse angesprochen. Deshalb muss diese Adresse eindeutig sein, und man kann man nicht ohne weiteres mehrere gleiche Geräte an einem Bus betreiben.

Weiterlesen
OLED-Display zur Anzeige von Werten des Sensors DHT22

OLED-Display mit Treiber-Chip SSD1306

Die monochromen SSD1306-OLED-Displays sind eine relativ günstige und stromsparende Möglichkeit, Mikrocontroller-Projekte mit einer kleinen Anzeige auszustatten. Sie verwenden den Treiberchip SSD1306 und werden per I2C-Schnittstelle gesteuert. Die Versorgungsspannung liegt zwischen 3,3 und 5 Volt, sodass sie mit Arduinos, ESP32, ESP8266 und anderen Mikrocontrollern funktionieren. Verschiedene Bibliotheken bieten neben der Darstellung von Text in mehreren Größen und Schriftarten auch Funktionen zum Zeichnen geometrischer Figuren, Bitmap-Grafiken und kleiner Animationen.

Weiterlesen
MH-Z19B: Schaltung mit ESP32

CO2-Sensor MH-Z19B

Der MH-Z19B ist ein CO2-Sensor, mit dem man eine CO2-Ampel selbst realisieren kann. Durch die Corona-Pandemie (COVID-19) sind zur Messung der Luftqualität in Räumen, die von mehreren Personen gleichzeitig benutzt werden, vermehrt CO2-Sensoren im Einsatz (z.B. in Klassenräumen in Schulen). Der CO2-Wert gibt einen Hinweis darauf, wie „verbraucht” die Luft ist – indirekt wird daraus auf das mögliche Ansteckungsrisiko durch in der Raumluft schwebende Aerosole mit COVID19-Erregern geschlossen. Die Sensoren sind oft in Form von CO2-Ampeln im Einsatz und signalisieren, wann es erforderlich ist, den Raum zu lüften. Der Beitrag zeigt, was es beim Einsatz des MH-Z19B zu beachten gilt.

Weiterlesen