Съдържание:
- Стъпка 1: Видео
- Стъпка 2: Проектиране на играта
- Стъпка 3: Проектиране на игралното устройство
- Стъпка 4: Конструиране на устройството
- Стъпка 5: Програмиране на играта
- Стъпка 6: Игра на понг
Видео: Ръчна конзола Arduino Pong: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
DFRobot се свърза с мен наскоро, искайки да използвам специалната им платка Arduino Nano и OLED. Първоначално исках да създам интелигентен мотор и го изградих изцяло. Но за съжаление Nano беше твърде слаб, за да работи и съхранява огромната скица, която беше необходима. Затова реших да прегледам един от предишните си проекти, неопикселова матрица, която управляваше игра на понг. Исках да го направя преносим, а 1,7 -инчовият OLED би направил перфектен дисплей.
Списък на частите:
- Arduino nano
- OLED
- Говорителят
Стъпка 1: Видео
Стъпка 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.
Препоръчано:
Ръчна игрална конзола за Raspberry Pi Zero: 6 стъпки (със снимки)
DIY Raspberry Pi Zero Handheld Game Console: В този проект ще ви покажа как съм използвал Raspberry Pi Zero, NiMH батерии, домашно създадена схема за защита от претоварване, LCD задно виждане и аудио усилвател, за да създам ръчна конзола за игри, която да може да играе ретро игри. Да започваме
ESP32 Ръчна игрална конзола: 21 стъпки (със снимки)
ESP32 Handheld Game Console: Тези инструкции показват как да използвате ESP32 и ATtiny861 за изграждане на NES емулатор на конзола за игри
Ръчна игрална конзола - Arduboy Clone: 6 стъпки (със снимки)
Ръчна игрална конзола | Arduboy Clone: Преди няколко месеца попаднах на Arduboy, който според официалния си уебсайт е миниатюрна 8-битова платформа за игри, която улеснява ученето, споделянето и играта на игри онлайн. Това е платформа с отворен код. Игрите за Arduboy са направени от потребителя
Домашна ръчна конзола: 12 стъпки (със снимки)
Домашна ръчна конзола: Добре дошли в моето стъпка по стъпка ръководство за това как да създадете свой собствен DIY GameBoy с Raspberry Pi 3 и софтуера за емулация на Retropie. Преди да започна този проект, нямах никакъв опит с малиново пи, ретропий, запояване, 3D печат или електрически
Ръчна конзола с безжични контролери и сензори (Arduino MEGA & UNO): 10 стъпки (със снимки)
Ръчна конзола с безжични контролери и сензори (Arduino MEGA & UNO): Какво използвах:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " TFT 320x480 Сензорен екран HXD8357D- Звуков сигнал- 4Ohm 3W високоговорител- 5 мм LED светлини- принтер Ultimaker 2+ с черна PLA нишка- лазерна резачка с MDF дърво- черна спрей боя (за дърво)- 3x nRF24