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

Создание рулетки на 37 светодиодов с Arduino Nano

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

Arduino Nano R3 1
Сдвиговый регистр 74HC595 5
Светодиоды (LED) 37
Зуммер (Buzzer) 1
Транзистор NPN общего назначения 1
Таковая кнопка 1

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

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

О проекте

Рулетка — казино-игра, название от фр. «маленькое колесо». Игроки ставят на число, группы чисел, цвет (красное/чёрное), чёт/нечёт, высокие (19-36) или низкие (1-18) числа.

Большинство проектов используют 10 светодиодов, здесь — 37 светодиодов как в настоящем европейском колесе (один ноль + 36 чисел). При нажатии кнопки запускается «виртуальный шар»: светодиоды зажигаются последовательно, скорость плавно снижается до остановки на случайном числе. Звуковой эффект добавляет реализма. Скорость и время настраиваются в коде.

Создание рулетки на 37 светодиодов с Arduino Nano

Устройство простое:

Готовое устройство помещено в корпус из ПВХ с цветной обклейкой.

Код

int SER_Pin = 8;   // pin 14 on 74HC595
int RCLK_Pin = 9;  // pin 12 on 74HC595
int SRCLK_Pin = 10; // pin 11 on 74HC595

#define number_of_74hc595s 5
#define numOfRegisterPins number_of_74hc595s * 8

boolean registers[numOfRegisterPins];
int Randomwaarde;
int del = 5;

void setup() {
  pinMode(SER_Pin, OUTPUT);
  pinMode(RCLK_Pin, OUTPUT);
  pinMode(SRCLK_Pin, OUTPUT);
  clearRegisters();
  writeRegisters();
  randomSeed(analogRead(3));
  Randomwaarde = random(190, 210);
  Serial.println(Randomwaarde);
}

void clearRegisters() {
  for (int i = numOfRegisterPins - 1; i >= 0; i--) registers[i] = LOW;
}

void writeRegisters() {
  digitalWrite(RCLK_Pin, LOW);
  for (int i = numOfRegisterPins - 1; i >= 0; i--) {
    digitalWrite(SRCLK_Pin, LOW);
    int val = registers[i];
    digitalWrite(SER_Pin, val);
    digitalWrite(SRCLK_Pin, HIGH);
  }
  digitalWrite(RCLK_Pin, HIGH);
}

void setRegisterPin(int index, int value) {
  registers[index] = value;
}

void loop() {
  for (int x = 0; x <= 36; x++) {
    if (del <= Randomwaarde) {
      setRegisterPin(x, HIGH);
      writeRegisters();
      delay(del);
      setRegisterPin(x, LOW);
      writeRegisters();
      del++;
    } else {
      setRegisterPin(x, HIGH);
      writeRegisters();
      delay(10000);
      setRegisterPin(x, LOW);
      writeRegisters();
      del = 5;
    }
  }
}

Схемы

Создание рулетки на 37 светодиодов с Arduino Nano

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

  1. Сделай свой LUMAZOID: DIY Arduino музыкальный визуализатор
  2. Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
  3. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  4. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  5. Интерактивная игра с джойстиком и LED-обратной связью на Arduino
  6. Портативный дальномер на Arduino Nano: HC-SR04, питание 18650, 3D-корпус
  7. MobBob: Самостоятельная сборка Arduino-робота под управлением Android-смартфона
  8. Pixel Chaser: игра на один тап с NeoPixel Ring и Arduino Nano
  9. Медное гальваническое покрытие: умная система на Arduino UNO
  10. NeoPixel Matrix Pong на Arduino Nano: неоновая игра Pong на матрице 15×10