Wyświetlacz 7 segmentowy z Arduino i rejestrem przesuwnym 74HC595
Połączenie wyświetlacza przez rejestr przesuwny pozwala zaoszczędzić kilka wyjść cyfrowych.
byte latchPin = 5, clockPin = 6, dataPin = 4, digit;
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() {
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
displayDigit(7);
}
void displayDigit(byte d) {
digit = 0;
for (int i = 0; i <= 7; i++) {
if (nums[d][i] == 1) bitSet(digit, i);
}
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, digit);
digitalWrite(latchPin, HIGH);
}
void loop() {}
Przeczytaj: Wyświetlacz 7 segmentowy z Arduino
Przeczytaj: Rejestr przesuwny 74HC595 z Arduino