Obsah:

Rychlá reakční hra: Vzdálená verze: 5 kroků (s obrázky)
Rychlá reakční hra: Vzdálená verze: 5 kroků (s obrázky)

Video: Rychlá reakční hra: Vzdálená verze: 5 kroků (s obrázky)

Video: Rychlá reakční hra: Vzdálená verze: 5 kroků (s obrázky)
Video: JAK ZVÝŠIT VÝKON POČÍTAČE / NOTEBOOKU 🔥| 5 tipů a triků | o 100% rychlejší PC | FPS zvýšení | CZ/SK 2024, Červenec
Anonim
Rychlá reakční hra: Verze na dálku
Rychlá reakční hra: Verze na dálku

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

Krok 1: Senzor vzdálenosti
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

Krok 2: Servomotor
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

Krok 3: RGB LED
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

Krok 4: LCD
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: