Spisu treści:

Whack-a-molLED!!: 7 kroków
Whack-a-molLED!!: 7 kroków

Wideo: Whack-a-molLED!!: 7 kroków

Wideo: Whack-a-molLED!!: 7 kroków
Wideo: Смирняга – как пересобрать карьеру в юморе (Eng subs) 2024, Listopad
Anonim
Whack-a-molLED!!
Whack-a-molLED!!
Whack-a-molLED!!
Whack-a-molLED!!

Projekty Tinkercad »

To jest wersja LED klasycznej gry Whack-a-Mole.

Zasadniczo zamiast kreta wyglądającego z dziury zapala się losowa dioda LED z 4 diod LED, a gracz wyłącza diodę LED za pomocą joysticka zamiast uderzania kreta!

Kieszonkowe dzieci

Arduino Uno/Nano lub dowolny wariant płyty

4 diody LED i odpowiednie rezystory ograniczające prąd.

Moduł joysticka z wyjściami X, Y

Aktywny brzęczyk (opcjonalnie)

Zworki… wystarczy do debugowania!

Krok 1: Podłącz obwód

Podłącz obwód
Podłącz obwód

Podłącz płytkę Arduino Uno do modułu joysticka, podłączając 2 piny wejścia analogowego do wyjść X Y joysticka.

4 diody LED do podłączenia za pomocą rezystorów do 4 pinów wyjścia cyfrowego lub analogowego.

Aktywny brzęczyk do podłączenia do pinu wyjścia cyfrowego

Krok 2: Kod do konfiguracji pinów

int xVal = 0, yVal = 0, butVal = 0, xPin = A0, yPin = A1, joyPin = 13, butPin = 7, speakerPin = 9;

int leftLED = A2, prawaLED = A3, topLED = A4, dółLED = A5;

int wybranaLED = 0; // Może być jednym z A2, A3, A4 lub A5

pusta konfiguracja () {

pinMode (xPin, WEJŚCIE);

pinMode(yPin, INPUT);

pinMode (lewyLED, WYJŚCIE);

pinMode (prawoLED, WYJŚCIE);

pinMode (topLED, OUTPUT); pinMode (dolna dioda, WYJŚCIE);

pinMode(joyPin, WYJŚCIE);

pinMode(buzzerPin, OUTPUT);

}

Krok 3: Kod do wykrywania joysticka

nieważny joystickSenseRoutine()

{

xVal = odczyt analogowy (xPin); yVal = odczyt analogowy (yPin); butVal = digitalRead(butPin);

joyPin = mapXYtoPin(xVal, yVal, butVal);

zapis analogowy (wybrana dioda 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 == wybranyLED) // Mole Whacked

{

zapis analogowy (wybrana dioda LED, 0);

//

// Dodaj kod do odtwarzania muzyki/dźwięku do walenia MoLED!!

//

}

}

int mapXYtoPin(int xVal, int yVal, int butVal) { if ((xVal < 100) i (yVal 400)) { return bottomLED; }

else if ((xVal > 900) i (yVal 400)) { return topLED; }

else if ((xVal 400) i (yVal < 100)) { return leftLED; }

else if ((xVal 400) i (yVal > 900)) { return rightLED; }

inaczej { return -1; }

}

Krok 4: Kod rutynowy pętli głównej

pusta pętla () {

for (int i = 0; i < długość; i++)

{

if (random(0, 100) > 90) { selectedLED = anaPinMap(random(2, 6));}

// Tutaj dodaj kod do muzyki z gry

// *** *** ***

//

}

int anaPinMap(int randNum) {

if (randNum == 2) { return A2; }

else if (randNum == 3) { return A3; }

else if (randNum == 4) { return A4; }

else if (randNum == 5) { return A5; }

}

Krok 5: Gotowy do wypróbowania

Krok 6: Implementacja Arduino Nano dla prototypu

Image
Image

Ta sama implementacja wykonana z Arduino nano w płytce stykowej, wykonana na zamówienie płytka z diodami LED, rezystorami i brzęczykiem oraz przełącznik joysticka X-Y.

Krok 7: Ostateczny zapakowany prototyp Whack-a-MoLED, aby zaprezentować ukochaną osobę

Ostateczny zapakowany prototyp Whack-a-MoLED, aby zaprezentować ukochaną osobę!
Ostateczny zapakowany prototyp Whack-a-MoLED, aby zaprezentować ukochaną osobę!
Ostateczny zapakowany prototyp Whack-a-MoLED, aby zaprezentować ukochaną osobę!
Ostateczny zapakowany prototyp Whack-a-MoLED, aby zaprezentować ukochaną osobę!

Materiały do prototypu:

Prosty kartonik (minimum 4cmX6cmX3cm), dodatkowe kartoniki do podparcia.

Papier dekoracyjny do pokrycia obudowy (opcjonalnie)

Uniwersalny klej/klej

Mini płytka do krojenia chleba (opcjonalnie)

Arduino nano

Mała uniwersalna płytka drukowana

Bateria 9V do zasilania Arduino nano (podłącz do pinu Vin).

Przełącznik SPDT

Pozostałe materiały (diody LED, rezystory, joystick, brzęczyk, przewody) zgodnie z opisem w kroku 1 powyżej.

Zalecana: