Ein­mal­eins Fernbedienung

# include "IRremote.h"
int EmpfaengerPin = 11;

void setup() {
  Serial.begin(9600);
  // auf serielle Verbindung warten
  while (!Serial) { ; }
  // Empfänger starten
  IrReceiver.begin(EmpfaengerPin);
}

void ReiheAnzeigen(int Zahl) 
{
  Serial.print("Einmaleins der ");
  Serial.println(Zahl);
  for (int i = 1; i <= 10; i++) 
  {
    Serial.print(i);
    Serial.print(" * ");
    Serial.print(Zahl);
    Serial.print(" = ");
    Serial.print(i * Zahl);
    Serial.println();
  }
  Serial.println("-----------------------");
}

void loop() 
{
  // Daten lesen
  if (IrReceiver.decode()) 
  {
    // kurzes delay, damit nur eine Taste gelesen wird
    delay(200);

    // nächsten Wert lesen
    IrReceiver.resume();

    /*
      es sollen nur die korrekt erkannten Tasten ausgewertet werden
      die Dezimalwerte der korrekten Tasten liegen zwischen > 0 und < 95
    */
    if (IrReceiver.decodedIRData.command > 0 && IrReceiver.decodedIRData.command < 95) 
    {
      // wenn die Werte der Tasten nicht bekannt sind: // vor den nächsten Zeilen entfernen
      // Serial.print("Dezimalwert: ");
      // Serial.print(IrReceiver.decodedIRData.command);
      // Serial.println();
      
      // je nach Wert Zahl an die Funktion ReiheAnzeigen() übergeben
      switch (IrReceiver.decodedIRData.command) 
      {
        // Taste 1
        case 22:
          ReiheAnzeigen(1);
          break;

        // Taste 2
        case 25:
          ReiheAnzeigen(2);
          break;

        // Taste 3
        case 13:
          ReiheAnzeigen(3);
          break;

        // Taste 4
        case 12:
          ReiheAnzeigen(4);
          break;

        // Taste 5
        case 24:
          ReiheAnzeigen(5);
          break;

        // Taste 6
        case 94:
          ReiheAnzeigen(6);
          break;

        // Taste 7
        case 8:
          ReiheAnzeigen(7);
          break;

        // Taste 8
        case 28:
          ReiheAnzeigen(8);
          break;

        // Taste 9
        case 90:
          ReiheAnzeigen(9);
          break;

        default:
          break;
      }
    }
  }
}

Letzte Aktualisierung: 24. Jul 2023 @ 10:42