Projekt 19 bringt uns mit dem Arduino zum zweiten Projekt mit einer Siebensegmentanzeige…

Programmierung:

#define DATA 6		//Pin 14 am Schieberegister
#define LATCH 8		//Pin 12 am Schieberegister
#define CLOCK 10	//Pin 11 am Schieberegister

void setup()
{
pinMode(LATCH, OUTPUT);
pinMode(CLOCK, OUTPUT);
pinMode(DATA, OUTPUT);
}

int digits[] =
{252, 96, 218, 242, 102, 182, 190, 224, 254, 246, 238, 62, 156, 122, 158, 142};

void displayNumber(int n)
{
int left, right=0;
if (n< 10)
{
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLOCK, LSBFIRST, digits[n]);
shiftOut(DATA, CLOCK, LSBFIRST, 0);
digitalWrite(LATCH, HIGH);
}

else if (n>= 10)
{
right = n % 10;
left = n / 10;
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLOCK, LSBFIRST, digits[right]);
shiftOut(DATA, CLOCK, LSBFIRST, digits[left]);
digitalWrite(LATCH, HIGH);
}
}

void loop()
{
int i;
for (i = 0; i<100; i++)
{
displayNumber(i);
delay(100);
}
}

Von Torsten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert