Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Ahoj. Toto je návod, jak vytvořit hru, která prověří jak váš reakční čas, tak i pocit vzdálenosti. Tento projekt je založen na starém projektu, do kterého jsem zapojil dva hráče, kteří soutěžili o to, kdo rychleji zareagoval kliknutím na tlačítko, když se rozsvítilo zeleně. Tenhle má podobný účel, kromě toho, že je pro jednoho hráče, a místo zhasnutí světla dostane hráč časový rámec, aby svou rukou vzdálil určitý prostor od senzoru vzdálenosti.
Stejně jako všechny projekty Arduino bude tato hra vyžadovat četné elektrické komponenty v obvodu Arduino. Mezi hlavní součásti, kromě kabeláže a samotného Arduina, patří prkénko, servomotor, LCD displej, RGB LED a snímač vzdálenosti.
Pomocí https://abra-electronics.com je cena bez kabelů a Arduina 32,12 USD CAD.
Krok 1: Krok 1: Senzor vzdálenosti
Prvním krokem je nastavení ultrazvukového senzoru vzdálenosti na prkénku a jeho připojení k Arduinu. Na přesné poloze senzoru ve skutečnosti nezáleží, ale v ideálním případě je blízko okraje, takže je zde prostor pro další komponenty, jak ukazuje obrázek výše. Na senzoru jsou čtyři piny; GND, VCC, TRIG a ECHO. GND a VCC mají být zapojeny do zemních a napájecích kolejnic a v ostatních dvou pinech do dvou kolíků na Arduinu. Dva kolíky, které jsem použil, byly 12 pro ECHO a 11 pro TRIG. Použijte dva další vodiče k napájení napájecí kolejnice a uzemněte zemnící lištu připojením napájecí lišty ke kolíku 5 V a zemnící lišty ke kolíku GND.
Krok 2: Krok 2: Servomotor
Dalším krokem je nastavení servomotoru. V tomto projektu funguje servomotor jako časovač. Začíná to na 1 stupni a za dobu, po kterou si uživatel musí oddálit ruce, se otočí o 180 stupňů. Použil jsem 2 sekundy, když uživatel zjistí, jak daleko musí vzdálit ruce, takže se servo otočí o 179 stupňů během 2sekundové periody a otáčí se v krátkých intervalech. Servomotor má tři vodiče; obvykle žlutá, červená a hnědá. Červená jde do napájecí kolejnice, která je již zapojena do 5V, a hnědá jde do zemnící kolejnice již zapojená do GND. Konečný vodič se zapojí do kolíku Arduino. Pro tento jsem vybral pin #9. Poté potřebujete kondenzátor připojující stejnou kolejnici, ke které jsou připojeny napájecí a uzemňovací vodiče servomotoru, jak je vidět na obrázku výše.
Krok 3: Krok 3: RGB LED
Funkce LED v tomto případě slouží jako měřítko pro skóre. Když je skóre hráče kolem 0, LED dioda bude bílá a bude -li skóre hráče klesat, začne se červenat a pokud se skóre hráče zvýší, bude zelené. Tato LED má čtyři nohy; noha s červeným světlem, noha s modrým světlem, noha se zeleným světlem a společná katoda sdílená mezi ostatními třemi nohami. Společná katoda, nejdelší noha, je zapojena do napájecí lišty, takže přijímá 5 voltů. Připojte odpory 330 ohmů k dalším třem barevným nohám a druhé konce těchto rezistorů připojte k digitálním pinům PWM na Arduinu. Ty, které jsem použil, byly digitální kolíky 3, 5 a 6 pro červenou, zelenou a modrou nohu.
Krok 4: Krok 4: LCD
Poslední komponentou je LCD, což znamená displej z tekutých krystalů. Účelem je sdělit hráči jejich aktuální skóre a vzdálenost, kterou potřebují k tomu, aby dali ruce pryč od senzoru. Tady jsou čtyři kolíky; GND, VCC, SDA a SCL. GND a VCC budou zapojeny do zemních a napájecích kolejnic prkénka. Kolík SDA musí být zapojen do analogového kolíku A4 a kolík SCL musí být zapojen do analogového kolíku A5. Na rozdíl od ostatních komponent musíte zapojit piny SDA a SCL do formátu A4 a A5.
Krok 5: Krok 5: Kód
Nyní, když jsme zapojili všechny součásti, můžeme napsat kód. První část kódu je importovat potřebné knihovny a deklarovat naše proměnné a do kterých pinů jsou komponenty zapojeny. Pro tento kód musíme importovat knihovny Wire, LiquidCrystal_I2C a Servo.
#zahrnout
#zahrnout
#zahrnout
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 aktuální = náhodný (8, 16); // náhodná hodnota, kde si uživatel musí od senzoru oddálit ruku
LiquidCrystal_I2C lcd (0x27, 16, 2); // Nastavení LCD
Nyní musíme použít void setup () k deklaraci typů pinů a nastavení dalších nezbytných komponent.
neplatné nastavení () {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 (); // Nastavení LCD}
Nyní musíme nastavit RGB LED kód pomocí funkce 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ý);
}
Nyní musíme přidat prázdnou smyčku (). Zde budeme generovat náhodná celá čísla a pomocí řady příkazů if ovládat hru pro hráče. Aktuální proměnná, nastavená výše, je pro aktuální vzdálenost, kterou musí hráč od senzoru distancovat.
Protože kód v prázdné smyčce () je velmi dlouhý, vložím odkaz na dokument, který má tento kód:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Nakonec musíme provést skutečné výpočty, abychom převedli hodnoty ultrazvukového snímače vzdálenosti na palce. Ultrazvukový snímač vzdálenosti neměřuje vzdálenost přímo; vydává zvuk a zaznamenává čas, který senzor potřebuje k získání zvuku zpět z jakéhokoli předmětu, od kterého se odráží.
dlouhé mikrosekundyToInches (dlouhé mikrosekundy) {
návrat mikrosekund / 74 /2;
}
Nyní připojíme kabelové Arduino k počítači pomocí kódu, nastavíme porty a spustíme ho! Tato hra má dva režimy. Buď můžete použít pouze LCD displej, servomotor, senzor a RGB LED a víte pouze vzdálenost, kterou musíte od senzoru mít, což je těžší režim. Jednodušší režim zahrnuje použití sériového monitoru v nabídce Nástroje> Sériový monitor, který vás bude každou sekundu informovat o tom, jak daleko jste od snímače, abyste mohli provést nezbytná nastavení.
Děkuji za přečtení!
Doporučuje:
Reakční hra s časovačem 555: 5 kroků
555 Timer Reaction Game: Target Audience Tato instruktáž je zaměřena na lidi, kteří se zajímají o obvody (s malým pozadím), kteří hledají jednoduchou hru, kterou můžete postavit jen s několika levnými součástmi. Úroveň obtížnosti To by bylo obtížné, kdyby
Zábavná reakční hra Arduino: 3 kroky
Zábavná hra s reakcí na Arduino: Zábavná hra s reakcí na Arduino pro celou rodinu;) Vychází z komunikace mezi platformami Bluetooth. Potřebujete jen nějaké věci z Arduina, smartphone s Androidem a krabici od bot. Pokud nic z toho nemáte, pevně tomu věřte: neexistuje nic, co
Reakční hra Arduino: 9 kroků
Reakční hra Arduino: Tuto hru jsem vytvořil jako školní úkol. Museli jsme udělat něco interaktivního s arduino. Toto je můj první projekt Arduino, který jsem kdy vytvořil, takže to bylo docela obtížné, ale ne nemožné
Google AIY VoiceHAT pro Raspberry Pi Kit (verze MagPi 57 verze 2017): 6 kroků (s obrázky)
Google AIY VoiceHAT pro Raspberry Pi Kit (verze MagPi 57 verze 2017): Tipy k sestavení hlasové sady MagPi nebyly v tutoriálech nalezeny
Reakční hra FPGA: 10 kroků
Reakční hra FPGA: Letní Rutherford a Regita Soetandar