Het display bestaat uit 7 leds die in de form zijn gezet zodat ze elk cijfer kunnen maken.
Les15-1:
Zorg er voor dat je alle voedingsspanningen los koppelt (usb niet aangesloten op de pc en geen power adapter aangesloten op de voedingsplug).
sluit de Arduino aan volgens onderstaand schema:
Hieronder een tekening van het display en de bijbehorende Arduino pennen die we gebruikt hebben:
Start het Arduino programma en sluit de USB kabel aan.
Typ de volgende code over of kopieer deze naar de arduino ide:
Code: Select all
// 2 3 4 5 6 7 8 9
int letter0[]={1, 0, 0, 0, 0, 1, 0, 0}; //set met containers voor het cijfer 0
int letter1[]={1, 0, 1, 1, 1, 1, 1, 0}; //set met containers voor het cijfer 1
int letter2[]={1, 1, 0, 0, 1, 0, 0, 0}; //set met containers voor het cijfer 2
int letter3[]={1, 0, 0, 1, 1, 0, 0, 0}; //set met containers voor het cijfer 3
int letter4[]={1, 0, 1, 1, 0, 0, 1, 0}; //set met containers voor het cijfer 4
int letter5[]={1, 0, 0, 1, 0, 0, 0, 1}; //set met containers voor het cijfer 5
int letter6[]={1, 0, 0, 0, 0, 0, 0, 1}; //set met containers voor het cijfer 6
int letter7[]={1, 0, 1, 1, 1, 1, 0, 0}; //set met containers voor het cijfer 7
int letter8[]={1, 0, 0, 0, 0, 0, 0, 0}; //set met containers voor het cijfer 8
int letter9[]={1, 0, 0, 1, 0, 0, 0, 0}; //set met containers voor het cijfer 9
int letterdot[]={0, 1, 1, 1, 1, 1, 1, 1}; //set met containers voor de punt
void setup() {
Serial.begin(9600);
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
pinMode(i, OUTPUT); //Zet de waarde van de container i als output
digitalWrite(i, HIGH); //Zet alles uit bij het opstarten
}
}
void loop() {
//letter 9
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter9[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 8
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter8[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 7
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter7[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 6
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter6[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 5
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter5[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 4
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter4[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 3
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter3[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 2
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter2[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 1
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter1[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter 0
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter0[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
//letter dot
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letterdot[i - 2]); //maak de waarde van de container i laag
}
delay(1000); //wacht 1 seconde
}
We gebruiken hetzelfde schema als in les 15-1
Start het Arduino programma en sluit de USB kabel aan.
Typ de volgende code over of kopieer deze naar de arduino ide:
Code: Select all
void printletter0() {
int letter0[]={1, 0, 0, 0, 0, 1, 0, 0}; //set met containers voor het cijfer 0
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter0[i - 2]); //maak de waarde van de container i laag
}
}
void printletter1() {
int letter1[]={1, 0, 1, 1, 1, 1, 1, 0}; //set met containers voor het cijfer 1
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter1[i - 2]); //maak de waarde van de container i laag
}
}
void printletter2() {
int letter2[]={1, 1, 0, 0, 1, 0, 0, 0}; //set met containers voor het cijfer 2
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter2[i - 2]); //maak de waarde van de container i laag
}
}
void printletter3() {
int letter3[]={1, 0, 0, 1, 1, 0, 0, 0}; //set met containers voor het cijfer 3
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter3[i - 2]); //maak de waarde van de container i laag
}
}
void printletter4() {
int letter4[]={1, 0, 1, 1, 0, 0, 1, 0}; //set met containers voor het cijfer 4
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter4[i - 2]); //maak de waarde van de container i laag
}
}
void printletter5() {
int letter5[]={1, 0, 0, 1, 0, 0, 0, 1}; //set met containers voor het cijfer 5
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter5[i - 2]); //maak de waarde van de container i laag
}
}
void printletter6() {
int letter6[]={1, 0, 0, 0, 0, 0, 0, 1}; //set met containers voor het cijfer 6
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter6[i - 2]); //maak de waarde van de container i laag
}
}
void printletter7() {
int letter7[]={1, 0, 1, 1, 1, 1, 0, 0}; //set met containers voor het cijfer 7
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter7[i - 2]); //maak de waarde van de container i laag
}
}
void printletter8() {
int letter8[]={1, 0, 0, 0, 0, 0, 0, 0}; //set met containers voor het cijfer 8
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter8[i - 2]); //maak de waarde van de container i laag
}
}
void printletter9() {
int letter9[]={1, 0, 0, 1, 0, 0, 0, 0}; //set met containers voor het cijfer 9
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letter9[i - 2]); //maak de waarde van de container i laag
}
}
void printletterdot() {
int letterdot[]={0, 1, 1, 1, 1, 1, 1, 1}; //set met containers voor de punt
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
digitalWrite(i, letterdot[i - 2]); //maak de waarde van de container i laag
}
}
void setup() {
Serial.begin(9600);
for (int i = 2; i <= 9; i++) { //tel van 2 tot 9 en stop dit in de container i
pinMode(i, OUTPUT); //Zet de waarde van de container i als output
digitalWrite(i, HIGH); //Zet alles uit bij het opstarten
}
}
void loop() {
printletter9(); //voer functie letter9 uit
delay(1000); //wacht 1 seconde
printletter8(); //voer functie letter8 uit
delay(1000); //wacht 1 seconde
printletter7(); //voer functie letter7 uit
delay(1000); //wacht 1 seconde
printletter6(); //voer functie letter6 uit
delay(1000); //wacht 1 seconde
printletter5(); //voer functie letter5 uit
delay(1000); //wacht 1 seconde
printletter4(); //voer functie letter4 uit
delay(1000); //wacht 1 seconde
printletter3(); //voer functie letter3 uit
delay(1000); //wacht 1 seconde
printletter2(); //voer functie letter2 uit
delay(1000); //wacht 1 seconde
printletter1(); //voer functie letter1 uit
delay(1000); //wacht 1 seconde
printletter0(); //voer functie letter0 uit
delay(1000); //wacht 1 seconde
printletterdot(); //voer functie letterdot uit
delay(10000); //wacht 1 seconde
}
In deze versie zijn we over gegaan naar het gebruik van functies om de cijfers aan te roepen.
Deze functies kun je heel eenvoudig in je eigen programma kopiëren en zo de cijfers aanroepen die je hebben wilt.
Je ziet dat het in veel gevallen handiger is om functies te gebruiken die je later vanuit 1 regel aan kunt roepen.