Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Рулетка DIY 37 LED

Компоненты и расходные материалы

Arduino Nano R3
× 1
ИС сдвигового регистра 74HC595
× 5
LED (общий)
× 37
Зуммер
× 1
NPN-транзистор общего назначения
× 1
Кнопочный переключатель, мгновенный
× 1

Необходимые инструменты и машины

Паяльник (общий)

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Рулетка - это игра в казино, названная в честь французского слова, означающего маленькое колесо. В игре игроки могут делать ставки на одно число, различные группы чисел, красный или черный цвета, четное или нечетное число, большие числа (19–36) или низкие (1 –18).

Чаще всего можно встретить проект игры в рулетку с 10 светодиодами, поэтому я решил обойтись 37 светодиодами, как в оригинальном колесе. Следуя принципу оригинальной игры в рулетку, движение светодиода имитирует шарик, скорость которого постепенно уменьшается, пока он не остановится на случайно сгенерированном числе. Конструкция значительно упрощается за счет использования микроконтроллера Arduino. Устройство относительно простое в сборке и состоит из нескольких компонентов:

- микроконтроллер Arduino Nano

- 74HC595 сдвиговый регистр на 5 рыб

- 37 светодиодов

- Транзистор NPN

- 2 резистора

- и зуммер

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

Наконец, устройство помещается в подходящий ящик из ПВХ-пластика и оклеивается цветными обоями.

Код

  • Код
Код C / C ++
 int SER_Pin =8; // вывод 14 на 75HC595int RCLK_Pin =9; // вывод 12 на 75HC595int SRCLK_Pin =10; // вывод 11 на 75HC595 // Сколько регистров сдвига - измените это # ​​define number_of_74hc595s 5 // не трогайте # define numOfRegisterPins number_of_74hc595s * 8булевых регистров [numOfRegisterPins]; int Randomwaarde; int del =5; void setup () {pinMode (SER_Pin, ВЫХОД); pinMode (RCLK_Pin, ВЫХОД); pinMode (SRCLK_Pin, ВЫХОД); // сбрасываем все выводы регистров clearRegisters (); writeRegisters (); randomSeed (analogRead (3)); Randomwaarde =random (190, 210); Serial.println (Randomwaarde);} // установить для всех выводов регистра значение LOWvoid clearRegisters () {for (int i =numOfRegisterPins - 1; i> =0; i -) {registers [i] =LOW; }} // Устанавливаем и отображаем регистры // Вызываем только ПОСЛЕ того, как все значения установлены так, как вы хотели (в противном случае медленно) void writeRegisters () {digitalWrite (RCLK_Pin, LOW); для (int я =numOfRegisterPins - 1; я> =0; я -) {digitalWrite (SRCLK_Pin, LOW); int val =регистры [я]; digitalWrite (SER_Pin, val); digitalWrite (SRCLK_Pin, HIGH); } digitalWrite (RCLK_Pin, HIGH);} // установить для отдельного вывода HIGH или LOWvoid setRegisterPin (int index, int value) {registers [index] =value;} void loop () {for (int x =0; x <=36; x ++) {если (del <=Randomwaarde) {setRegisterPin (x, HIGH); writeRegisters (); задержка (дель); setRegisterPin (x, LOW); writeRegisters (); дель =дель +1; } еще {setRegisterPin (x, HIGH); writeRegisters (); задержка (10000); setRegisterPin (x, LOW); writeRegisters (); del =5; }}} 

Схема


Производственный процесс

  1. Музыкальный визуализатор DIY LUMAZOID для Arduino
  2. Игра с гироскопом Arduino с MPU-6050
  3. Цифровые игральные кости Arduino
  4. Игровой контроллер Arduino
  5. Игра с джойстиком
  6. Переносимый детектор дальности
  7. MobBob:самостоятельный робот Arduino, управляемый смартфоном Android
  8. Игра Pixel Chaser
  9. Гальваника медью
  10. NeoMatrix Arduino Pong