Πίνακας περιεχομένων:

Whack-a-moLED !!: 7 βήματα
Whack-a-moLED !!: 7 βήματα

Βίντεο: Whack-a-moLED !!: 7 βήματα

Βίντεο: Whack-a-moLED !!: 7 βήματα
Βίντεο: After getting experimented on for a new virus, he can boss around zombies. z nation season 1 2024, Νοέμβριος
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Έργα Tinkercad »

Αυτή είναι μια έκδοση LED του κλασικού παιχνιδιού Whack-a-Mole.

Ουσιαστικά ανάβει ένα τυχαίο LED από 4 LED αντί για τυφλοπόντικα που κοιτάζει έξω από μια τρύπα και η συσκευή αναπαραγωγής σβήνει τη λυχνία LED χρησιμοποιώντας ένα χειριστήριο αντί να σπρώξει τον τυφλοπόντικα!

Προμήθειες

Arduino Uno/Nano ή οποιαδήποτε πλακέτα παραλλαγής

4 LED και αντίστοιχες αντιστάσεις περιορισμού ρεύματος.

Ενότητα Joystick με εξόδους X, Y

Active Buzzer (προαιρετικό)

Καλώδια άλματος.. αρκετά για να διορθώσετε!

Βήμα 1: Συνδέστε το κύκλωμα

Συνδέστε το κύκλωμα
Συνδέστε το κύκλωμα

Συνδέστε την πλακέτα Arduino Uno στη μονάδα joystick, συνδέοντας 2 αναλογικές ακίδες εισόδου στις εξόδους X Y του χειριστηρίου.

4 LED που θα συνδεθούν χρησιμοποιώντας αντιστάσεις σε 4 ψηφιακές ή αναλογικές ακίδες ακίδων εξόδου.

Ενεργό βομβητή για σύνδεση σε ψηφιακή ακίδα εξόδου

Βήμα 2: Κωδικός για τη ρύθμιση των καρφιτσών

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

int αριστεράLED = A2, δεξιάLED = A3, πάνωLED = A4, κάτωLED = A5;

int επιλεγμένο LED = 0; // Μπορεί να είναι ένα από τα A2, A3, A4 ή A5

void setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (αριστερά LED, OUTPUT);

pinMode (δεξιά LED, OUTPUT);

pinMode (topLED, OUTPUT); pinMode (κάτω LED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Βήμα 3: Κωδικός για το Joystick Sensing

void joystickSenseRoutine ()

{

xVal = analogRead (xPin); yVal = analogRead (yPin); butVal = digitalRead (butPin);

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (επιλεγμένο LED, 1024);

εάν (επιλεγμένοLED! = leftLED) {analogWrite (αριστεράLED, 0); } if (selectedLED! = rightLED) {analogWrite (rightLED, 0); }

εάν (επιλεγμένοLED! = topLED) {analogWrite (topLED, 0); }

if (επιλεγμένοLED! = bottomLED) {analogWrite (κάτωLED, 0); }

εάν (joyPin == επιλεγμένοLED) // Mole Whacked

{

analogWrite (επιλεγμένο LED, 0);

//

// Προσθήκη κώδικα για αναπαραγωγή μουσικής/τόνου για παρατεταμένο moLED !!

//

}

}

int mapXYtoPin (int xVal, int yVal, int butVal) {if ((xVal <100) και (yVal 400)) {επιστροφή κάτω LED; }

else if ((xVal> 900) και (yVal 400)) {return topLED? }

αλλιώς εάν ((xVal 400) και (yVal <100)) {επιστροφή αριστερά LED; }

αλλιώς εάν ((xVal 400) και (yVal> 900)) {επιστροφή δεξιά LED }

else {return -1; }

}

Βήμα 4: Κώδικας ρουτίνας κύριου βρόχου

void loop () {

για (int i = 0; i <μήκος; i ++)

{

if (τυχαία (0, 100)> 90) {selectedLED = anaPinMap (τυχαία (2, 6));}

// Προσθέστε κώδικα για τη μουσική του παιχνιδιού εδώ

// *** *** ***

//

}

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; }

}

Βήμα 5: Έτοιμοι για δοκιμή

Βήμα 6: Arduino Nano Implementation for Prototype

Image
Image

Η ίδια υλοποίηση έγινε με Arduino nano in breadboard, προσαρμοσμένη σανίδα με LED, αντιστάσεις και βομβητή και διακόπτη χειριστηρίου X-Y.

Βήμα 7: Τελικό συσκευασμένο πρωτότυπο Whack-a-MoLED για να παρουσιάσετε τον αγαπημένο σας

Τελικό συσκευασμένο πρωτότυπο Whack-a-MoLED για να παρουσιάσετε τον αγαπημένο σας!
Τελικό συσκευασμένο πρωτότυπο Whack-a-MoLED για να παρουσιάσετε τον αγαπημένο σας!
Τελικό συσκευασμένο πρωτότυπο Whack-a-MoLED για να παρουσιάσετε τον αγαπημένο σας!
Τελικό συσκευασμένο πρωτότυπο Whack-a-MoLED για να παρουσιάσετε τον αγαπημένο σας!

Προμήθειες για πρωτότυπο:

Απλό κουτί από χαρτόνι (Ελάχιστο 4cmX6cmX3cm), επιπλέον κομμάτια από χαρτόνι για υποστήριξη.

Διακοσμητικό χαρτί για κάλυψη πλαισίου (προαιρετικό)

Κόλλα/κόλλα πολλαπλών χρήσεων

Mini breadboard (προαιρετικά)

Arduino nano

Μικρό Universal PCB

Μπαταρία 9V για τροφοδοσία Arduino nano (σύνδεση με καρφίτσα Vin).

Διακόπτης SPDT

Τα υπόλοιπα αναλώσιμα (LED, αντιστάσεις, χειριστήριο, βομβητής, σύρματα) όπως περιγράφεται στο βήμα 1 παραπάνω.

Συνιστάται: