Оглавление:

BrainGame: 8 шагов
BrainGame: 8 шагов

Видео: BrainGame: 8 шагов

Видео: BrainGame: 8 шагов
Видео: ШОУ МИСТЕРА БАНАНА ! ЭТА ИГРА ВЗОРВЁТ ТВОЙ МОЗГ в ROBLOX Shovelwares Brain Game 2024, Октября
Anonim
Image
Image

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

Все началось с того, что я помогала сыну в учебе.

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

Если вы читали мою другую инструкцию «OLEDDICE», вы, вероятно, узнаете коробку и другие вещи из этого проекта.

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

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

Доступны две версии.

1. Стандартная версия

2. Версия AutoPowerOff

Версия AutoPowerOff имеет несколько дополнительных компонентов, которые автоматически отключают питание для экономии заряда батарей.

Это идеальный выбор, если вы, как и я, делаете его портативным.

Шаг 1. Функции

Функции
Функции
Функции
Функции

Описанные ниже функции одинаковы для обеих версий, за исключением функции AutoPowerOff.

В игре есть три стандартных переключателя мгновенного действия для управления.

Выбрать, ОК и Назад

Вот как играть.

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

Вы можете выбрать одну из двух страниц.

Первая страница:

  • добавление
  • вычитание
  • умножение
  • разделение

Вторая страница:

  • двоичное преобразование
  • шестнадцатеричное преобразование
  • Показания аналоговых часов
  • Случайный режим работы с основными математическими вычислениями.

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

уровень с 1 по 4

Нажав кнопку «Назад», вы вернетесь в предыдущее меню.

Шаг 2. Начать игру

Начать игру
Начать игру
Начать игру
Начать игру
Начать игру
Начать игру

Нажмите ок, чтобы начать воспроизведение.

Игра 1-4

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

Повторное нажатие ОК даст вам новую задачу.

Игра 5-8

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

Играя в эту игру, у вас не будет шкалы времени, просто нажмите ОК, когда будете готовы отобразить ответ.

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

Чтобы было проще, часы всегда будут останавливаться с 5-минутными интервалами.

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

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

Шаг 3. Функции AutoPowerOff

Если вы собираете версию AutoPowerOff, есть несколько дополнительных функций.

Вы включаете устройство, удерживая кнопку ОК в течение секунды. Игра длится около 60 секунд, прежде чем вы получите предупреждение об автоматическом отключении, если вы не играете в какую-либо игру.

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

Нажатие любой кнопки сбросит таймер.

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

В скетче для хранения данных используется библиотека EEPROM, которая поставляется с IDE Arduino.

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

Шаг 4: приступим к сборке

Давайте начнем сборку
Давайте начнем сборку

Это то, что вам нужно.

Обе версии:

1 Arduino Uno

1 0,96-дюймовый Oled-дисплей i2c Oled-дисплей

3 кнопки мгновенного действия PCB Switch

3 резистора 10К

1 пьезоэлемент

1 макетная плата без пайки

несколько перемычек.

Версия AutoPowerOff:

Для версии AutoPowerOff вам также понадобится.

1 Pfet-транзистор IRF9640 или аналогичный

1 транзистор NPN BC547 или аналогичный

2 диода 1N4148

1 регулятор напряжения 7805

2 резистора 100К

2 конденсатора 10 мкФ

1 конденсатор 0,1 мкФ

1 батарея на 9 Вольт

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

SCL на дисплее подключен к Analog5, а SDA подключен к Analog4 на Arduino.

Шаг 5: Версия AutoPowerOff

Версия AutoPowerOff
Версия AutoPowerOff
Версия AutoPowerOff
Версия AutoPowerOff

При создании версии Autopoweroff необходимо добавить дополнительные компоненты из списка на макетную плату.

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

Также убедитесь, что ваш Arduino подключен к 5-вольтовому контакту наверху (а не через разъем постоянного тока на боковой стороне).

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

Так работает схема автоматического отключения питания.

При нажатии кнопки ok происходит падение напряжения на затворе PFet: s, позволяя мощности от батареи течь через транзистор к регулятору напряжения, который стабилизирует напряжение до 5 вольт.

Когда Arduino запитан, цифровой вывод 8 устанавливается на ВЫСОКИЙ логический уровень, а вывод подключается к базе BC547, которая блокирует схему, пока цифровой вывод 8 находится в ВЫСОКОМ состоянии.

Кнопка ok также управляет цифровым входом 7 на Arduino через диод D2.

Шаг 6: набросок

Эскиз
Эскиз

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

Скачайте и установите перед компиляцией кода.

Нужна помощь в установке библиотеки?

ВАЖНЫЙ:

Вы используете один и тот же скетч для обеих версий, но вам нужно исключить "#define AUTOPOWER" в начале скетча, если вы строите стандартную версию.

Шаг 7: Модификации

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

В скетче есть несколько параметров, которые пользователь, возможно, захочет изменить, чтобы лучше соответствовать ссылкам игроков.

  1. Время подумать на разных уровнях.
  2. Случайный диапазон для разных игр и уровней.

Диапазон случайных чисел хранится в массиве 2dim для каждой игры и каждого уровня.

Если вы используете OLED с адресом I2c, отличным от адреса по умолчанию, вы можете легко изменить его в соответствии с вашим дисплеем.

Шаг 8: Готово

Вы сделали.

Надеюсь, вам понравился проект и игра.

Повеселись.

Томас

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