LED-Matrix Count­down

# include <LedControl.h>

int TASTER = 7;
int LAUTSPRECHER = 5;
int TasterLesen;

/*
   VCC -> 5V
   GND
   Pin 12 -> DATA IN-pin
   Pin 11 -> CLK-pin
   Pin 10 -> CS-pin
*/
LedControl LEDMatrix = LedControl(12, 11, 10, 1);

void setup() 
{
  // Matrix "aufwecken"
  LEDMatrix.shutdown(0, false);
  
  //  mittlere Helligkeit setzen
  LEDMatrix.setIntensity(0, 8);
  
  pinMode(TASTER, INPUT_PULLUP);
  pinMode(LAUTSPRECHER, OUTPUT);
}

void loop() 
{
  PfeilUnten();
  TasterLesen = digitalRead(TASTER);
  
  if (TasterLesen == LOW)
  delay(2000);
  {
    delay(300);
    ZahlNeun();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlAcht();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlSieben();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlSechs();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlFuenf();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlVier();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlDrei();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);
    
    ZahlZwei();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);  
    
    ZahlEins();
    tone(LAUTSPRECHER, 1000, 100);
    delay(1000);    
    
    ZahlNull();
    delay(1000);

    Kreuz();
    tone(LAUTSPRECHER, 500, 1000);
    delay(2000);
  }
}

void PfeilUnten()
{
  byte Zeichen[8] =
  {
    B00010000,
    B00110000,
    B01111111,
    B11111111,
    B01111111,
    B00110000,
    B00010000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlEins()
{
  byte Zeichen[8] =
  {
    B00000000,
    B00000000,
    B00000100,
    B10000010,
    B11111111,
    B10000000,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlZwei()
{
  byte Zeichen[8] =
  {
    B00000000,
    B10000010,
    B11000001,
    B10100001,
    B10010001,
    B10001110,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlDrei()
{
  byte Zeichen[8] =
  {
    B00000000,
    B01000010,
    B10000001,
    B10001001,
    B10001001,
    B01110110,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlVier()
{
  byte Zeichen[8] =
  {
    B00000000,
    B00110000,
    B00101000,
    B00100100,
    B11110010,
    B00100001,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlFuenf()
{
  byte Zeichen[8] =
  {
    B00000000,
    B01001111,
    B10001001,
    B10001001,
    B10001001,
    B01110001,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlSechs()
{
  byte Zeichen[8] =
  {
    B00000000,
    B01111110,
    B10001001,
    B10001001,
    B10001001,
    B01110010,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlSieben()
{
  byte Zeichen[8] =
  {
    B00000000,
    B11100001,
    B00010001,
    B00001001,
    B00000101,
    B00000011,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlAcht()
{
  byte Zeichen[8] =
  {
    B00000000,
    B01110110,
    B10001001,
    B10001001,
    B10001001,
    B01110110,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlNeun()
{
  byte Zeichen[8] =
  {
    B00000000,
    B01001110,
    B10010001,
    B10010001,
    B10010001,
    B01111110,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void ZahlNull()
{
  byte Zeichen[8] =
  {
    B00000000,
    B01111110,
    B10000001,
    B10000001,
    B10000001,
    B01111110,
    B00000000,
    B00000000
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

void Kreuz()
{
  const PROGMEM byte Zeichen[8] =
  {
    B10000001,
    B01000010,
    B00100100,
    B00011000,
    B00011000,
    B00100100,
    B01000010,
    B10000001
  };

  for (int zaehler = 0; zaehler < 8; zaehler ++)
  {
    LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]);
  }
}

Letzte Aktualisierung: 16. Okt 2022 @ 14:08