// Объявляем переменные:
// номер порта на который выводиться биты, соединяется с SI входом
int dataPin = 9;
int clockPin = 11; // к выводу 11 регистра SCK
int latchPin = 12; // к выводу 12 регистра RCK
// для высвечивания номера данные переменные записываются в виде байта
const byte NumbersToSegments[10]
{
0b01000000, // 0
0b01111001, // 1
0b00100100, // 2
0b00110000, // 3
0b00011001, // 4
0b00010010, // 5
0b00000010, // 6
0b01111000, // 7
0b00000000, // 8
0b00010000, // 9
};
int Numbers=5; // переменная выбора номера
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
digitalWrite(latchPin, LOW); // начинаем передачу данных
shiftOut(dataPin, clockPin, LSBFIRST, 0b11111111); //
digitalWrite(latchPin, HIGH); // прекращаем передачу данных
}
void loop()
{
digitalWrite(latchPin, LOW); // начинаем передачу данных
// записываем в порт считанный бит: 1 - HIGH, 0 - LOW
shiftOut(dataPin, clockPin, LSBFIRST, NumbersToSegments[Numbers]);
digitalWrite(latchPin, HIGH); // прекращаем передачу данных
}