Оглавление:

ЭЛЕКТРОННЫЕ Кости с использованием CLOUDX M633: 5 шагов
ЭЛЕКТРОННЫЕ Кости с использованием CLOUDX M633: 5 шагов

Видео: ЭЛЕКТРОННЫЕ Кости с использованием CLOUDX M633: 5 шагов

Видео: ЭЛЕКТРОННЫЕ Кости с использованием CLOUDX M633: 5 шагов
Видео: HyperX CloudX - Гарнитура НОВИНКА ДЛЯ КОНСОЛЕЙ (ОБЗОР, АНБОКСИНГ) 2024, Ноябрь
Anonim
ЭЛЕКТРОННЫЕ Кости с использованием CLOUDX M633
ЭЛЕКТРОННЫЕ Кости с использованием CLOUDX M633

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

Я представляю электронные цифровые игральные кости с простыми светодиодами, кнопкой и модулем CloudX M633 для его реализации.

Шаг 1: КОМПОНЕНТЫ

КОМПОНЕНТЫ
КОМПОНЕНТЫ
КОМПОНЕНТЫ
КОМПОНЕНТЫ
КОМПОНЕНТЫ
КОМПОНЕНТЫ
  • CloudX M633
  • Программная карта CloudX
  • Светодиоды
  • Резисторы (100р, 10к)
  • Хлебная Доска
  • Перемычка
  • нажать кнопку
  • Шнур V3

Шаг 2: светодиоды

Светодиоды
Светодиоды

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

Шаг 3: Подключение светодиодов к CloudX M633

Взаимодействие светодиодов с CloudX M633
Взаимодействие светодиодов с CloudX M633

Вся схема состоит из двух частей: микроконтроллера и светодиодов соответственно. Светодиоды организованы в два набора, каждый из которых - (состоит из 7 светодиодов), представляющих нормальные грани игральной кости; и подключены к контакту P1 через контакт P14 модуля MCU.

Вся операция вращается вокруг модуля микроконтроллера как сердцебиение всего проекта. Его (MCU) можно включить:

  • либо через точки VIN и GND (т. е. подключив их к клеммам + ve и –ve вашего внешнего блока питания соответственно) на плате;
  • или через модуль Softcard USB CloudX.

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

Первая группа светодиодов включает: D1, D2, D3, D4, D5, D6 и D7; подключены к контактам микроконтроллера: P1, P2, P3, P4, P5, P6 и P7 соответственно через резисторы 10 Ом. Принимая во внимание, что другая группа, состоящая из: D8, D9, D10, D11, D12, D13 и D14; подключены к контактам микроконтроллера: P9, P10, P11, P12, P13, P14 и P15 соответственно через резисторы 10 Ом.

Затем кнопочный переключатель SW1, с помощью которого мы генерируем случайное число с помощью нажатия переключателя, подключается к выводу P16 микроконтроллера с помощью подтягивающего резистора 10 кОм.

Шаг 4: Принципы работы

При запуске все светодиоды обычно выключены, что указывает на то, что система готова к генерации нового случайного числа для отображения. При нажатии переключателя генерируется случайное число в диапазоне от 1 до 6, которое отображается на светодиодах; и останется включенным в ожидании, когда снова будет нажата кнопка.

Шаг 5: КОДИРОВКА

#включают

#включают

#define switch1 pin16

#define нажат LOW

/ * содержит шаблоны игральных костей, которые будут отображаться на светодиодах * /

символ без знака = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

беззнаковый символ i, dice1, dice2;

setup () {// настройка здесь / * настраивает контакты порта как выходные * / portMode (1, OUTPUT); portMode (2, 0b10000000); / * выключает все светодиоды при запуске * / portWrite (1, LOW); portWrite (2, LOW); randNumLimit (1, 6); // заботится о диапазоне генерации randomNumber (т.е. min, max)

петля(){

// Программируем здесь if (switch1 нажат) {while (switch1 LOW); // здесь ждем, пока переключатель не будет отпущен dice1 = randNumGen (); // генерирует случайное число для dice1 dice2 = randNumGen (); portWrite (1, die [dice1]); // выбирает правильный образец игральных костей и отображает его portWrite (2, die [dice2]); } else {portWrite (1, die [dice1]); portWrite (2, die [dice2]); }}} // Конец программы

Рекомендуемые: