Skip to content

Technik Blog

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

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Funduino-Cube programmieren #1: LEDs – Teil 2

Posted on 13. Februar 202310. März 2024 by Stefan Draeger

In diesem zweiten Teil möchte ich dir gerne zeigen, wie du am Funduino-Cube die LEDs per Infrarot-Schnittstelle steuern kannst.

Auf dem Funduino-Cube (welchen ich dir unter Review – Funduino-Cube vorgestellt habe) findest du fast alles, was du für dieses kleine Projekt benötigst.

Hier möchte ich dir nun zeigen, wie du die nachfolgend aufgelisteten, verbauten LEDs per Infrarot Fernbedienung steuern kannst.

  • 8 mm, rot
  • 8 mm, gelb
  • 8 mm, grün

Auf dem Funduino-Cube ist dafür bereits eine Infrarot-Diode verbaut, welche wir hierzu natürlich verwenden. Für diese Infrarot-Diode benötigen wir noch zusätzlich einen Infrarot-Sender, hier kannst du eine einfache Fernbedienung für den Fernseher, Receiver, DVD-Player etc. nutzen.

Es gibt auf ebay.de auch günstige, einfache Infrarot Fernbedienungen* welche für solche und andere kleine Projekte ausgelegt sind.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

IR Fernbedienung für den Arduino und Raspberry Pi
IR Fernbedienung für den Arduino und Raspberry Pi

  • Ziel dieses kleinen Projektes
  • Pins der benötigten Komponenten
  • Programmieren in DUINO EDU
    • Auslesen der Tasten der Infrarot-Fernbedienung
    • Programm zum Steuern der LEDs per Infrarot Fernbedienung am Funduino-Cube
      • Schritt 1 – ablegen der Werte für die Tasten in Variablen
      • Schritt 2 – anlegen der Felder für die Status der LEDs
      • Schritt 3 – auslesen der Infrarot-Fernbedienung
      • Schritt 4 – prüfen, ob der gelesene Wert größer 0 ist
      • Schritt 5 – Reset-Taster
      • Schritt 6 – aktivieren einer LED per Taster

Ziel dieses kleinen Projektes

Das Ziel von diesem kleinen Projekt ist es dir zu zeigen, wie einfach es ist eine LED per Infrarot Fernbedienung am Funduino-Cube zu steuern. Des Weiteren möchte ich dir mithilfe der Entwicklungsumgebung DUINO EDU bzw. ArduBlock aufzeigen, wie einfach dieses sein kann.

Die Entwicklungsumgebung (kurz IDE) DUINO EDU habe ich dir bereits im vergangenen Beitrag Arduino Programmierung mit DUINO EDU vorgestellt und ein erstes kleines Projekt vorgestellt.

Natürlich kannst du dieses Programm auch mit der Arduino IDE per Hand programmieren, d.h. in C/C++. Aber ich finde diese Möglichkeit der Programmierung von solch kleinen Programmen sehr interessant.

Pins der benötigten Komponenten

Zunächst benötigen wir die Pins der verbauten LEDs, welche wir steuern möchten:

KomponenteArduino Nano V3
LED, rotD3
LED, gelbD4
LED, grünD5
Infrarot-DiodeA0

Programmieren in DUINO EDU

Die Entwicklungsumgebung DUINO EDU enthält viele vorbereitete Elemente, welche wir per Drag’n Drop auf einer Fläche zusammen klicken.

Auslesen der Tasten der Infrarot-Fernbedienung

Schreiben bzw. klicken wir uns zunächst ein kleines Programm zusammen, um die Tasten der IR Fernbedienung auszulesen.

kleines Programm zum auslesen der Tasten einer IR Fernbedienung
kleines Programm zum auslesen der Tasten einer IR Fernbedienung

Wenn wir diesen Code auf den Mikrocontroller überspielen, dann erhalten wir nachfolgende Ausgabe. Mit dem Code erzeugen wir eigentlich nur die Ausgabe, welche mit einem grünen Rahmen markiert ist. Die anderen Werte sind Debugausgaben von der Bibliothek.

