#define DATA 13 // Пин данных #define LATCH 12 // Пин "защелкиквания" или строба #define CLOCK 11 // Пин такта // Создадим несколько пееменных типа byte. // Я не стал создавать массив т.к. я сделал всего 3 режима // Для большего количества данных, передаваемых на микросхему, // лучше создавать массив. byte number1 = 0b01000000; //1 светодиод горит byte number2 = 0b01110000; // 3 светодиода горит byte number3 = 0b011111100; // 6 светодиодов горит void setup() { Serial.begin(9600); Serial.println("Write number"); // Обозначеные нами, три управляющих пина обозначим как выход pinMode(DATA, OUTPUT); pinMode(LATCH, OUTPUT); pinMode(CLOCK, OUTPUT); } void loop() { // Код из наших прошлыых уроков для приема команд с Сериала if(Serial.available() > 0) { char cmd = Serial.read(); if(cmd == '1') { //Зажигаем 1 светодиод digitalWrite(LATCH, LOW); shiftOut(DATA, CLOCK, LSBFIRST, number1); digitalWrite(LATCH, HIGH); } if(cmd == '3') { //Зажигаем 3 светодиода digitalWrite(LATCH, LOW); shiftOut(DATA, CLOCK, LSBFIRST, number2); digitalWrite(LATCH, HIGH); } if(cmd == '6') { //Зажигаем 6 светодиодов digitalWrite(LATCH, LOW); shiftOut(DATA, CLOCK, LSBFIRST, number3); digitalWrite(LATCH, HIGH); } } } //Ты можешь дополнить код, чтобы были режимы горения 2, 4, 5 светодиодов.