Projects4edu

KAEDU : 7segment display

Een nummer op een display laten verschijnen doe je best via een functie. In deze tutorial staat de functie die alle cijfers van 0 tot en met 9 op het 7segment display van het KAEDU STEM shield kan laten verschijnen. Je moet enkel het nummer meegeven aan de functie en de juiste LEDS zullen oplichten.

Je moet weten dat het segment een common anode display is, aangezien dus de + van de LED gemeenschappelijk is moet je het signaal aan de – aanbrengen. Bij een LED moet de spanning op de + groter zijn dan deze op de – om op te lichten dus met andere woorden zal een LOW signaal het segmentje doen oplichten.

Verder moet je weten dat de segmenten in wijzerszin een letter gekregen hebben te beginnen bovenaan met A dan rechts bovenaan B en rechts onderaan C dan onderaan D links onderaan E links bovenaan F en in het midden G Als je het 7 segment visueel voorstelt is het dan eenvoudig om te bepalen of het segment bij dat bepaalde cijfer moet oplichten of niet.

Je moet enkel de onderstaande code kopieren in een programma en dan kan je de cijfers van 0 tot en met 9 op het scherm zetten. Je kan er zelfs een 1 digit klok van maken als je dat zou willen.

7 segment aansturen functie


int segDot = 7;
int segA = 17;
int segB = 18;
int segC = 2;
int segD = 3;
int segE = 4;
int segF = 5;
int segG = 6;
int sevenSeg(int number) {
switch(number) {
case 0:
digitalWrite(segA,LOW);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,LOW);
digitalWrite(segE,LOW);
digitalWrite(segF,LOW);
digitalWrite(segG,HIGH);
digitalWrite(segDot,HIGH);
break;
case 1:
digitalWrite(segA,HIGH);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,HIGH);
digitalWrite(segE,HIGH);
digitalWrite(segF,HIGH);
digitalWrite(segG,HIGH);
digitalWrite(segDot,HIGH);
break;
case 2:
digitalWrite(segA,LOW);
digitalWrite(segB,LOW);
digitalWrite(segC,HIGH);
digitalWrite(segD,LOW);
digitalWrite(segE,LOW);
digitalWrite(segF,HIGH);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
case 3:
digitalWrite(segA,LOW);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,LOW);
digitalWrite(segE,HIGH);
digitalWrite(segF,HIGH);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
case 4:
digitalWrite(segA,HIGH);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,HIGH);
digitalWrite(segE,HIGH);
digitalWrite(segF,LOW);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
case 5:
digitalWrite(segA,LOW);
digitalWrite(segB,HIGH);
digitalWrite(segC,LOW);
digitalWrite(segD,LOW);
digitalWrite(segE,HIGH);
digitalWrite(segF,LOW);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
case 6:
digitalWrite(segA,LOW);
digitalWrite(segB,HIGH);
digitalWrite(segC,LOW);
digitalWrite(segD,LOW);
digitalWrite(segE,LOW);
digitalWrite(segF,LOW);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
case 7:
digitalWrite(segA,LOW);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,HIGH);
digitalWrite(segE,HIGH);
digitalWrite(segF,HIGH);
digitalWrite(segG,HIGH);
digitalWrite(segDot,HIGH);
break;
case 8:
digitalWrite(segA,LOW);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,LOW);
digitalWrite(segE,LOW);
digitalWrite(segF,LOW);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
case 9:
digitalWrite(segA,LOW);
digitalWrite(segB,LOW);
digitalWrite(segC,LOW);
digitalWrite(segD,LOW);
digitalWrite(segE,HIGH);
digitalWrite(segF,LOW);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
break;
default :
digitalWrite(segA,LOW);
digitalWrite(segB,HIGH);
digitalWrite(segC,HIGH);
digitalWrite(segD,LOW);
digitalWrite(segE,LOW);
digitalWrite(segF,LOW);
digitalWrite(segG,LOW);
digitalWrite(segDot,HIGH);
}
}
void setup() {
pinMode(segDot,OUTPUT);
pinMode(segA,OUTPUT);
pinMode(segB,OUTPUT);
pinMode(segC,OUTPUT);
pinMode(segD,OUTPUT);
pinMode(segE,OUTPUT);
pinMode(segF,OUTPUT);
pinMode(segG,OUTPUT);
}
void loop() {
sevenSeg(9);
}

Volgende les : random()

Volgende les legt uit wat je met de random() functie kan aanvangen, deze toepassing is onder andere handig voor het realiseren van een dobbelsteen.

Vorige les : functies

Aangezien deze les gebruik maakt van een functie is het misschien handig om de theorie van functies terug op te frissen.

Mobiele versie afsluiten