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

Цифровые кубики для «Поселенцев Катана» на Arduino UNO и LCD

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

О проекте

Устройство заменяет два игральных кубика в настольной игре «Поселенцы Катана». Нажатие кнопки запускает анимацию «броска» — быстро сменяющиеся случайные числа на двух строках дисплея, замедляющиеся к финишу. Результат — два числа от 1 до 6. Если сумма равна 7, появляется надпись «The Robber» (Разбойник), напоминая игрокам сбросить лишние карты.

Сборка

  1. Подключите LCD по стандартной схеме (RS=12, E=11, D4=5, D5=4, D6=3, D7=2).
  2. Кнопку подключите к пину D10 (один контакт на GND, используется INPUT_PULLUP).
  3. Установите библиотеку LiquidCrystal (входит в Arduino IDE).

Программный код

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int diceButton = 10;
int reply; int count = 0;
long diceOne; long diceTwo;

void setup() {
  lcd.begin(16, 2);
  pinMode(diceButton, INPUT_PULLUP);
  randomSeed(analogRead(0));
  lcd.setCursor(1, 0);
  lcd.print("Roll the dice!");
}

void buildUp() {
  lcd.clear();
  int countDelay = 220;
  int setColumn = 0;
  for (count = 0; count <= 16; count++) {
    lcd.setCursor(setColumn, 0);
    lcd.print(random(1, 7));
    lcd.setCursor(setColumn, 1);
    lcd.print(random(1, 7));
    delay(countDelay);
    countDelay -= 13;
    setColumn += 1;
  }
}

void loop() {
  if (digitalRead(diceButton) == LOW) { // нажатие (LOW из-за pull-up)
    buildUp();
    lcd.clear();
    diceOne = random(1, 7);
    diceTwo = random(1, 7);
    lcd.setCursor(7, 0);
    lcd.print(diceOne);
    lcd.setCursor(7, 1);
    lcd.print(diceTwo);
    if (diceOne + diceTwo == 7) {
      lcd.clear();
      lcd.setCursor(7, 0);
      lcd.print("7");
      lcd.setCursor(3, 1);
      lcd.print("The Robber");
    }
    delay(500); // защита от дребезга
  }
}

Использование

Включите питание. На экране «Roll the dice!». Нажмите кнопку — начнется анимация, затем выпадет результат. При сумме 7 — сообщение о Разбойнике. Нажмите снова для следующего броска.

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

  1. Использование декодера 4511 для 7-сегментного индикатора: практическое руководство по BCD-дисплею
  2. Индикаторные лампы: от КИП к «Кошачьему глазу»
  3. Продвинутый спектральный анализ: интерпретация форм волн и гармоник
  4. История, дизайн и производство кубиков: от древних инструментов к современным играм
  5. Жидкокристаллические дисплеи (LCD): технология, производство и перспективы
  6. Освоение перегрузки методов в C#: концепции, примеры и лучшие практики
  7. Primal Display: создайте монитор температуры на Raspberry Pi с LCD
  8. Установка дисплея Kuman 3.5″ TFT на RetroPie — Пошаговое руководство
  9. Понимание задач (Tasks) в Verilog: отличия от функций, синтаксис и применение
  10. Мастерство задач отображения в Verilog: эффективная отладка и логирование