Теперь перейдем к написанию кода.
За основу возьмем код с предыдущего урока.
Добавим в код 2 кнопки, назначим 11 и 12 выводы контроллера как входы, можно посмотреть пример подключения кнопки из предыдущих уроков.
Далее, создаем переменную count для подсчета случайного числа.
Так как в оригинальном кубике всего 6 цифр, мы то же оставляем в коде программы 6 цифр, от 1 до 6.
Далее, в главном цикле программы создадим счетчик с проверкой условия, если значение счетчика больше или равно 6, присваиваем переменной count значение 1, если меньше то увеличиваем значение переменной count на 1.
if (count>=6) {
count =  0;  
  } else {
count = count + 1;  
  };
Затем сделаем отображение значения переменной count при нажатии на кнопку СТАРТ.
Полный код игрового автомата "Электронный кубик" 
- Код: выделить все
- //  Урок 7. Игровой автомат "Электронный кубик" на Ардуино
 const int led2 =  2;
 const int led3 =  3;
 const int led4 =  4;
 const int led5 =  5;
 const int led6 =  6;
 const int led7 =  7;
 const int led8 =  8;
 
 const int button1 =  11;
 const int button2 =  12;
 
 int buttonState1 = 0;
 int buttonState2 = 0;
 
 int count = 0;
 
 void setup() {
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 pinMode(led4, OUTPUT);
 pinMode(led5, OUTPUT);
 pinMode(led6, OUTPUT);
 pinMode(led7, OUTPUT);
 pinMode(led8, OUTPUT);
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 // 0
 digitalWrite(led6, HIGH);
 digitalWrite(led7, HIGH);
 digitalWrite(led8, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 digitalWrite(led4, HIGH);
 pinMode(button1, INPUT_PULLUP);
 pinMode(button2, INPUT_PULLUP);
 }
 
 void loop() {
 int i = 1;
 
 buttonState1 = digitalRead(button1);
 buttonState2 = digitalRead(button2);
 
 if (count>=6) {
 count =  0;
 } else {
 count = count + 1;
 };
 
 if (buttonState1 == HIGH) {
 
 } else {
 
 if (count==1){
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 
 // 1
 digitalWrite(led8, HIGH);
 digitalWrite(led2, HIGH);
 };
 
 if (count==2){
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 
 // 2
 digitalWrite(led7, HIGH);
 digitalWrite(led8, HIGH);
 digitalWrite(led5, HIGH);
 digitalWrite(led4, HIGH);
 digitalWrite(led3, HIGH);
 };
 if (count==3){
 
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 
 // 3
 digitalWrite(led7, HIGH);
 digitalWrite(led8, HIGH);
 digitalWrite(led5, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 };
 if (count==4){
 
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 
 
 // 4
 digitalWrite(led6, HIGH);
 digitalWrite(led5, HIGH);
 digitalWrite(led8, HIGH);
 digitalWrite(led2, HIGH);
 };
 if (count==5){
 
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 
 // 5
 digitalWrite(led7, HIGH);
 digitalWrite(led6, HIGH);
 digitalWrite(led5, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 };
 if (count==6){
 
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 
 // 6
 digitalWrite(led7, HIGH);
 digitalWrite(led6, HIGH);
 digitalWrite(led4, HIGH);
 digitalWrite(led3, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led5, HIGH);
 };
 
 };
 
 if (buttonState2 == HIGH) {
 
 } else {
 
 //  Очистка всех сегментов
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 digitalWrite(led6, LOW);
 digitalWrite(led7, LOW);
 digitalWrite(led8, LOW);
 // 0
 digitalWrite(led6, HIGH);
 digitalWrite(led7, HIGH);
 digitalWrite(led8, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 digitalWrite(led4, HIGH);
 
 delay(i);
 }
 }
 
 
Загружаем код в плату Ардуино и можно начинать игру  
 
   
   
   
   
  