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
TM1637-Modul mit Anzeige der Zeit

TM1637-LED-Modul

Mehrstellige 7-Segment-Anzeigen direkt per Schieberegister zum Anzeigen von Daten zu nutzen, bedeutet auf dem Breadboard einen ziemlichen Kabelsalat. Praktischerweise gibt es fertige Module (oft als digital tube bezeichnet) mit vier- oder achtstelligen Anzeigen und den Chips TM1637 oder MAX7219, die mit vier Anschlüssen auskommen. Die vierstelligen TM1637-Module können meist in der Mitte einen Doppelpunkt darstellen und sind primär für Zeitanzeigen gedacht, man kann sie aber auch z.B. als Temperaturanzeige mit Minuszeichen und Gradsymbol nutzen. Es gibt auch Module mit Dezimalpunkten nach den einzelnen Ziffern und anderen Farben als dem standardmäßigen LED-Rot.

Weiterlesen
7-Segment-Anzeige mit 74HC595 (Detail)

7-Segment-Anzeigen mit dem 74HC595 steuern

Typische 7-Segment-Anzeigen bestehen aus sieben LEDs (meist plus einer weiteren für den Dezimalpunkt), die einzeln angesteuert werden und über eine gemeinsame Anode (common anode) oder Kathode (common cathode) verfügen. Um eine Anzeige zu steuern, werden also sieben (bzw. acht) Digitalpins des Mikrocontrollers belegt. Bei Verwendung einer einzelnen Anzeige ist das noch halbwegs praktikabel, bei mehreren nicht mehr. Zum Bereitstellen zusätzlicher Ausgabeports kann man Schieberegister wie das 74HC595 nutzen. Hierbei werden die Steuerdaten bitweise seriell zum Schieberegister übertragen, das diese dann auf Anforderung an einem Stück (parallel) auf acht Datenpins ausgibt. Man kommt für die Ansteuerung des 74HC595 mit drei Leitungen aus, selbst wenn man mehrere Register hintereinander schaltet, um z.B. zwei 7-Segment-Anzeigen oder eine Gruppe von Relais zu steuern.

Weiterlesen
DS18B20 (Kabel und Sensor) und DHT22

Temperatursensoren DS18B20 und DHT22/DHT11

Die Sensoren DS18B20, DHT22 und DHT11 sind drei Temperatur- (und Luftfeuchtigkeits-)Sensoren, die mit Mikrocontrollern wie Arduino oder ESP32 genutzt werden können. Der DS18B20 kann in der wasserdichten Variante neben der Luft- z.B. auch die Temperatur von Flüssigkeiten bestimmen. Die Sensoren DHT22 und DHT11 messen neben der Temperatur auch die relative Luftfeuchtigkeit. Anhand mehrerer Beispiel-Programmen für den ESP32 (die mit minimalen Änderungen auch mit einem Arduino laufen) wird ausführlich erläutert, was man bei der Programmierung mit der Arduino-IDE und beim Aufbau auf der Steckplatine (Breadboard) beachten sollte.

Weiterlesen
ESP32 Entwickler-Board (DevKitC) mit 38 Pins

ESP32-Programmierung – allererste Schritte

Der ESP32 ist ein populärer Mikrocontroller, mit dem bspw. Sensoren abgefragt oder Motoren gesteuert werden können. Ich habe ihn erstmals 2019 im Rahmen des Online-Kurses „Wie programmiere ich meinen ersten Mini-Computer?” beim HPI (Hasso-Plattner-Institut in Potsdam) kennengelernt. Kursthema war die Programmierung des ESP32-Mikrocontrollers mit der Arduino-Entwicklungsumgebung in einfachen Projekten mit Sensoren, Motoren oder LEDs.

Weiterlesen