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