Съдържание:

Ръчна конзола Arduino Pong: 6 стъпки (със снимки)
Ръчна конзола Arduino Pong: 6 стъпки (със снимки)

Видео: Ръчна конзола Arduino Pong: 6 стъпки (със снимки)

Видео: Ръчна конзола Arduino Pong: 6 стъпки (със снимки)
Видео: 1. Q Light Controller + Първи стъпки с QLC +. Принадлежности и функции 2024, Ноември
Anonim
Ръчна конзола Arduino Pong
Ръчна конзола Arduino Pong

DFRobot се свърза с мен наскоро, искайки да използвам специалната им платка Arduino Nano и OLED. Първоначално исках да създам интелигентен мотор и го изградих изцяло. Но за съжаление Nano беше твърде слаб, за да работи и съхранява огромната скица, която беше необходима. Затова реших да прегледам един от предишните си проекти, неопикселова матрица, която управляваше игра на понг. Исках да го направя преносим, а 1,7 -инчовият OLED би направил перфектен дисплей.

Списък на частите:

  • Arduino nano
  • OLED
  • Говорителят

Стъпка 1: Видео

Image
Image

Стъпка 2: Проектиране на играта

Проектиране на играта
Проектиране на играта

За тази игра на Pong исках да я поддържам сравнително проста, което означаваше, че няма компютърно контролирани гребла или фантастични алгоритми за отражение на топка. По принцип има едно гребло, което потребителят може да се движи нагоре или надолу и ако накара топката да се сблъска с греблото, това ще доведе до преобръщане на вектора му по оста x. Всеки път, когато топката се удари, се чува звук. Когато устройството за игра е включено, се появява екран със заглавието на играта и инструкциите. Освен това майка ми създаде малка тематична песен, която се върти във фонов режим, докато не се натисне горният бутон.

Стъпка 3: Проектиране на игралното устройство

Проектиране на игралното устройство
Проектиране на игралното устройство
Проектиране на игралното устройство
Проектиране на игралното устройство
Проектиране на игралното устройство
Проектиране на игралното устройство
Проектиране на игралното устройство
Проектиране на игралното устройство

Моята CAD програма е Fusion 360, затова реших да я използвам за проектиране на моето понг игрално устройство. Започнах с проектирането на всеки използван компонент: OLED, Arduino Nano и високоговорител. По този начин мога да видя къде и как всеки компонент трябва да се побере вътре в кутията. След това поставих Nano и PCB в задната част на кутията, а OLED отгоре. Следваше въпросът къде да поставим високоговорителя и бутоните. Реших, че 3W високоговорителят може да мине точно под екрана (гледайки го отгоре), а това също изисква поставянето на „скара“върху високоговорителя, за да не се заглушава звукът. И накрая, добавих два бутона от лявата страна, за да добавя контроли.

Стъпка 4: Конструиране на устройството

Конструиране на устройството
Конструиране на устройството
Конструиране на устройството
Конструиране на устройството
Конструиране на устройството
Конструиране на устройството

Започнах с 3D отпечатване на всяка част, състояща се от долната половина, горната половина и 2 бутона. След това запоявах женска заглавка към 4x6cm и я свързах към Nano. Това не само позволява лесно да се премахне OLED, но и го издига над Arduino Nano. Проверете схемата за информация за окабеляване. След това свързах двата бутона, заедно с обикновена микро USB платка за захранване. Високоговорителят също беше прикрепен и го постави в правилната позиция. Моят дизайн на Fusion 360 позволява на 3 мм машинни винтове да задържат OLED, високоговорителя и да свържат двете половини на устройството. Но трябваше да ги направя точни, затова използвах свредлото си за пробиване на 8 отвора: 2 за високоговорителя, 2 за екрана и 4 отдолу. Можете да посетите връзката Thingiverse за файловете.

Стъпка 5: Програмиране на играта

Използването на прост интерфейс беше жизненоважно за поддържане на програмата малка. Започнах с добавянето на няколко библиотеки: Adafruit_GFX, Adafruit_SSD1351 и библиотеката на Arduino Timer. След това дефинирах пиновете и цветовете си, като например пиновете на OLED и 16 -битовите цветови дефиниции. В моя код има и 4 начина да промените начина на игра на играта, като например промяна на размерите на лопатката и колко бързо се движи топката. След това съществува раздел, където всяка променлива е дефинирана, включително резултата и различни координати. Когато устройството се захранва с изображение на топка и на екрана се появява текст, заедно с малка тематична песен, която е дефинирана по -рано в кода. След като играта започне, се създават два таймера, единият актуализира греблото, а другият актуализира топката. Всеки път, когато позицията на топката се актуализира, се проверяват нейните координати, за да се гарантира, че не преминава границата на екрана или докосва гребло. Всеки път, когато отскача, или неговата x или y ос се обръща и се чува малък тон. Гледайте видеото в началото на този запис, за да видите как играе играта.

Стъпка 6: Игра на понг

Игра на понг!
Игра на понг!
Игра на понг!
Игра на понг!
Игра на понг!
Игра на понг!
Игра на понг!
Игра на понг!

Името на играта е да получите възможно най -ниския резултат. Няма ограничение във времето, така че е много приятно и дори предизвиква транс. Всичко, което е необходимо, е да натиснете един от двата бутона, за да преместите греблото нагоре или надолу. Възможно е също така да се добави начин за съхраняване на най -високия резултат чрез EEPROM на Arduino.

Препоръчано: