Arduino Sensor Board V5.0 (Sensor Shield)

Die Sensorplatine ist gut, um schnell mal was zu testen. Sie bietet viele Anschlüsse und liefert gleich eine Stromversorgung auf Anschlussebene mit. Wenn das Projekt mal mehr Saft braucht, besteht die Möglichkeit, es mit einer externen Spannungsquelle zu versorgen. Fakten 2 Schraubkontakte für eine externe Spannungsversorgung 13 GPIO-Pins nach außen geführt und mit Masse und …

Continue reading "Arduino Sensor Platine V5.0 (Sensor Shield)" →

TTGO LORA32 OLED V1

Ich habe diese LoRa-Boards vor einiger Zeit im Doppelpack erworben und in der Schublade vergessen. Da nun immer mehr Berichte zum Thema LoRa (Long Range Radio) zu finden sind, wollte ich es auch mal ausprobieren. Meine Versuche habe ich hier dokumentiert. Es gibt mittlerweile eine Version 2 des Boards. Die Version 2 hat zusätzlich einen …

Continue reading "TTGO LORA32 OLED V1" →

Espressif IDF – GPIOs

Die meisten GPIO Pins des ESP32 sind, bis auf ein paar Ausnahmen, sowohl Eingänge als auch Ausgänge (siehe hierzu auch das entsprechende Datenblatt). Wie diese digital angesteuert werden, zeigen die nächsten Beispiele. Grundsätzliches Sind die Pins als digital konfiguriert, können sie jeweils den Wert 1= true oder 0= false annehmen. Ausgang Hier das Blinkbeispiel mit …

Continue reading "Espressif IDF – GPIOs" →

Espressif IDF – Tasks

A task is a (recurring) job for the processor. Multiple tasks compete for the CPU's attention. How these are created and which data structures are available for data transfer and synchronisation will be briefly outlined in this post. Tasks can become a very complex matter, which is why I can only scratch the surface here. Nevertheless…

Continue reading "Espressif IDF – Tasks" →

Espressif IDF – Menuconfig

Eine der schönen Errungenschaften der IDF ist die menügesteuerte Konfiguration. Noch schöner finde ich, dass eigene Konfigurationspunkte erstellt werden können. Diese werden dann automatisch in das Hauptmenü eingehängt. Vorab: Die Bibliothek „esp_system.h“ wird im Quellcode benötigt, sonst klappt’s nicht Nach Änderungen am Menü ein idf.py clean durchführen Zur Erstellung solch eines Konfigurationspunktes nehme ich das …

Continue reading "Espressif IDF – Menuconfig" →

Espressif IDF – Timer

Ein beliebtes Beispiel in der Arduino Umgebung ist Blink. Hier wird eine LED mit einer kurzen Pause an und aus geschaltet. Zu Gpio Aktionen kommen wir im nächsten Kapitel, um das Blinken kümmern wir uns hier. Auch in der Arduino Umgebung wird immer geraten, Codeunterbrechungen mit Delay zu vermeiden. Dort gibt es einige Konstrukte mit …

Continue reading "Espressif IDF – Timer" →

Espressif IDF – Log Messages

Gerade bei der Entwicklung auf dem Microcontroller ist hier und da mal eine Ausgabe wichtig, um zu erahnen, ob der entwickelte Code auch das Richtige macht. Schade ist es, wenn solche Ausgaben dann immer noch das fertige Produkt belasten. Damit der Debugging Code es nicht oder nur bedingt ins Endprodukt schafft, gibt es in nahezu …

Continue reading "Espressif IDF – Lognachrichten" →

Espressif IDF – Error Handling

Die Fehlerbehandlung ist in der IDF eine der Kernfunktionalitäten. Auf sie stößt man praktisch in jedem Beispiel-Programm. Deshalb möchte ich an dieser Stelle näher auf sie eingehen. Alle wichtigen Funktionen der IDF geben Fehlercodes zurück. Hierauf kann zum einen manuell reagiert werden (if Bedingung + eigenes Handling) oder sie können an ein spezielles Makro (Funktion) …

Continue reading "Espressif IDF – Fehlerbehandlung" →

Espressif IDF – Console Output

Direkte Ausgaben über die Konsole werden in der IDF mit printf erreicht. Hiermit sollte man jedoch sparsam umgehen, da es zum Beispiel zu Debugging Zwecken oder zur Fehlerbehandlung andere Mechanismen gibt. Diese können dann auch über Menuconfig ein- und ausgeschaltet werden und belasten so nicht den CODE. So sieht der Testcode für eine einfache Ausgabe …

Continue reading "Espressif IDF – Konsolenausgabe" →

Espressif IDF – Create Project

Hier beschreibe ich, wie ein neues IDF-Projekt angelegt wird. Wie die IDF, auch in Verbindung mit VS-Code, genutzt und installiert wird, habe ich unter folgenden Links schon beschrieben und ist nicht Gegenstand dieses Beitrags. Espressif IDF für ESP32-S2 Installieren VS-Code Espressif IDF LILYGO EP32 S2 V1.1 (1. Anwendung) Ein guter Start ist es, das IDF-Beispiel …

Continue reading "Espressif IDF – Projekt erstellen" →