BH1750 mit Kabel und GY-302

Lichtsensor BH1750

Der BH1750 ist ein Sensor zum Messen der Stärke des Umgebungslichts. Er misst die Beleuchtungsstärke in Lux und gibt die Werte digital über den I2C-Bus an einen Mikrocontroller aus. Er ist für die Nutzung mit Arduino & Co. meist in zwei Varianten zu finden: als Modulplatine GY-302 (oder GY-30) mit fünf Anschlüssen oder als Modul in einer transparenten, halbkugelförmigen Kunststoff-Kappe, das mit einem 5-poligen JST-Stecker (XH 2.54) angeschlossen wird.

Weiterlesen
TEMT6000 auf dem Breadboard

Der TEMT6000 – ein analoger Lichtsensor

Der TEMT6000 ist ein Lichtsensor, der seine Messwerte analog ausgibt. Er besteht im wesentlichen aus einem Fototransistor, der Licht in dem Spektrum misst, das auch für das menschliche Auge sichtbar ist. Je höher die Beleuchtungsstärke, desto höher ist die am Signalpin ausgegebene Spannung. Als analoger Sensor ist er sehr einfach an Mikrocontroller anzuschließen; für die Programmierung wird keine Bibliothek benötigt.

Weiterlesen
Microsoft Kurs "IoT for Beginners"

IoT for Beginners – Ein Microsoft-Kurs in 24 Lektionen

Microsoft stellt auf Github einen Kurs zum Thema „Internet of Things” (IoT) zur Verfügung. Der Kurs ist seit ein paar Wochen online und bietet in 24 Lektionen einen Einstieg ins Internet der Dinge. Innerhalb von 12 Wochen kann man anhand von mehreren Projekten einen Einblick in IoT-Techniken bekommen, die in ähnlicher Form tatsächlich bei Anbau und Verarbeitung von Nahrungsmitteln auf dem Weg vom Feld bis zum Konsumenten zum Einsatz kommen könnten.

Weiterlesen
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