Wür­feln mit LEDs

Lese­zeit: 3 Minu­ten

Lösung
Seite als PDF

Wird der Tas­ter gedrückt, zei­gen die LEDs die gewür­fel­te Zahl an. Ein län­ge­rer Druck auf den Tas­ter bewirkt einen "Würf­el­ef­fekt".

So sieht es aus:

Benö­tig­te Bauteile:

  • 7 gel­be LEDs
  • 7 Wider­stän­de 220 Ω
  • Lei­tungs­dräh­te

Beach­te die ➨Vor­wi­der­stän­de ver­schie­de­ner LEDs

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Port­ma­ni­pu­la­ti­on

Defi­nie­re die Variablen.

boolean TASTER;

// Würfelaugen 1 bis 6
int Minimum = 1;
int Maximum = 7;

Der set­up-Teil. Beach­te die Kommentare.

void setup()
{
  // Pins 7 bis 3 als OUTPUT definieren
  DDRD = B11111000;

  // Pins 8 bis 9 als OUTPUT definieren
  DDRB = B00000011;

  // Pin 13 PULLUP-Widerstand einschalten
  PORTB = B00000100;

  // Zufallsgenerator starten
  randomSeed(analogRead(A0));
}

Der loop-Teil. Beach­te die Kommentare.

void loop()
{
  // Test ob alle LEDs leuchten
  // PORTD = B11111000;
  // PORTB = B00000011;
  
  /*
    Port B lesen
    Bit 13 wird ausgeblendet (PINB & B00100000),
    damit der Wert gelesen werden kann
  */
  TASTER = PINB & B00100000;
;
  // Taster gedrückt, Pin 13 hat den Wert 0 (false)
  if (!TASTER)
  {   
    delay(200);
    int Zahl = random(Minimum, Maximum);
   
    switch (Zahl)
    {
      case 1:
        AlleAus();
        PORTD = B01000000;
        break;
      case 2:
        AlleAus();
        PORTD = B10100000;
        break;

      case 3:
        AlleAus();
        PORTD = B11100000;
        break;

      case 4:
        AlleAus();
        PORTD = B10101000;
        PORTB = B00000010;
        break;

      case 5:
        AlleAus();
        PORTD = B11101000;
        PORTB = B00000010;
        break;

      case 6:
        AlleAus();
        PORTD = B10111000;
        PORTB = B00000011;
        break;
      default:
        break;
    }
  }
}

Die Funk­ti­on Alle­Aus() schal­tet alle LEDs wie­der aus.

void AlleAus()
{
  PORTD = 0;
  PORTB = 0;
}

Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ver­wand­te Aufgaben:


Letzte Aktualisierung: 12. Mrz 2024 @ 9:30