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
AM2320 auf dem Breadbord

AM2320 Temperatur- und Luftfeuchtigkeitssensor

Der AM2320 ist ein Sensor zur Messung der Umgebungstemperatur und der relativen Luftfeuchtigkeit. Er kommuniziert mit dem Mikrocontroller über den I2C-Bus. Von den technischen Daten ist er mit dem DHT22 (AM2302) vergleichbar, kostet aber nur etwa die Hälfte. Der Sensor ist – wie der DHT22 – lose oder als Modul erhältlich. Verwendet man den einfachen Sensor, benötigt man noch 2 Pull-Up-Widerstände – auf dem Modul sind diese üblicherweise bereits vorhanden.

Weiterlesen
reCaptcha von Google - Ausschnitt

Wo ist der Bus?

Wähle alle Felder mit Bussen aus. Schwierig. Eine echte Herausforderung. Für mich sieht das Fahrzeug wie ein (US-amerikanischer?) LKW aus. Google scheint aber davon auszugehen, dass irgendwo ein Bus sein muss, sonst wäre der Button unten nicht mit Bestätigen, sondern mit Überspringen beschriftet. Vielleicht überholt der LKW gerade einen Bus, das wäre möglich. Aber woher soll ich das wissen?

Weiterlesen
Longan Nano von Sipeed

Sipeed Longan Nano – Entwickler-Board mit RISC-V-Mikrocontroller

Durch einen Artikel im Heise Newsticker bin ich auf den Longan Nano der chinesischen Firma Sipeed gestoßen. Das Board basiert auf einem neu entwickelten 32-bit-RISC-V-Prozessor, dem GD32V (genau: GD32VF103CBT6) von GigaDevice, der am 22.08.2019 offiziell vorgestellt wurde. Es ist mit ca. 46 mm x 20 mm etwas größer als ein Arduino Nano (45 mm x 18 mm) und verfügt über einen Micro-SD-Kartenleser auf der Unter- sowie ein kleines Display (0,96 Zoll, 80 x 160 Pixel) auf der Oberseite. Außerdem wird ein transparentes Kunstoffgehäuse mitgeliefert, dazu zwei Pinleisten zum Anlöten. Die Verbindung mit dem PC erfolgt über einen USB-C-Anschluss.

Weiterlesen
PIR Bewegungsmelder

PIR-Bewegungssensor HC-SR501

Der HC-SR501 ist ein sog. PIR-Bewegungssensor – „PIR” steht dabei für pyro-elektrischer (auch: passiver) Infrarot-Sensor (engl.: pyroelectric infrared sensor) und ist der am häufigsten eingesetzte Typ von Bewegungssensoren. Wie der Name sagt, reagiert er auf Infrarotstrahlung – also Wärme – von Objekten, die sich am Sensor vorbei bewegen. Über dem eigentlichen Sensor ist eine Halbkugel aus transparentem Kunststoff angebracht, die in mehrere Facetten, sog. Fresnel-Linsen, unterteilt ist. Das bewirkt, dass ein relativ großer Bereich vor dem Sensor überwacht werden kann – lt. Datenblatt bei dem hier verwendeten Sensor vom Typ HC-SR501 ein kegelförmiger Bereich von maximal 110° bis zu einer Entfernung von 6-7 Metern. Eine genaue Beschreibung der Funktionsweise findet sich bei Wikipedia, Adafruit stellt ein PDF in englischer Sprache bereit, in dem Funktion, Aufbau und Anwendung beschrieben werden.

Weiterlesen
ESP32 Pico Kit V4.1

ESP32 Pico Kit V4.1

Das ESP32 Pico Kit ist ein ESP32 Development Board mit deutlich kompakteren Abmessungen als die Standard-ESP32-Boards. Es lässt auf dem Breadboard auf jeder Seite zwei Reihen Steckkontakte frei – die Standard-Boards sind mit nur einer freien Reihe auf einer Seite deutlich breiter. Von den 20 möglichen Anschlüssen auf jeder Seite des Pico Kits sind 17 mit Pins versehen, sodass es auch auf Mini-Breadboards mit 170 (10 * 17) Kontakten passt, was gerade beim Basteln kleiner Projekte praktisch ist. Nicht verlötet sind SD0 bis SD3, CLK und CS, die alle mit dem internen Flash-Speicher verbunden sind. Üblicherweise sind diese Pins am ESP32 sowieso nicht nutzbar – wer sie benötigt, kann (bzw. muss) selbst die zusätzlichen Pins anlöten; Lötaugen (Pads) sind vorhanden. Gegenüber den größeren Boards vom Typ DevKitC fehlen der zweite I2C-Kanal (GPIO-Pins 16 und 17) und die interne LED.

Weiterlesen
Nano mit Shield

Arduino-IDE: Einrichten eines Arduino Nano Klons

ESP32 und Arduino Nano unterscheiden sich in der Hardware erheblich. Insbesondere was die Kommunikationsmöglichkeiten angeht, ist der ESP32 den verschiedenen Arduino-Modellen mit Bluetooth und WiFi weit voraus. Dazu bietet er einen leistungsfähigeren (Zweikern-)Prozessor, größeren Hauptspeicher und mehr GPIO-Pins. Auch preislich ist der ESP32 zumindest gegenüber den Original-Arduinos im Vorteil. Da der Arduino von Anfang an als offene Plattform angelegt war, gibt es aber eine große Auswahl an (legalen) Nachbauten, die ab ca. 4-5 € für einen Uno- oder Nano-Klon preislich interessanter sind als die Originale und sich etwa auf dem Niveau des ESP32-Vorgängers ESP8266 bewegen.

Weiterlesen
DS3231 RTC Modul

DS3231 Echtzeituhr-Modul

Auf Basis des Chips DS3231 werden günstige und sehr genaue RTC-Module (real time clock) zum Einsatz mit Microcontrollern angeboten. Sie versorgen z.B. Arduinos, die keinen WLAN-Chip und somit keinen Zugang zu einem Internet-Zeitserver haben, mit der aktuellen Zeit. Die Uhr läuft sehr präzise, weil die Schwingungen des Quarzes im DS3231 an die Umgebungstemperatur angepasst werden. Der dazu verwendete Sensor kann auch abgefragt werden, hat aber nur eine Genauigkeit von ±3 Grad – deutlich ungenauer als die speziellen Temperatursensoren DS18B20 oder DHT22. Lt. Datenblatt beträgt die Abweichung bei „normaler” Umgebungstemperatur von 0-40 °C maximal ±1 Minute pro Jahr bzw. rund eine Sekunde alle sechs Tage – zum Datenloggen o.ä. sicher genau genug. Die Kommunikation erfolgt über das I2C-Protokoll, nutzt am ESP32 also die beiden GPIO-Pins 21 (SDA – Daten) und 22 (SCL – Takt; alternativ GPIO 17 für SDA und 16 für SCL am zweiten I2C-Bus). Die Uhr wird über eine Knopfzelle versorgt, die je nach Modell mehrere Jahre halten soll.

Weiterlesen