
Съдържание:
- Консумативи
- Стъпка 1: Свържете веригата
- Стъпка 2: Код за настройка на пинове
- Стъпка 3: Код за определяне на джойстика
- Стъпка 4: Рутинен код на основната верига
- Стъпка 5: Готови сте да изпробвате
- Стъпка 6: Реализация на Arduino Nano за прототип
- Стъпка 7: Окончателен пакетиран прототип Whack-a-MoLED за представяне на любимия човек
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57


Проекти на Tinkercad »
Това е LED версия на класическата игра Whack-a-Mole.
По принцип произволен светодиод от 4 светодиода светва вместо бенка, гледаща от дупка, и плейърът изключва светодиода с помощта на джойстик, вместо да разбие бенката!
Консумативи
Arduino Uno/Nano или друг вариант на платка
4 светодиода и съответни резистори за ограничаване на тока.
Джойстик модул с X, Y изходи
Активен зумер (по избор)
Кабелни проводници.. достатъчно за отстраняване на грешки!
Стъпка 1: Свържете веригата

Свържете платката Arduino Uno към модула на джойстика, като свържете 2 аналогови входни щифта към X Y изходите на джойстика.
4 светодиода, които да бъдат свързани чрез резистори към 4 цифрови или аналогови изходни пина.
Активен зумер за свързване към изход за цифров изход
Стъпка 2: Код за настройка на пинове
int xVal = 0, yVal = 0, ноVal = 0, xPin = A0, yPin = A1, joyPin = 13, ноPin = 7, speakerPin = 9;
int leftLED = A2, rightLED = A3, topLED = A4, bottomLED = A5;
int избрано LED = 0; // Може да бъде един от A2, A3, A4 или A5
void setup () {
pinMode (xPin, INPUT);
pinMode (yPin, INPUT);
pinMode (leftLED, OUTPUT);
pinMode (rightLED, OUTPUT);
pinMode (topLED, OUTPUT); pinMode (bottomLED, OUTPUT);
pinMode (joyPin, OUTPUT);
pinMode (buzzerPin, OUTPUT);
}
Стъпка 3: Код за определяне на джойстика
невалиден джойстикSenseRoutine ()
{
xVal = analogRead (xPin); yVal = analogRead (yPin); butVal = digitalRead (butPin);
joyPin = mapXYtoPin (xVal, yVal, butVal);
analogWrite (избрано LED, 1024);
if (selectedLED! = leftLED) {analogWrite (leftLED, 0); } if (selectedLED! = rightLED) {analogWrite (rightLED, 0); }
if (selectedLED! = topLED) {analogWrite (topLED, 0); }
if (selectedLED! = bottomLED) {analogWrite (bottomLED, 0); }
if (joyPin == selectedLED) // Mole Whacked
{
analogWrite (избрано LED, 0);
//
// Добавяне на код за възпроизвеждане на музика/тон за разбиване на moLED !!
//
}
}
int mapXYtoPin (int xVal, int yVal, int butVal) {if ((xVal <100) и (yVal 400)) {връщане bottomLED; }
иначе if ((xVal> 900) и (yVal 400)) {връщане topLED; }
иначе if ((xVal 400) и (yVal <100)) {връщане налявоLED; }
иначе if ((xVal 400) и (yVal> 900)) {връщане rightLED; }
else {връщане -1; }
}
Стъпка 4: Рутинен код на основната верига
void loop () {
for (int i = 0; i <дължина; i ++)
{
if (случайно (0, 100)> 90) {selectedLED = anaPinMap (произволно (2, 6));}
// Добавете код за музика на играта тук
// *** *** ***
//
}
int anaPinMap (int randNum) {
if (randNum == 2) {връщане A2; }
else if (randNum == 3) {връщане A3; }
else if (randNum == 4) {връщане A4; }
else if (randNum == 5) {връщане A5; }
}
Стъпка 5: Готови сте да изпробвате

Стъпка 6: Реализация на Arduino Nano за прототип

Същото изпълнение, направено с Arduino nano в макет, платка по поръчка със светодиоди, резистори и зумер и X-Y превключвател на джойстика.
Стъпка 7: Окончателен пакетиран прототип Whack-a-MoLED за представяне на любимия човек


Консумативи за прототип:
Проста картонена кутия (минимум 4cmX6cmX3cm), допълнителни картонени парчета от опората.
Декоративна хартия за покриване на шаси (по избор)
Многофункционално лепило/лепило
Мини макет (по избор)
Arduino nano
Малка универсална печатна платка
9V батерия за захранване на Arduino nano (свържете се с Pin pin).
SPDT превключвател
Останалите консумативи (светодиоди, резистори, джойстик, зумер, проводници), както е описано в стъпка 1 по -горе.
Препоръчано:
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: 7 стъпки

Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: Понякога вибрациите са причина за сериозни проблеми в много приложения. От валове и лагери на машината до работа на твърдия диск, вибрациите причиняват повреда на машината, ранна подмяна, ниска производителност и нанасят сериозен удар върху точността. Мониторинг
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: 3 стъпки

Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: КУПЕТЕ (щракнете върху теста, за да закупите/посетете уеб страницата) STM32F767ZISUPPORTED SOFTWARE · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKBENCH използва се за програмиране на STM микроконтролери
Как да направите 4G LTE двойна BiQuade антена Лесни стъпки: 3 стъпки

Как да направя 4G LTE двойна BiQuade антена лесни стъпки: През повечето време, с което се сблъсквах, нямам добра сила на сигнала за ежедневните ми работи. Така. Търся и опитвам различни видове антени, но не работи. След загубено време намерих антена, която се надявам да направя и изпробвам, защото тя не градивен принцип
Дизайн на играта с бързо движение в 5 стъпки: 5 стъпки

Дизайн на игра с Flick в 5 стъпки: Flick е наистина прост начин да направите игра, особено нещо като пъзел, визуален роман или приключенска игра
LED Whack-a-made: 5 стъпки

LED Whack-a-made: Тази игра на " Удар-къртица " използва седем светодиода и джойстик. Има 4 " бенки " на дъската ми, представена отляво с 3 -ти, 4 -ти, 5 -ти и 6 -ти светодиоди. Един от тези четири светодиода ще светне на случаен принцип и ще предложи фиксиран