Игра светодиодная рулетка

Светодиодные рулетки представляют собой комплекты вращающихся LED колец, в которых при нажатии кнопки свет очень быстро вращается по кругу светодиодов, замедляется и в конечном итоге останавливается на одном случайном светодиоде.

Рулетка – это знаменитая и широко распространенная азартная игра, в которой игроки делают ставки на то, в каком месте вращающегося колеса остановится маленький шарик. Существует две популярные рулетки – американская и европейская. Колесо европейской рулетки имеет один ноль, а колесо американской — два нуля (последовательность чисел также другая).

Игра светодиодная рулетка



Почти все электронные светодиодные рулетки основаны на схожей схеме, состоящей из двух микросхем — таймера 555 и декадного счетчика 4017. Но некоторые из них перешли на обновленную, довольно простую конструкцию, в которой используется дешевый микроконтроллер серии STC.

Игра светодиодная рулетка

Светодиодная рулетка на Arduino

В качестве упражнения по программированию было бы интересно заменить схему микроконтроллером Arduino. Поскольку логика, реализуемая классической схемой LED рулетки, очень проста, код Arduino, реализующий ту же логику, также довольно прост. Далее прошивка для микроконтроллеров Arduino Uno/Nano.



const
int pinTGR = 2; //Pushbutton Switch x1
int
pinLEDs[4] = {3, 4, 5, 6}; //LEDs x4
int
state = 0;
void
setup()
{
pinMode (pinTGR, INPUT_PULLUP);
pinMode (pinLEDs[0], OUTPUT);
pinMode (pinLEDs[1], OUTPUT);
pinMode (pinLEDs[2], OUTPUT);
pinMode (pinLEDs[3], OUTPUT);
digitalWrite (pinLEDs[0], LOW);
digitalWrite (pinLEDs[1], LOW);
digitalWrite (pinLEDs[2], LOW);
digitalWrite (pinLEDs[3], LOW);
}
void
loop ()
{
int triggering = digitalRead (pinTGR);
int winktime = 50;
boolean done;
if (triggering == LOW)
{
if (state == 0)
{
state = 1;
done = false;
winktime = 20;
winktime += random(22);
while (!done)
{
for (int j = 0; j < 4; j++)
{
winktime += 4;
digitalWrite(pinLEDs[j], HIGH);
if (winktime > 200)
{
done = true;
break;
}
delay(winktime);
digitalWrite(pinLEDs[j], LOW);
delay(winktime);
}
}
}
}
else
{
state = 0;
}
}

Стоит отметить, что плата Arduino здесь имеет только 4 светодиода, но этого достаточно для демонстрации работы. В любом случае, поскольку большинство плат Arduino имеют более двенадцати выходных контактов, к электронному кольцу рулетки можно добавить ещё больше светодиодов без какой-либо дополнительной электроники. Вот схема подключения:

Полезное на сайте:
Универсальный драйвер коллекторных и шаговых моторов

Игра светодиодная рулетка

Тестовая плата собрана с помощью Seeeduino Nano, как показано на фото.

Игра светодиодная рулетка

Все что нужно сделать, это запитать схему либо от источника USB 5 В, либо от аккумуляторной батареи 9 В или сетевого адаптера с аналогичными характеристиками. А затем просто нажмите и отпустите спусковую кнопку. Если все собрано хорошо, то увидите, как светодиоды последовательно загораются с определенной скоростью, которая постепенно гаснет до полной остановки на произвольно выбранном светодиоде.

Подведение итогов

Сборка электронной рулетки может показаться бессмысленной, если учесть, что можно при желании играть в онлайн-рулетку. Но этот забавный проект поможет начинающим радиолюбителям узнать больше о секретах аналоговой и цифровой электроники. Такая игра с дискретными компонентами, или с помощью микроконтроллера Arduino, станет для них хорошей возможностью познакомиться с базовой электроникой и выполнить практическое программирование популярного микроконтроллера.

Полезное на сайте:
Как от литиевого аккумулятора получить 5 и 12 вольт

  • Датчик вибрации SW-420

    Модуль который сегодня будем изучать, оснащен датчиком вибрации, регулируемым подстроечным резистором и микросхемой компаратора, обеспечивающими регулируемый цифровой выходной сигнал в

  • Автоматическая кормушка на Arduino

    Купив автоматическую кормушку для рыб, возникла идея сделать простой модуль реле управления кормушкой. Это должен быть универсальный релейный модуль питателя,