Tartalomjegyzék:

Gyorsreagálású játék: Távoli verzió: 5 lépés (képekkel)
Gyorsreagálású játék: Távoli verzió: 5 lépés (képekkel)

Videó: Gyorsreagálású játék: Távoli verzió: 5 lépés (képekkel)

Videó: Gyorsreagálású játék: Távoli verzió: 5 lépés (képekkel)
Videó: NYÚZ: ELDOBTA A FRANCIA NYELVET MALI ÉS BURKINA FASO / EPSTEIN LISTÁJA / A NEM LÉTEZŐ EMBEREK 2024, November
Anonim
Gyorsreagálású játék: Távoli verzió
Gyorsreagálású játék: Távoli verzió

Szia. Ez egy utasítás, hogyan kell létrehozni egy játékot, amely teszteli a reakcióidőt és a távolságérzetet. Ez a projekt egy régi projekten alapul, amelyben két játékos vett részt, akik versenyeztek, hogy lássák, kinek gyorsabb a reakcióideje, ha rákattint egy gombra, amikor zöldre vált a lámpa. Ennek a célnak is hasonló a célja, kivéve, ha egyjátékos, és nem világít, hanem egy időkeretet kap a játékos, hogy távolítsa el a kezét egy bizonyos távolságtól a távolságérzékelőtől.

Mint minden Arduino projekt, ez a játék is számos elektromos alkatrészt igényel az Arduino áramkörben. A fő komponensek, a kábelezésen és az Arduino -n kívül, a kenyérlap, a szervomotor, az LCD -kijelző, az RGB LED és a távolságérzékelő.

A https://abra-electronics.com használatával az ár a vezetékek és az Arduino nélkül 32,12 USD.

1. lépés: 1. lépés: Távolságérzékelő

1. lépés: Távolságérzékelő
1. lépés: Távolságérzékelő

Az első lépés az ultrahangos távolságérzékelő beállítása a kenyértáblán, és vezetékezése az Arduino -hoz. Az érzékelő pontos elhelyezkedése valójában nem számít, de ideális esetben közel van az élhez, hogy legyen hely a többi alkatrésznek, amint az a fenti képen látható. Négy csap van az érzékelőn; GND, VCC, TRIG és ECHO. A GND -t és a VCC -t a földhöz és a tápcsatlakozásokhoz kell bekötni, a másik két érintkezőt pedig az Arduino két tűjéhez kell vezetni. Az általam használt két csap 12 volt az ECHO és 11 a TRIG esetében. Két másik vezetékkel táplálja a tápkábelt, és földelje le a földelősínt úgy, hogy a tápkábelt az 5 V -os, a földi sávot pedig egy GND -csaphoz csatlakoztatja.

2. lépés: 2. lépés: szervomotor

2. lépés: Szervomotor
2. lépés: Szervomotor

A következő lépés a szervomotor beállítása. Ebben a projektben a szervomotor időzítőként működik. 1 fokkal kezdődik, és azon időtartam alatt, ameddig a felhasználónak távol kell tartania a kezét, 180 fokra fog forogni. 2 másodpercet használtam, amikor a felhasználó megtudja, milyen messzire kell távolítani a kezét, így a szervó 2 másodperc alatt 179 fokot forog, rövid időközönként. A szervomotornak három vezetéke van; általában sárga, vörös és barna. A piros az 5 V -os, a barna pedig a GND -be már bekötött földi sínbe kerül. Az utolsó huzal bedugható egy Arduino csapba. Ehhez a #9 -es tűt választottam. Ezután szüksége van egy kondenzátorra, amely ugyanazt a sínet köti össze, amelyhez a szervomotor táp- és földvezetékei vannak csatlakoztatva, amint a fenti képen látható.

3. lépés: 3. lépés: RGB LED

3. lépés: RGB LED
3. lépés: RGB LED

A LED funkciója ebben az, hogy skálaként szolgál a pontszámhoz. Ha a játékos pontszáma 0 körül van, a LED fehér lesz, és pirosabbra vált, ha a játékos pontszáma csökken, és zöldre, ha a játékos pontszáma emelkedik. Ennek a LED -nek négy lába van; egy piros lámpa, egy kék lámpa, egy zöld lámpa és egy közös katód, amely a másik három láb között oszlik meg. A közös katód, a leghosszabb láb, be van kötve a hálózati sínbe, így 5 voltot kap. Csatlakoztasson 330 ohmos ellenállást a másik három színes lábhoz, és az ellenállások másik végét az Arduino PWM digitális csapjaihoz. Az általam használt digitális, 3 -as, 5 -ös és 6 -os tűket használtam a piros, a zöld és a kék lábakhoz.

