Wyświetlacz 7 segmentowy z Arduino
Wyświetlacz 7 segmentowy występuje w 2 wersjach:
– wspólna katoda połączona z masą (zastosowany w tym przykładzie)
– wspólna anoda połączona ze źródłem zasilania
Wyświetlacz posiada 10 pinów, 8 z nich służy do włączenia odpowiedniego segmentu LED (A, B, C, D, E, F, G, DP).
byte pins[] = {2,3,4,5,6,7,8,9};
byte len = sizeof(pins)/sizeof(pins[0]);
byte nums[10][8] = {
{ 1, 1, 1, 1, 1, 1, 0, 0 }, // 0
{ 0, 1, 1, 0, 0, 0, 0, 0 }, // 1
{ 1, 1, 0, 1, 1, 0, 1, 0 }, // 2
{ 1, 1, 1, 1, 0, 0, 1, 0 }, // 3
{ 0, 1, 1, 0, 0, 1, 1, 0 }, // 4
{ 1, 0, 1, 1, 0, 1, 1, 0 }, // 5
{ 1, 0, 1, 1, 1, 1, 1, 0 }, // 6
{ 1, 1, 1, 0, 0, 0, 0, 0 }, // 7
{ 1, 1, 1, 1, 1, 1, 1, 0 }, // 8
{ 1, 1, 1, 1, 0, 1, 1, 0 } // 9
};
void setup() {
setPins();
displayCounter(7);
}
void loop(){}
void displayNumber(int number){
for (byte i=0; i<7; i++){
digitalWrite(pins[i], nums[number][i]);
digitalWrite(pins[7],0); //dot switch
}
}
void setPins(){
for(byte i=0; i<len; i++){
pinMode(pins[i], OUTPUT);
}
}
void displayCounter(byte number){
for (byte i=0; i<=number; i++){
displayNumber(i);
delay(500);
}
}
Przeczytaj: Wyświetlacz 7 segmentowy z Arduino i rejestrem przesuwnym 74HC595