Оглавление:

Arduino Oled Dice: 10 шагов (с изображениями)
Arduino Oled Dice: 10 шагов (с изображениями)

Видео: Arduino Oled Dice: 10 шагов (с изображениями)

Видео: Arduino Oled Dice: 10 шагов (с изображениями)
Видео: Подключения модуля OLED-дисплея «SSD1306» фирмы «Winstar» к плате «Arduino» 2024, Июнь
Anonim
Image
Image
Функции игры в кости
Функции игры в кости

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

На видео показаны окончательная версия и функции игральных костей, изготовленных на заказ.

Шаг 1: функции игральных костей

У кубиков есть переключатель выбора, позволяющий выбирать между 1 или 2 кубиками, а также пьезоэлемент для генерации звука, когда кубик проходит через случайные числа и когда он останавливается. Пока переключатель броска удерживается нажатым, игральные кости бегают и показывают на дисплее случайные числа. Когда кнопку отпускают, она начинает замедляться на случайное количество раз, пока, наконец, не остановится и не покажет результаты. Это сделано для имитации поведения настоящих игральных костей.

Dice имеет схему автоматического отключения питания для экономии заряда батарей.

Если вы не используете кости в течение 60 секунд, питание автоматически отключается.

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

Шаг 2: функция автоматического отключения питания

Функция автоматического отключения питания
Функция автоматического отключения питания

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

Вот как это работает:

Схема состоит из полевого транзистора P, который действует как переключатель. Затвор транзистора управляется стандартной кнопкой мгновенного действия (S1). Когда переключатель нажат, напряжение на затворе падает, и ток начинает течь через транзистор. На затворе есть другой транзистор, параллельный переключателю на землю. Транзистор поддерживает низкое напряжение на затворе полевых транзисторов, пока напряжение на базе высокое. Базовое напряжение подается от микроконтроллера, и одно из первых действий скетча при включении контроллера - это установка цифрового контакта 8 на высокий уровень и программная фиксация схемы. Стабилизатор напряжения 7805 стабилизирует напряжение до 5 В, а два диода предотвращают попадание 9 В от батареи на микроконтроллер. Тот же переключатель также используется для управления цифровым входом на контроллере (контакт 7).

В эскизе мы измеряем время, прошедшее с момента нажатия кнопки, и сравниваем его с определенным временем включения.

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

Непосредственно перед отключением питания микроконтроллер сохраняет последнее число в памяти EEPROM вместе с выбранным количеством игральных костей / игральных костей и состоянием звука. Эти значения вызываются при следующем запуске игры в кости.

Шаг 3: прототип

Прототип
Прототип

Пришло время начать строительство.

Тебе нужно:

  • 1 беспаечная доска для хлеба
  • 1 Arduino Uno
  • 1 OLED-дисплей 128x64 i2c
  • 2 конденсатора 10 мкФ
  • 1 конденсатор 100 нФ
  • 2 резистора 10 кОм
  • 2 резистора 100 кОм
  • 2 диода 1n4148
  • 1 Транзистор NPN BC547b
  • 1 МОП-транзистор IRF9640
  • 1 Регулятор напряжения L7805
  • 2 моментальных выключателя
  • 1 пьезо
  • Перемычка
  • Батарея 9 В

Вот и все.

Внимательно следите за рисунком фрита выше

Обратите особое внимание на диод за регулятором напряжения на картинке (плохо видно), на D1 на схеме. Сторона анода диода должна быть подключена к коллектору транзистора BC547.

Piezo подключен к контакту 6, кнопка Roll - к контакту 7, кнопка Select - к контакту 10, а элемент управления Power_ON - к контакту 8.

Не забудьте подключить Arduino Uno к контакту 5V и контакту заземления на плате Arduino, а не через кожух постоянного тока сбоку.

В скетче для отображения используется U8g2lib.h, вы можете найти его здесь, https://github.com/olikraus/u8g2/, загрузите и установите перед компиляцией кода.

Как установить библиотеки?

Скопируйте код, вставьте его в Arduino IDE и загрузите скетч.

