Guten Abend zusammen!
Ein Kommilitone und ich stehen vor einer (für uns) riesigen Herausforderung, da wir wirklich keinerlei Arduino Erfahrung haben.
Anbei ist unser Standard-code.
Wenn man ihn ausführt, wird einfach dauerhaft die Zahl 3235 auf der 4-7 Segment-Anzeige angezeigt und wir wollen, dass es erst dauerhaft angezeigt wird, wenn der (noch nicht vorhandene) Taster gedrückt wurde. Bei zweitem Tastendruck soll eine andere definierte Zahl angezeigt werden und beim dritten Tastendruck soll das Display ausgehen.
Das wars an sich schon. Hier nun der bisherige Code:
int Stelle;
int Segment;
int ErstesSegment=6;
int ErsteStelle=2;
int SegmenteJeZiffer[][8]={{1,1,1,1,1,1,0,0},
{0,1,1,0,0,0,0,0},{1,1,0,1,1,0,1,0},{1,1,1,1,0,0,1,0},
{0,1,1,0,0,1,1,0},{1,0,1,1,0,1,1,0},{1,0,1,1,1,1,1,0},
{1,1,1,0,0,0,0,0},{1,1,1,1,1,1,1,0},{1,1,1,1,0,1,1,0}};
void setup() {
for(Stelle=0;Stelle<4;Stelle++) {
pinMode(ErsteStelle+Stelle,OUTPUT);
digitalWrite(ErsteStelle+Stelle,HIGH);
}
for(Segment=0;Segment<8;Segment++) {
pinMode(ErstesSegment+Segment,OUTPUT);
digitalWrite(ErstesSegment+Segment,LOW);
}
}
void RichtigeSegmenteAnschalten(byte Ziffer){
for(Segment=0;Segment<8;Segment++){
if(SegmenteJeZiffer[Ziffer][Segment]==1){
digitalWrite(ErstesSegment+Segment,HIGH);
}
}
}
void AlleSegmenteAusschalten (){
for (Segment=0;Segment<8;Segment++){
digitalWrite(ErstesSegment+Segment,LOW);
}
}
void ZifferAusgabe(byte Stelle,byte Ziffer) {
RichtigeSegmenteAnschalten(Ziffer);
digitalWrite(ErsteStelle+Stelle,LOW);
delay(2);
digitalWrite(ErsteStelle+Stelle,HIGH);
AlleSegmenteAusschalten();
}
void loop(){
ZifferAusgabe(0,3);
ZifferAusgabe(1,2);
ZifferAusgabe(2,3);
ZifferAusgabe(3,5);
}