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
ESP32 WROOM32-Modul

LittleFS für den ESP32 – Teil 2: Dateisystem-Tools

Der zweite Teil des Beitrags zu LittleFS auf dem ESP32 beschreibt ausführlich die Installation der Dateisystem-Tools für die Arduino-IDE. Damit kann man aus der IDE heraus ein Dateisystem so vorbereiten, dass es vorinstallierte Dateien enthält. Mit den Tools erstellt man ein Image (Abbild) des vorbelegten Dateisystems und lädt es in den Flash-Speicher des ESP32 hoch. Der Einsatz der Dateisystem-Tools ist optional; sie sind zur Nutzung der Flash-Dateisysteme nicht erforderlich.

Weiterlesen
ESP32 WROOM32-Modul

LittleFS – Dateisystem für den ESP32

LittleFS ist ein Dateisystem für den Flash-Speicher verschiedener Mikrocontroller. Auf den ESP-Controllern soll es die Nachfolge des weit verbreiteten SPIFFS antreten. Es bietet einige Vorteile wie echte Verzeichnisse, höhere Geschwindigkeit und bessere Stabilität, insbes. wenn das Dateisystem relativ voll ist. Ein Nachteil von LittleFS ist der höhere Platzbedarf kleiner Dateien – die minimale Sektorgröße ist 4 KB statt 256 Bytes bei SPIFFS. LittleFS speichert aber mehrere kleine Dateien in einem einzigen Sektor, um den Platzverbrauch zu reduzieren.

Weiterlesen
ESP32 Pico und DevKitC

ESP32: Programmkonfiguration speichern mit der Preferences-Bibliothek

Mit den Funktionen der Bibliothek »Preferences« kann man im Flash-Speicher des ESP32 Daten zur Programm-Konfiguration ablegen, z.B. die WLAN-Zugangsdaten, aber auch Daten des laufenden Programms. So kann man im Fall eines Neustarts, z.B. nach einem Ausfall der Versorgungsspannung oder einem Absturz des ESP32, einen früheren Programmzustand wiederherstellen. Außerdem muss man die Daten nicht in jedem Programm angeben, das sie nutzen soll; insbes. Passwörter kann man so aus den Quelltexten heraushalten.
Die Preferences-Bibliothek gehört zu den Standard-Bibliotheken des ESP32 in der Arduino-IDE. Sie nutzt zum Speichern der Daten einen kleinen Teil des auf dem ESP32 integrierten Flash-Speichers, den sog. NVS (non volatile storage).

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