Vorversuch zu Tic Tac Toe: Verwendung von Duo-LEDs
- Es gibt zweipolige DUO-LEDs, die je nach Richtung der angelegten Spannung z.B. rot oder grün leuchten.
- Das folgende Programm wechselt bei einem DUO-LED zyklisch zwischen ZUstand 0 = aus, Zustand 1=grün, Zustand 2=rot.
- Die Nummer des Zustands wird zur Anzeige an PORTC geschickt.
- Üblicherweise ist der längere Draht bei einer LED der Anschluß für die Anode (Pluspol).
- Desweiteren weist das Gehäuse meistens eine Abflachung am unteren Rand auf der Seite der Kathode auf (Minuspol).
- LEDs werden immer mit Vorwiderstand betrieben (220&Ohm; bis 1000&Ohm;)!
- Im darauf folgenden Bild ist zunächst das typische LED-Schaltbild einer gewöhnlichen LED deren Aufbau gegenüber gestellt:
|
#include<avr/io.h>
int main()
{
unsigned long pause;
unsigned char zustand = 0;
DDRA = 0b00000011;
DDRC = 0b11111111;
//Zweipolige DUO-LED, Kathode an PA0, Anode an PA1
while(1)
{
PORTC = zustand;
if(zustand==0) //LED aus
{
PORTA &= 0b11111100;
}
else if(zustand==1) //LED grün
{
PORTA &= 0b11111100;
PORTA |= 0b00000001;
}
else //LED rot
{
PORTA &= 0b11111100;
PORTA |= 0b00000010;
}
for(pause=0;pause<1000000;pause++);
zustand++;
zustand%=3;
}
return 0;
}
Code 0-1: WEchsler zwischen den Zuständen aus, grün und rot.
Projekt Download duoled.zip
Bild 0-1: Gewöhnliche LED
- Die hier verwendete DUO-LED leuchtet rot, wenn man sie in der üblichen Weise anschließt, d.h. abgeflachte Seite nach Masse, längeren Draht nach Plus.
- Polt man sie um, leuchtet sie grün.
- Schließt man sie mit der Kathode an PA0 und mit der Anode an PA1 an, so kann mit diesen digitalen Ausgängen der jeweilige Zustand wie folgt erzeugt werden:
|
PA1 PA0 DUO-LED
0 0 aus
0 1 grün
1 0 rot
1 1 aus
Code 0-1: Zuordnung von Leuchtfarbe und Zustand der digitalen Aisgänge PA0 und PA1
Bild 0-2: Schaltplan zum Versuch mit DUO-LED
Bild 0-2: Aufbau zum Versuch mit DUO-LED