4. lépés: 4. lépés: LCD

4. lépés: LCD
4. lépés: LCD

Az utolsó komponens az LCD, amely a folyadékkristályos kijelzőt jelenti. Ennek célja, hogy elmondja a játékosnak az aktuális pontszámát, valamint azt a távolságot, amelyre szüksége van, hogy eltegye a kezét az érzékelőtől. Itt négy csap található; GND, VCC, SDA és SCL. A GND és a VCC a kenyérsütő talaj és a tápcsövekhez lesz csatlakoztatva. Az SDA -tűt az A4 -es analóg érintkezőbe, az SCL -tűt pedig az A5 -ös analóg érintkezőbe kell bekötni. A többi alkatrésztől eltérően az SDA és SCL csatlakozókat A4 -re és A5 -re kell kötni.

5. lépés: 5. lépés: a kód

Most, hogy bekötöttük az összes komponenst, írhatjuk a kódot. A kód első része a szükséges könyvtárak importálása és a változóink deklarálása, valamint az összetevők bekötése. Ehhez a kódhoz importálnunk kell a Wire, a LiquidCrystal_I2C és a Servo könyvtárat.

#befoglalni

#befoglalni

#befoglalni

Szervo myServo;

int const trigPin = 11;

int const echoPin = 12;

int redPin = 3;

int greenPin = 5;

int bluePin = 6;

int pontszám = 0;

int tim = 500;

int áram = véletlenszerű (8, 16); // véletlen érték, ahol a felhasználónak el kell távolítania a kezét az érzékelőtől

LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD beállítás

Most a void setup () segítségével ki kell jelentenünk a tűtípusokat, és más szükséges összetevőket kell beállítanunk.

void setup () {myServo.attach (9); Sorozat.kezdet (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd.backlight (); lcd. kezdet (16, 2); lcd.clear (); // LCD beállítás}

Most be kell állítanunk az RGB LED kódot egy funkció és a PWM segítségével:

void setColor (int piros, int zöld, int kék) {

piros = 255 - piros;

zöld = 255 - zöld;

kék = 255 - kék;

analogWrite (redPin, piros);

analogWrite (zöldPin, zöld);

analogWrite (bluePin, kék);

}

Most hozzá kell adnunk a void ciklust (). Itt véletlenszerű egész számokat fogunk generálni, és egy sor if utasítással fogjuk irányítani a játékot a játékos számára. Az aktuális változó, a fenti beállítás, arra az aktuális távolságra vonatkozik, amelyet a játékosnak el kell távolítania az érzékelőtől.

Mivel a void loop () kódja nagyon hosszú, beillesztek egy linket egy olyan dokumentumra, amely tartalmazza ezt a kódot:

docs.google.com/document/d/1DufS0wuX0N6gpv…

Végül el kell végeznünk a tényleges számításokat, hogy az ultrahangos távolságérzékelő értékeit hüvelykre alakítsuk át. Az ultrahangos távolságérzékelő nem közvetlenül méri a távolságot; hangot bocsát ki, és rögzíti azt az időt, ameddig az érzékelő visszakapja a hangot bármilyen tárgyról, amelyről lepattan.

hosszú mikroszekundumokToInches (hosszú mikroszekundumok) {

visszatérő mikroszekundumok / 74 /2;

}

Most csatlakoztassa a vezetékes Arduino -t a számítógéphez a kóddal, állítsa be a portokat és futtassa! Ennek a játéknak két módja van. Vagy csak az LCD -kijelzőt, a szervomotort, az érzékelőt és az RGB LED -et használhatja, és csak azt a távolságot tudja, amely távolságra van az érzékelőtől, ami a nehezebb mód. A könnyebb üzemmód magában foglalja a soros monitor használatát az Eszközök> Soros monitor menüben, amely másodpercenként frissíti Önt arról, hogy milyen messze van az érzékelőtől, így elvégezheti a szükséges beállításokat.

Köszönöm, hogy elolvasta!

Ajánlott: