Obsah:
- Krok 1: Krok 1: Snímač vzdialenosti
- Krok 2: Krok 2: Servomotor
- Krok 3: Krok 3: RGB LED
- Krok 4: Krok 4: LCD
- Krok 5: Krok 5: Kód
Video: Rýchla reakčná hra: Verzia na diaľku: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Ahoj. Toto je návod, ako vytvoriť hru, ktorá testuje váš reakčný čas a pocit vzdialenosti. Tento projekt je založený na starom projekte, do ktorého som zapojil dvoch hráčov a súťažili o to, kto rýchlejšie zareaguje kliknutím na tlačidlo, keď sa svetlo rozsvieti nazeleno. Tento má podobný účel, okrem toho, že je pre jedného hráča a namiesto zhasnutia svetla dostane hráč časový rámec na vzdialenie ruky určitému priestoru od snímača vzdialenosti.
Rovnako ako všetky projekty Arduino, aj táto hra bude vyžadovať množstvo elektrických komponentov v obvode Arduino. Medzi hlavné komponenty, okrem zapojenia a samotného Arduina, patrí nepájivá doska, servomotor, LCD displej, RGB LED a snímač vzdialenosti.
Na stránke https://abra-electronics.com je cena bez káblov a Arduina 32,12 USD.
Krok 1: Krok 1: Snímač vzdialenosti
Prvým krokom je nastavenie ultrazvukového snímača vzdialenosti na doske a jeho zapojenie do Arduina. Na presnej polohe senzora vlastne nezáleží, ale v ideálnom prípade je blízko okraja, takže je tu priestor pre ostatné komponenty, ako je znázornené na obrázku vyššie. Na snímači sú štyri kolíky; GND, VCC, TRIG a ECHO. GND a VCC majú byť zapojené do uzemňovacích a napájacích koľajníc a v ostatných dvoch kolíkoch zapojené do dvoch kolíkov na Arduine. Dva kolíky, ktoré som použil, boli 12 pre ECHO a 11 pre TRIG. Na napájanie napájacej lišty a uzemnenie uzemňovacej lišty použite ďalšie dva vodiče pripojením napájacej lišty k kolíku 5 V a uzemňovacej lišty k kolíku GND.
Krok 2: Krok 2: Servomotor
Ďalším krokom je nastavenie servomotora. V tomto projekte funguje servomotor ako časovač. Začína sa to na 1 stupni a za čas, počas ktorého si používateľ musí oddialiť ruky, sa otočí na 180 stupňov. Použil som 2 sekundy, keď používateľ zistil, ako ďaleko majú od svojich rúk vzdialenosť, takže servo sa otáča o 179 stupňov v priebehu 2 -sekundového obdobia a otáča sa v krátkych intervaloch. Servomotor má tri vodiče; zvyčajne žltá, červená a hnedá. Červená ide do napájacej lišty, ktorá je už zapojená do 5V, a hnedá ide do uzemňovacej lišty už zapojenej do GND. Konečný vodič sa zapojí do kolíka Arduino. Pre tento som vybral pin #9. Potom budete potrebovať kondenzátor spájajúci rovnakú koľajnicu, ku ktorej sú pripojené napájacie a uzemňovacie vodiče servomotora, ako je vidieť na obrázku vyššie.
Krok 3: Krok 3: RGB LED
Funkcia LED v tomto prípade slúži ako stupnica skóre. Keď je skóre hráča okolo 0, LED dióda bude biela a bude svietiť viac červeno, ak sa skóre hráča zníži, a nazeleno, ak sa skóre hráča zvýši. Táto dióda LED má štyri nohy; noha červeného svetla, noha modrého svetla, noha zeleného svetla a spoločná katóda zdieľaná medzi ostatnými tromi nohami. Spoločná katóda, najdlhšia noha, je zapojená do napájacej lišty, takže prijíma 5 voltov. Pripojte odpory 330 ohmov k ďalším trom farebným nohám a ostatné konce týchto rezistorov pripevnite k digitálnym kolíkom PWM na Arduine. Tie, ktoré som použil, boli digitálne kolíky 3, 5 a 6 pre červené, zelené a modré nohy.
Krok 4: Krok 4: LCD
Poslednou súčasťou je LCD displej, ktorý predstavuje displej z tekutých kryštálov. Účelom je povedať hráčovi ich aktuálne skóre a vzdialenosť, ktorú potrebujú na to, aby dali ruky preč od senzora. Tu sú štyri kolíky; GND, VCC, SDA a SCL. GND a VCC budú zapojené do uzemňovacej a napájacej lišty nepájivého poľa. Kolík SDA musí byť zapojený do analógového kolíka A4 a kolík SCL musí byť zapojený do analógového kolíka A5. Na rozdiel od ostatných komponentov musíte kolíky SDA a SCL zapojiť do formátu A4 a A5.
Krok 5: Krok 5: Kód
Teraz, keď sme zapojili všetky komponenty, môžeme napísať kód. Prvá časť kódu je importovať potrebné knižnice a deklarovať naše premenné a kolíky, do ktorých sú komponenty zapojené. Pre tento kód musíme importovať knižnice Wire, LiquidCrystal_I2C a Servo.
#zahrnúť
#zahrnúť
#zahrnúť
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int skóre = 0;
int tim = 500;
int prúd = náhodný (8, 16); // náhodná hodnota, pri ktorej sa používateľ musí vzdialiť od senzora
LiquidCrystal_I2C lcd (0x27, 16, 2); // Nastavenie LCD
Teraz musíme použiť void setup () na deklarovanie našich typov pinov a nastavenie ďalších potrebných komponentov.
neplatné nastavenie () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd.backlight (); lcd.begin (16, 2); lcd.clear (); // nastavenie LCD}
Teraz musíme nastaviť kód RGB LED pomocou funkcie a PWM:
void setColor (int červená, int zelená, int modrá) {
červená = 255 - červená;
zelená = 255 - zelená;
modrá = 255 - modrá;
analogWrite (redPin, červený);
analogWrite (greenPin, zelený);
analogWrite (bluePin, modrý);
}
Teraz musíme pridať prázdnu slučku (). Tu budeme generovať náhodné celé čísla a pomocou série príkazov if ovládať hru pre hráča. Aktuálna premenná, nastavená vyššie, je pre aktuálnu vzdialenosť, od ktorej sa musí hráč vzdialiť od senzora.
Pretože kód v prázdnej slučke () je veľmi dlhý, prilepím odkaz na dokument, ktorý má tento kód:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Nakoniec musíme urobiť skutočné výpočty na konverziu hodnôt ultrazvukového senzora vzdialenosti na palce. Ultrazvukový snímač vzdialenosti nemeria priamo vzdialenosť; vydáva zvuk a zaznamenáva čas, ktorý snímač potrebuje na to, aby získal zvuk z akéhokoľvek predmetu, od ktorého sa odrazí.
dlhé mikrosekundyToInches (dlhé mikrosekundy) {
návratové mikrosekundy / 74 /2;
}
Teraz zapojíme káblové Arduino do počítača pomocou kódu, nastavíme porty a spustíme ho! Táto hra má dva režimy. Buď môžete používať iba LCD displej, servomotor, senzor a RGB LED diódu, a poznáte iba vzdialenosť, v ktorej sa musíte nachádzať od snímača, čo je ťažší režim. Jednoduchší režim zahŕňa použitie sériového monitora v ponuke Nástroje> Sériový monitor, ktorý vás bude každú sekundu informovať o tom, ako ďaleko ste od senzora, aby ste mohli vykonať potrebné úpravy.
Vďaka za prečítanie!
Odporúča:
Reakčná hra s časovačom 555: 5 krokov
555 Timer Reaction Game: Target AudienceTento návod je zameraný na ľudí, ktorí sa zaujímajú o obvody (s malým pozadím), ktorí hľadajú jednoduchú hru, ktorú môžete zostaviť len s niekoľkými lacnými komponentmi. Úroveň obtiažnosti To by bolo ťažké, keby
Reakčná hra Arduino: 9 krokov
Reakčná hra Arduino: Túto hru som vytvoril ako školskú úlohu. Museli sme urobiť niečo interaktívne s arduinom. Toto je môj prvý projekt Arduino, ktorý som kedy urobil, takže to bolo dosť ťažké, ale nie nemožné
Google AIY VoiceHAT pre súpravu Raspberry Pi (verzia MagPi 57, verzia 2017): 6 krokov (s obrázkami)
Google AIY VoiceHAT pre Raspberry Pi Kit (verzia MagPi 57, verzia 2017): Tipy na zostavenie hlasovej sady MagPi sa nenašli v návodoch
Reakčná hra FPGA: 10 krokov
Reakčná hra FPGA: Od Summer Rutherforda a Regity Soetandar
Fischertechnik LED reakčná hra: 7 krokov
Fischertechnik LED Reaction Time Game: Ako vytvoriť fischertechnik LED REACTION TIME GAME Žijem s rôznymi vzdelávacími manipulátormi. (Navštívte www.weirdrichard.com). Ľahko zostaviteľnou aplikáciou je LED REAKCIA ČASOVÁ HRA. Robotický ovládač (v tomto prípade