Ausgaben auf der seriellen Schnittstelle
Ausgaben auf der seriellen Schnittstelle
ArduBlock – auslesen einer Infrarot-FernbedienungHerunterladen

Programm zum Steuern der LEDs per Infrarot Fernbedienung am Funduino-Cube

Schritt 1 – ablegen der Werte für die Tasten in Variablen

Wenn wir die Tasten ermittelt haben, dann legen wir uns diese Werte in Variablen vom Typ „INTEGER“ ab.

Schritt 2 – anlegen der Felder für die Status der LEDs

Für die Status der LEDs (AN/AUS) legen wir uns ganzzahlige Variablen an und benennen diese entsprechend mit led<Farbe>.

Schritt 3 – auslesen der Infrarot-Fernbedienung

Den Wert vom eventuell betätigten Taster an der Infrarot-Fernbedienung legen wir in der ganzzahligen Variablen „irValue“ ab.

Schritt 4 – prüfen, ob der gelesene Wert größer 0 ist

Zunächst muss man prüfen ob der Wert der Variable „irValue“ größer 0 ist. Denn wenn keine Taste betätigt wird ist der Wert gleich 0 und wir brauchen diesen nicht zu behandeln.

Schritt 5 – Reset-Taster

Die Taste „OK“ auf der Fernbedienung möchte ich als Reset-Taste nutzen, dazu habe ich zunächst den Wert ausgelesen und in die Variable „TASTE_OK“ abgelegt. Wenn also nun der Wert der „irValue“ gleich dem Wert der Variable „TASTE_OK“ ist, dann werden alle Status auf 0 gesetzt und die LEDs deaktiviert.

Schritt 6 – aktivieren einer LED per Taster

In meinem Fall habe ich den Wert der Taste 1 der roten LED zugeordnet, d.h. wenn diese Taste betätigt wird, dann soll die rote LED aktiviert bzw. deaktiviert werden.

Zusätzlich wird der Status in der Variable „ledRot“ gespeichert.

Wenn wir dieses vermeintlich kleine Projekt mit der genannten IDE zusammen geklickt haben, dann ist dieses, wie man sehen kann, sehr lang.

Funduino-Cube - steuern der LEDs via Infrarot Fernbedienung
Dieses Video auf YouTube ansehen.

Der automatisch generierte Code von ArduBlock sieht wie folgt aus:

#include <IRremote2.h>

int TASTE_1 = 0;
int TASTE_4 = 0;
int TASTE_5 = 0;
int TASTE_OK = 0;
int ledRot = 0;
int ledGelb = 0;
int ledGruen = 0;
int irValue = 0;
IRrecv2 monRecepteur_pinA0(A0);

void setup(){
  monRecepteur_pinA0.enableIRIn();
  Serial.begin(9600);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  TASTE_1 = 26775;
  TASTE_4 = 12495;
  TASTE_5 = 6375;
  TASTE_OK = 765;
  ledRot = 0;
  ledGelb = 0;
  ledGruen = 0;
}

void loop(){
  irValue = monRecepteur_pinA0.lireCodeIr()  ;
  if (irValue > 0)  {
    Serial.print("message");
    Serial.println(irValue);
    if (irValue == TASTE_OK){
      ledRot = 0;
      ledGelb = 0;
      ledGruen = 0;
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
    }
    if (irValue == TASTE_1){
      if (ledRot == 0){
        digitalWrite(3 , HIGH);
        ledRot = 1;
      } else {
        digitalWrite(3 , LOW);
        ledRot = 0;
      }
    }
    if (irValue == TASTE_4){
      if (ledGelb == 0){
        digitalWrite(4 , HIGH);
        ledGelb = 1;
      } else {
        digitalWrite(4 , LOW);
        ledGelb = 0;
      }
    }
    if (irValue == TASTE_5){
      if (ledGruen == 0){
        digitalWrite(5 , HIGH);
        ledGruen = 1;
      } else {
        digitalWrite(5 , LOW);
        ledGruen = 0;
      }
    }
    delay(1000);
  }
}
ArduBlock – steuern von LEDs per Infrarot-FernbedienungHerunterladen

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

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • 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}