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);
}
}