// Объявляем переменные:
// переменная выбора номера
int Numbers=5;
// для сегментов
const int Segment[8] =
{ 2, 3, 4, 5, 6, 7, 8, 9};
// для высвечивания номера, данные переменные записываются в виде байта
const byte NumbersToSegments[10]
{
0b01000000, // 0 записанные цифры в виде байта по возрастанию
0b01111001, // 1
0b00100100, // 2
0b00110000, // 3
0b00011001, // 4
0b00010010, // 5
0b00000010, // 6
0b01111000, // 7
0b00000000, // 8
0b00010000, // 9
};
void setup()
{
for(int i=0; i<8; i++){
// присваиваем портам микроконтроллера
// что они работают как выход
pinMode(Segment[i], OUTPUT);
// записываем портам микроконтроллера значение HIGH
digitalWrite(Segment[i], HIGH);
}
}
void loop()
{
for(int segm=0; segm<8; segm++)
{
// считываем из выбранного байта бит под номером
// согласно переменной segm
int value = bitRead(NumbersToSegments[Numbers], segm);
// записываем в порт считанный бит: 1 - HIGH, 0 - LOW
digitalWrite(Segment[segm], value);
}
}