Cov txheej txheem:
Video: Cyclone LED Arcade Game: 4 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Lub hom phiaj ntawm txoj haujlwm no yog tsim kom muaj kev ua si yooj yim siv Arduino uas yuav muaj kev sib tham thiab lom zem rau menyuam. Kuv nco qab Cyclone arcade game yog ib qho ntawm kuv nyiam kev ua si arcade thaum kuv tseem yau, yog li kuv txiav txim siab los theej nws. Qhov no yog txoj haujlwm yooj yim heev uas muaj Arduino, txoj hlua ntawm ib tus neeg ntxim nyiam LEDs, thiab lub laub khawm.
Lub hom phiaj ntawm qhov kev ua si yog kom tsis txhob teeb lub tsheb kauj vab thaum nws mus txog qhov qhia (liab) LED. Yog ua tiav, qib kev nyuaj yuav nce ntxiv. Yog tias tsis ua tiav, lub teeb pom kev yuav rov pib dua ntawm qib nyuaj tam sim no.
Cov lus qhia no yog cov peev txheej loj rau cov tub ntxhais ntawm kuv qhov coding.
Kauj Ruam 1: Sau cov khoom siv
-
Cov Cheeb Tsam Loj:
- Arduino (Kuv siv UNO)
- Txoj hlua ntawm tus kheej qhov chaw nyob LEDs (Kuv siv txuas)
- Laub khawm (Kuv siv txuas)
- Luam Circuit Court board (PCB) los yog breadboard
-
Cov Khoom Siv Hluav Taws Xob (Kuv siv ob qhov khoom siv hluav taws xob cais, koj tuaj yeem khiav tawm nrog ib qho yog tias koj muaj tswv yim)
- 5V 3A rau LEDs
- 9V 1A rau Arduino
-
Moj khaum:
- Cov cuab yeej hluav taws xob (Kuv hloov kho lub teeb ntoo ntawm Goodwill)
- LED vaj tsev (Kuv hloov kho koj tus qauv phab ntsa moos thiab drilled qhov siv lub cim qhia feeb raws li qhov cim. Siv lub moos ntoo yog tias ua tau los ua kom yooj yim dua.)
- Khawm vaj tse (Kuv siv lub luj tshib PVC yeeb nkab)
-
Cov Cuab Yeej / Lwm Yam Khoom:
- Spare thaiv rau koj Circuit Court
- 10K (rub-down resistor rau hloov) thiab 470 ohm (rau cov ntaub ntawv xov hlau ntawm LEDs) resistors
- Laum txhawm rau tsim lub qhov rau koj lub tsev LEDs thiab ua txhua qhov tsim nyog hauv koj lub teeb kom hla cov xov hlau hla
- Soldering hlau rau soldering koj lub Circuit Court mus rau PCB
- Phom phom kub kom ruaj ntseg LEDs rau koj lub teeb
- Velcro lossis qee txoj hauv kev kom ruaj ntseg lub moj khaum ua ke
- Gaskets xaiv tau rau qhov drilled rau cov xov hlau kom dhau los
Kauj ruam 2: Upload Code
Nco ntsoov koj rub tawm thiab ntxiv "FastLED" lub tsev qiv ntawv
Cov tub ntxhais ntawm txoj cai (tsis muaj lub voj voos) muaj ob lub xeev: thawb khawm siab (Game kawg) thiab thawb khawm qis (Ua Si). Thaum tus neeg siv nias lub pob, LED chaw nyob lub teeb raug tso tseg yog muab piv rau qhov chaw nyob ntawm qhov chaw nruab nrab LED. Yog tias lawv tsis zoo ib yam, txhua lub teeb nyem liab ob zaug thiab qib tam sim no rov pib dua. Yog tias lawv zoo ib yam, lub tog raj kheej (FastLED cov ntawv nyeem ntawv) sau ob zaug, qib kev nyuaj zuj zus, thiab rov ua si dua. Thaum tus neeg ntaus ntawv ntaus qib kawg, lub tog raj kheej ua haujlwm thib yim thiab qhov kev ua si rov pib dua ntawm qib 1.
// Cyclone Game
#suav nrog "FastLED.h" // txog 50 #define NUM_LEDS 40 #define CENTER_LED 21 #define DATA_PIN 7 #define LED_TYPE WS2811 #define COLOR_ORDER RGB // range 0-64 #define BRIGHTNESS 50 // Txhais cov qib nyuaj #define EASY 1 #define MEDIUM 2 #define HARD 3 #define ON_SPEED 4 #define SONIC_SPEED 5 #define ROCKET_SPEED 6 #define LIGHT_SPEED 7 #define MISSION_IMPOSSIBLE 8 // Pib qhov nyuaj rau qhov nyuaj = 1; // Txhais cov kab ntawm leds CRGB leds [NUM_LEDS]; // Puas yog tus neeg uas ua ntawv yeej qhov puag ncig no? Cov ntawv no yog siv rau qhov tsis yooj yim. bool wonThisRound = tsis tseeb; // Pib qhov chaw ntawm lub tsheb kauj vab teeb int LEDaddress = 0; // Puas yog game khiav? bool Ua si = muaj tseeb; // Puas yog thawj qhov yeej? bool CycleEnded = muaj tseeb; // Khawm paub meej const int buttonPin = 9; int buttonState = 0; // Initialize coj lub tsev qiv ntawv thiab arduino ua haujlwm tsis muaj teeb meem teeb tsa () {FastLED.addLeds (leds, NUM_LEDS); FastLED.setBrightness (BRIGHTNESS); pinMode (buttonPin, INPUT); Serial.begin (9600); } // Cov nqaij thiab qos yaj ywm // Ob Hom - Ua Si thiab Xaus Game khoob khoob () yog (buttonState == HIGH) {Ua si = tsis tseeb; // Tus neeg siv tau nias lub pob, thiab LED tau nres ntawm qhov chaw nyob yeej. rau (int kuv = 0; kuv <NUM_LEDS; kuv ++) {leds = CRGB:: Dub; } leds [CENTER_LED] = CRGB:: Liab; leds [LEDaddress] = CRGB:: Ntsuab; FastLED.show (); yog (CycleEnded = tseeb) {int diff = abs (CENTER_LED - LEDaddress); // Pom qhov nrug nruab nrab ntawm lub teeb coj thiab nruab nrab coj yog (diff == 0) {wonThisRound = muaj tseeb; // Player ua tiav yeej qib yog (nyuaj! = MISSION_IMPOSSIBLE) {rau (int i = 0; i <2; i ++) {cylon (); }} yog (nyuaj == MISSION_IMPOSSIBLE) {rau (int i = 0; i <8; i ++) {cylon (); } nyuaj = 0; } nce kev nyuaj (); wonThisRound = tsis tseeb; } lwm {ncua (1000); rau (int kuv = 0; kuv <2; kuv ++) {flash (); }} CycleEnded = tsis tseeb; } LEDaddress = 0; ncua (250); buttonState = digitalRead (buttonPin); yog (buttonState == LOW) {Ua si = muaj tseeb; }} // PLAYING yog (Ua Si) {rau (int i = 0; kuv <NUM_LEDS; kuv ++) {leds = CRGB:: Dub; // Tua tawm tag nrho cov leds} leds [CENTER_LED] = CRGB:: Liab; // Teem chaw nruab nrab coj cov xim rau ntsuab leds [LEDaddress] = CRGB:: Ntsuab; // Teem cyling coj cov xim rau liab FastLED.show (); // Pib pib lub teeb ci LEDaddress ++; // Teeb lub voj voog mus rau ib qho coj ib lub sijhawm yog (LEDaddress == NUM_LEDS) {LEDaddress = 0; } ncua (getTime (nyuaj))); buttonState = digitalRead (buttonPin); yog (buttonState == HIGH) {Ua si = tsis tseeb; CycleEnded = muaj tseeb; }}} // Qib Parameters int getTime (int sib txawv) // Rov qab lub sijhawm qeeb rau coj kev txav chaw ntawm qhov nyuaj {int timeValue = 0; hloov (txawv) {rooj plaub YASY: timeValue = 100; tawg; rooj MEDIUM: timeValue = 80; tawg; rooj plaub HARD: timeValue = 60; tawg; rooj ON_SPEED: timeValue = 40; tawg; rooj SONIC_SPEED: timeValue = 30; tawg; rooj plaub ROCKET_SPEED: timeValue = 20; tawg; rooj LIGHT_SPEED: timeValue = 13; tawg; rooj MISSION_IMPOSSIBLE: timeValue = 7; } rov qab lub sij hawmValue; // Rov qab ncua sijhawm} // Yeej qhov nyuaj nce qhov tsis muaj qhov nce qhov tsis txaus siab () {yog (nyuaj! = MISSION_IMPOSSIBLE && wonThisRound) {nyuaj ++; }} // Poob LED Qhia qhov tsis muaj flash () {fill_solid (leds, NUM_LEDS, CRGB:: Liab); FastLED.show (); ncua (500); fill_solid (leds, NUM_LEDS, CRGB:: Dub); FastLED.show (); ncua (500); } // Yeej LED Qhia qhov tsis muaj fadeall () {rau (int i = 0; kuv <NUM_LEDS; kuv ++) {leds .nscale8 (250); }} void cylon () {zoo li qub uint8_t hue = 0; Serial.print ("x"); // Ua ntej swb tus coj hauv ib qho kev taw qhia rau (int i = 0; i = 0; i--) {// Teem qhov ith coj mus rau liab leds = CHSV (hue ++, 255, 255); // Qhia cov leds FastLED.show (); // tam sim no uas peb tau qhia cov leds, rov pib dua i'th coj mus rau dub // leds = CRGB:: Dub; fadeall (); // Tos me ntsis ua ntej peb ncig ncig thiab ua nws ncua sijhawm ntxiv (10); }}
Kauj Ruam 3: Txhim Kho Hauv Fixture
Kuv yuav tsis mus rau hauv cov ntsiab lus hauv ntu no. Muaj ntau txhiab txoj hauv kev sib txawv los mus txog ntu no thiab kuv xav tias koj yuav tsum muaj tswv yim los ua kom nws zoo li koj nyiam. Uas tau hais tias, lub moos tau yooj yim zoo siv rau vaj tsev LEDs vim nws muaj cov cim qhia feeb uas kuv muaj peev xwm siv los ua cov cim laum. Tsis tas li, daim iav npog kuj tseem tso cai rau kuv siv qhov no ua lub rooj.
Lub velcro tau muaj txiaj ntsig zoo ib yam rau kev nyab xeeb teeb tsa LED rau cov khoom siv hluav taws xob nyob hauv tsev. Kuv kuj siv velcro ntawm Arduino. Qhov no ua rau nws yooj yim heev rau rub Arduino tawm yog tias kuv puas xav hloov kho txoj cai.
Pom zoo:
FPGA Cyclone IV DueProLogic - Laub Khawm & LED: 5 Kauj Ruam
FPGA Cyclone IV DueProLogic - Push Button & LED: Hauv qhov kev qhia no, peb yuav siv FPGA los tswj cov LED sab nrauv. Peb tab tom yuav ua tiav cov haujlwm hauv qab no (A) Siv lub pob nyem ntawm FPGA Cyclone IV DuePrologic los tswj LED. (B) Flash LED ntawm & tawm tsis tu ncua Daim vis dis aus lab
Arduino Cyclone Game: 5 Kauj Ruam (nrog Duab)
Arduino Cyclone Game: Kuv yeej tsis tau ua si tiag cyclone arcade game tab sis kuv nyiam lub tswv yim los ua si nrog peb lub sijhawm tshuaj tiv thaiv.Kuv tsim cov game me me. Nws suav nrog 32 LEDs tsim lub voj voog, LEDs teeb ib ntawm ib qho ua tus coj chaser. Lub hom phiaj yog txhawm rau nias lub pob
Cyclone (Arduino LED Game): 6 Kauj Ruam (nrog Duab)
Cyclone (Arduino LED Game): Hauv qhov kev qhia no, kuv yuav qhia koj li cas los tsim LED game nrog cov lej lossis kev paub dhau los! Kuv muaj lub tswv yim no ib pliag thiab thaum kawg tau ncig los tsim nws. Nws yog kev ua si lom zem uas ua rau nco peb txhua qhov kev ua si arcade. Muaj lwm yam kev qhia t
Arduino Cyclone Arcade Game: 6 Kauj Ruam
Arduino Cyclone Arcade Game: Lub teeb ci ntsa iab! Arduino! Kev ua si! Dab tsi ntxiv xav tau hais? Qhov kev ua si no yog ua los ntawm Cyclone arcade game, qhov chaw uas cov neeg uas ua ntawv sim tso tseg ib qho kev coj ua ncig lub voj voog ntawm qhov chaw tshwj xeeb
Arduino LED Laser Arcade Game: 3 Kauj Ruam (nrog Duab)
Arduino LED Laser Arcade Game: Hauv cov lus qhia no kuv yuav qhia yuav ua li cas thiaj ua Laser Arcade Game siv LED thiab lub teeb pom kev zoo. Cov cai tau suav nrog thiab koj tsis xav tau ntau qhov los tsim nws. Kuv yuav tsis qhia koj li cas kuv tsim rooj plaub, koj yuav tsum ua qhov ntawd rau koj tus kheej! T