Не забудьте вынуть USB-кабель из Arduino, когда закончите, иначе функция автоматического выключения не будет работать, потому что USB / компьютер питает контроллер.

Шаг 4: Пользовательская версия

Пользовательская версия
Пользовательская версия
Пользовательская версия
Пользовательская версия
Пользовательская версия
Пользовательская версия
Пользовательская версия
Пользовательская версия

Остальная часть этого руководства посвящена советам и триксам, если вы хотите преобразовать их в более полезную и индивидуальную версию.

Чтобы нарисовать полную схему для пользовательской версии, я использовал бесплатное онлайн-программное обеспечение для создания схем и печатных плат EASYEDA. Его можно найти здесь

При заказе компонентов вы должны быть уверены, что микроконтроллер имеет загрузчик Arduino на чипе, в противном случае вы должны сначала подготовить чип. В Интернете есть множество учебных пособий, как это сделать.

Я добавил дополнительные компоненты, которые не используются в этом проекте, но есть в будущих проектах. U4, U5, R4, S2.

Заголовок PGM на схеме используется для программирования микросхемы. Если вы хотите запрограммировать чип с помощью порта PGM, вам понадобится адаптер USB-Serial.

USB к последовательным платам UART

Конечно, вы можете загрузить эскиз в контроллер с помощью платы Arduino, а затем вместо этого переместить чип на печатную плату.

EASYEDA также предоставляет функцию изготовления печатной платы для вас.

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

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

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

Шаг 5: пайка

Пайка
Пайка
Пайка
Пайка

Поскольку мне нужно заказать более одной печатной платы, чтобы получить разумную цену, я делаю ее универсальной, чтобы я мог использовать ту же плату и коробку для будущих проектов. Я добавил дополнительные контакты для аналоговых и цифровых портов вместе с дополнительными кнопками. В этом проекте я использую S1, чтобы включить схему и бросать кости, а S3 - как Select. Когда вы получили печатную плату, самое время припаять все компоненты в нужных местах. На моей печатной плате дисплей и кнопки установлены на задней стороне, чтобы уменьшить размер и быть доступными снаружи.

Когда я собирал свои кости, я понял, что было бы неплохо, если бы вы могли просто встряхнуть коробку, чтобы включить ее и бросить кости. Если вы хотите эту функцию, вам нужно сделать небольшую модификацию схемы.

Модификация:

Изменил переключатель поворота (S1) на датчик переключателя наклона и добавил конденсатор 100 мкФ параллельно переключателю, чтобы удерживать уровень на затворе полевого транзистора достаточно низким, чтобы микроконтроллер успел запустить и установить порт цифрового выхода ВЫСОКИЙ и зафиксируйте цепь включения.

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

Датчик наклона

Шаг 6: вырежьте в коробке необходимые отверстия

Вырежьте необходимые отверстия в коробке
Вырежьте необходимые отверстия в коробке
Вырежьте необходимые отверстия в коробке
Вырежьте необходимые отверстия в коробке

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

Шаг 7: лицевая панель

Передняя панель
Передняя панель
Передняя панель
Передняя панель

Тогда вам понадобится красивая передняя панель. Я рисовал панель в «программе для умного рисования», но вы можете использовать практически любую программу для рисования, которая вам нравится.

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

Шаг 8: прорезание отверстий в панели

Вырезание отверстий в панели
Вырезание отверстий в панели
Вырезание отверстий в панели
Вырезание отверстий в панели
Вырезание отверстий в панели
Вырезание отверстий в панели
Вырезание отверстий в панели
Вырезание отверстий в панели

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

Шаг 9: Конец проекта

Конец проекта
Конец проекта
Конец проекта
Конец проекта

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

У меня никогда не было этой проблемы во время прототипирования, поэтому я был немного сбит с толку, но обнаружил, что это связано с шумом, проецируемым на выводы SDA, SCL дисплея.

Решением было добавить к дополнительным резисторам 1 кОм на каждом выводе до 5 В в качестве подтягивающего напряжения, как показано на рисунке. После этого игральные кости работают идеально, как и ожидалось.

Шаг 10: встряхнуть и катить

Повеселись.

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