Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

LuatOS System #1 – LEDs programmieren

Posted on 12. August 202229. April 2023 by Stefan Draeger

In diesem Beitrag möchte ich dir zeigen, wie du LEDs am Mikrocontroller ESP32-C3 mit LuatOS System programmieren kannst.

ESP32-C3 mit LuatOS System - LEDs programmieren
ESP32-C3 mit LuatOS System – LEDs programmieren

Im letzten Beitrag ESP32-C3 mit LuatOS System und im neuen YouTube Video ESP32-C3 mit LuatOS System programmieren habe ich dir gezeigt, wie du ein einfaches „Hello World!“ auf der seriellen Schnittstelle ausgibst.

Hier soll es nun darum gehen, wie du eine LED über die vorhandenen GPIO Pins steuerst.

  • Mikrocontroller ESP32-C3 mit LuatOS System
    • Bezug
  • Benötigte Ressourcen für den Nachbau
    • Tools für die Programmierung und den Upload des Programmes
  • Pinout des ESP32-C3
  • Programmieren einer LED am GPIO Pin des ESP32-C3 mit LuatOS System
    • Aufbau der Schaltung
    • Programmieren in Visual Studio Code

Mikrocontroller ESP32-C3 mit LuatOS System

In diesem Beitrag verwende ich den bereits vorgestellten ESP32-C3 mit LuatOS System.

Vorderseite des ESP32-C3
Vorderseite des ESP32-C3
Rückseite des ESP32-C3 mit Webadresse
Rückseite des ESP32-C3 mit Webadresse
ESP32-C3 Chip auf dem Mikrocontroller
ESP32-C3 Chip auf dem Mikrocontroller

Bezug

Den mir vorliegenden Mikrocontroller habe ich recht günstig über aliexpress.com für knapp 4 € inkl. Versandkosten erworben. Derzeit (stand 08.08.2022) habe ich leider keine andere Quelle für einen solchen Mikrocontroller gefunden.

Mikrocontroller ESP32-C3 mit LuatOS System auf aliexpress.com
Mikrocontroller ESP32-C3 mit LuatOS System auf aliexpress.com

Benötigte Ressourcen für den Nachbau

Wenn du die nachfolgenden kleinen Beispiele nachbauen möchtest, dann benötigst du folgende Ressourcen:

  • einen ESP32-C3 mit LuatOS System,
    • ein USB-C Datenkabel,
  • drei, 5 mm, LEDs (rot, gelb, grün),
  • drei 220 Ohm Widerstände,
  • ein 170 Pin Breadboard, sowie
  • diverse Breadboardkabel, 10 cm, männlich-männlich
benötigte Bauteile für diesen Beitrag
Benötigte Bauteile für diesen Beitrag

Tools für die Programmierung und den Upload des Programmes

Des Weiteren benötigst du die Software Visual Studio Code für die Programmierung sowie die LuatTools für den Upload des Programmes.

Pinout des ESP32-C3

Für den Aufbau der Schaltung benötigen noch das Pinout des Mikrocontrollers, welches ich dir hier gerne zeigen möchte.

Pinout des ESP32-C3 von der Wikiseite https://wiki.luatos.com/chips/esp32c3/board.html
Pinout des ESP32-C3 von der Wikiseite https://wiki.luatos.com/chips/esp32c3/board.html

Die Grafik habe ich von der Wiki-Seite https://wiki.luatos.com/chips/esp32c3/board.html entnommen. Auf dieser Seite findest du noch weitere Informationen zu den Pins und Features des Mikrocontrollers.

Auf der Seite https://wiki.luatos.com/_static/bom/esp32c3.html findest du eine interaktive Sicht auf den hier verwendeten Mikrocontroller.

Programmieren einer LED am GPIO Pin des ESP32-C3 mit LuatOS System

Kommen wir jetzt zum eigentlichen Thema, dem Programmieren einer LED am ESP32-C3. Ich gehe in diesem Abschnitt davon aus, dass bei dir die Anwendung Visual Studio Code und die LuatTools installiert und lauffähig sind.

How to connect and code leds via lua at ESP32-C3
Dieses Video auf YouTube ansehen.

In diesem Video erläutere ich dir, wie du die Schaltung aufbaust und programmierst. Dieses Mal in englischer Sprache. Das Ganze war ein Wunsch einiger meiner Follower auf Instagram, ich hoffe somit einige mehr mit meinem Content zu erreichen.

Aufbau der Schaltung

Als Erstes wollen wir eine 5 mm LED an den GPIO0 des Mikrocontrollers anschließen, dafür benötigen wir neben der besagten LED noch einen Vorwiderstand von 220 Ohm, 2 Breadboardkabel sowie ein 170 Pin Breadboard.

Schaltung - 5mm LED am ESP32-C3 mit LuatOS System
Schaltung – 5 mm LED am ESP32-C3 mit LuatOS System

Programmieren in Visual Studio Code

Erstellen wir im zweiten Schritt nun das kleine Programm, um die 5 mm LED zum Blinken zu bringen.

PROJECT = "LED"
VERSION = "0.1"

sys = require("sys")

led = gpio.setup(0,0,gpio.PULLUP)
local state = false
sys.timerLoopStart(function()
    led(state and 0 or 1)
    log.info("led", state)
    state = not state
end,500)

sys.run()

Nachdem wir nun eine LED zum Blinken gebracht haben, schließen wir eine weitere an und steuern diese im gleichen Intervall wie die Erste. Dazu müssen wir lediglich die neue LED initialisieren und in der Timer-Funktion den gleichen Status zuweisen.

PROJECT = "LED blink"
VERSION = "0.1"

sys = require"sys"

led_red = gpio.setup(0,0,gpio.PULLUP)
led_blue = gpio.setup(1,0,gpio.PULLUP)

local state = false

sys.timerLoopStart(function()
   led_red(state and 0 or 1)
   led_blue(state and 0 or 1)
   state = not state
   log.info("led status = ", state)
end, 250)

sys.run()

Abschließen möchte ich damit, die beiden LEDs im wechsel blinken zu lassen, dafür benötigen ein zusätzliches Statusfeld. Dieses Statusfeld initialisieren wir mit „true“ und haben somit unser Wechsel blinken erzeugt.

PROJECT = "LED blink"
VERSION = "0.1"

sys = require"sys"

led_red = gpio.setup(0,0,gpio.PULLUP)
led_blue = gpio.setup(1,0,gpio.PULLUP)

local state_red = false
local state_blue = true

sys.timerLoopStart(function()
   led_red(state_red and 0 or 1)
   led_blue(state_blue and 0 or 1)
   state_red = not state_red
   state_blue = not state_blue
   log.info("red led status = ", state_red)
   log.info("blue led status = ", state_blue)
end, 250)

sys.run()

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}