Სარჩევი:

Whack-a-moLED !!: 7 ნაბიჯი
Whack-a-moLED !!: 7 ნაბიჯი

ვიდეო: Whack-a-moLED !!: 7 ნაბიჯი

ვიდეო: Whack-a-moLED !!: 7 ნაბიჯი
ვიდეო: Stories of Hope & Recovery - Juliana, Sarah & Adam 2024, ივლისი
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Tinkercad პროექტები »

ეს არის კლასიკური Whack-a-Mole თამაშის LED ვერსია.

ძირითადად შემთხვევითი LED 4 LED- დან ანათებს ხვრელის ნაცვლად ხვრელიდან და მოთამაშე გამორთავს LED- ს ჯოისტიკით, ნაცვლად იმისა, რომ მოლი დაარტყას!

მარაგები

Arduino Uno/Nano ან ნებისმიერი ვარიანტის დაფა

4 LED და შესაბამისი მიმდინარე შეზღუდვის რეზისტორები.

ჯოისტიკის მოდული X, Y გამომავალით

აქტიური ბუზერი (სურვილისამებრ)

მხტუნავ მავთულხლართებს.. საკმარისია გამართვისთვის!

ნაბიჯი 1: შეაერთეთ წრე

ჩართეთ წრე
ჩართეთ წრე

შეაერთეთ Arduino Uno დაფა ჯოისტიკ მოდულთან, დააკავშირეთ 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 (ზედა LED, OUTPUT); pinMode (ქვედა LED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

ნაბიჯი 3: კოდი ჯოისტიკის აღქმისთვის

void ჯოისტიკი გრძნობა რუტინა ()

{

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

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (არჩეული LED, 1024);

if (არჩეულიLED! = leftLED) {analogWrite (მარცხნივLED, 0); } if (არჩეულიLED! = rightLED) {analogWrite (rightLED, 0); }

if (არჩეულიLED! = topLED) {analogWrite (ზედაLED, 0); }

if (არჩეული LED! = ქვედა LED) {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; }

სხვა შემთხვევაში, თუ ((xVal> 900) და (yVal 400)) {დაბრუნება ზედა LED; }

წინააღმდეგ შემთხვევაში, თუ ((xVal 400) და (yVal <100)) {დაბრუნდება მარცხნივ LED; }

წინააღმდეგ შემთხვევაში, თუ ((xVal 400) და (yVal> 900)) {დაბრუნების უფლება LED; }

სხვა {დაბრუნება -1; }

}

ნაბიჯი 4: ძირითადი მარყუჟის რუტინული კოდი

ბათილი მარყუჟი () {

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 დანერგვა პროტოტიპისთვის

Image
Image

იგივე განხორციელება არდუინო ნანოსთან ერთად breadboard- ში, საბაჟო დამზადებული დაფა LED- ებით, რეზისტენტებითა და ზუზერებით და X-Y ჯოისტიკის გადამრთველით.

ნაბიჯი 7: საბოლოო შეფუთული Whack-a-MoLED პროტოტიპი თქვენი საყვარელი ადამიანის წარსადგენად

დასკვნითი შეფუთული Whack-a-MoLED პროტოტიპი წარმოადგინოთ თქვენი საყვარელი!
დასკვნითი შეფუთული Whack-a-MoLED პროტოტიპი წარმოადგინოთ თქვენი საყვარელი!
დასკვნითი შეფუთული Whack-a-MoLED პროტოტიპი წარმოადგინოთ თქვენი საყვარელი!
დასკვნითი შეფუთული Whack-a-MoLED პროტოტიპი წარმოადგინოთ თქვენი საყვარელი!

მასალები პროტოტიპისთვის:

მარტივი მუყაოს ყუთი (მინიმუმ 4 სმ X6 სმ X3 სმ), დამატებითი მუყაოს ნაჭრები საყრდენიდან.

დეკორატიული ქაღალდი შასის დასაფარად (სურვილისამებრ)

მრავალფუნქციური წებო/წებო

მინი პურის დაფა (სურვილისამებრ)

არდუინო ნანო

მცირე უნივერსალური PCB

9 ვ ბატარეა Arduino nano– ს დასატენად (დაკავშირება Vin pin– თან).

SPDT გადამრთველი

დანარჩენი მარაგები (LED- ები, რეზისტორები, ჯოისტიკი, ზუზერი, მავთულები), როგორც ეს აღწერილია ზემოთ 1 ნაბიჯში.

გირჩევთ: