Az Arduino nagyon népszerű a hobbi projektek és játékok építésében, és korábban már használtuk az Arduino-t Snake játék, Ping pong játék, Space verseny játék stb. Építésére. Ma még egy népszerű játékot építünk az Arduino- Buzz wire játékkal vagy a Steady hand játékkal..
Ehhez a projekthez egy Arduino Uno, egy hangjelzőt és két alumínium vezetéket fogunk használni. A játék állapotának megjelenítésére egy 16x2-es LCD is csatlakozik. A labirintus vezeték mindkét végét az Arduino 2 és 3 digitális érintkezőjéhez, a fogantyú vezetékét pedig az Arduino földelő csapjához kell csatlakoztatni. A digitális csapok INPUT_PULLUP csapokként vannak meghatározva. Tehát amikor a fogantyú hozzáér a labirintus vezetékéhez, az alacsonyra változtatja a digitális csapok állapotát, és a hangjelzést ad.
A labirintus vezeték végén egy dióda van csatlakoztatva, így amikor elmegy az adott dióda mellett, és kerek fogantyúval érinti a labirintus vezetéket, csak egy tű (3. érintkező) fog lemerülni. Ebben az állapotban egy gratulációs szöveg (jól sikerült) jelenik meg az LCD-n.
Szükséges alkatrészek
- Arduino Uno
- Alumínium huzal
- 16x2 LCD
- I 2 C modul
- Kenyérlemez
- Berregő
- Dióda
Kördiagramm
Az Arduino Buzz drótjáték kapcsolási rajza a fenti. Az I2C modul SCL és SDA csatlakozói az Arduino A5 és A4 csatlakozóihoz, míg az I2C modul V CC és GND csapjai az Arduino 5V és GND tűihez csatlakoznak. A hangjelző pozitív sínje az Arduino 4-es digitális érintkezőjéhez, a negatív sín pedig a GND-hez csatlakozik. Vágjon le egy alumínium huzalt és hajtsa végre cikk-cakk alakban. Forrasztjon egy diódát a vezeték egyik végén. Ezután vágjon le egy másik huzalt, hogy nyelet készítsen, és az egyik végét hurokba hajlítsa.
A 16x2 LCD-t I2C modul használata nélkül is összekapcsolhatjuk az Arduinóval.
Csatlakoztassa az Arduino D2 és D3 csapjait a Zig-Zag vezeték mindkét végéhez, és csatlakoztassa a fogantyú vezetékét az Arduino GND tűjéhez.
Kód Magyarázat
Az Arduino Buzz Wire Game teljes kódja a dokumentum végén található.
Indítsa el a kódot úgy, hogy tartalmazza az LCD modul könyvtárfájlját. A LiquidCrystal_I2C.h könyvtárat az Arduino és az LCD modulok közötti I2C kommunikációra használják.
#include
Ezt követően határozza meg az Arduino csapokat a hangjelzőhöz, a vezeték kezdőpontját és a vezeték végpontját.
const int startPin = 2; const int endPin = 3; const int hangjelző = 4;
Ezután adjon meg két változót kezdet és vég_. Ezeket a változókat használjuk a vezeték leolvasásának mentésére.
int kezdet, vég_;
Most definiálja a hangjelző kimenetet kimenetként és a huzaltüskéket INPUT_PULLUP értékként . Az Arduino belső húzóellenállásokkal rendelkezik, 20 k ohm körüli értékkel. Ezek az ellenállások az INPUT_PULLUP segítségével belsőleg csatlakoztathatók. Az INPUT_PULLUP meghatározása funkcionálisan megegyezik egy ~ 20 k ohmos ellenállás csatlakoztatásával a csap és az + 5 V között.
pinMode (hangjelző, OUTPUT); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
A void hurok belsejében olvassa el a vezetékcsapok állapotát.
start = digitalRead (startPin); end_ = digitalRead (endPin);
Most hasonlítsa össze a huzaltüskék leolvasásait. Ha mindkét tüske alacsony, ez azt jelenti, hogy megérintette a vezetéket, így a hangjelzés hangot ad ki, és ha a huzal indítócsapja magas és a vége alacsony, ez azt jelenti, hogy elérte a végpontot.
if (kezdet == LOW && end _ == LOW) {digitalWrite (hangjelző, HIGH); késés (1000); digitalWrite (hangjelző, LOW); lcd.setCursor (0,0); lcd.print ("Próbálja újra"); Serial.print ("Próbálja újra"); } else if (start == HIGH && end _ == LOW) {lcd.setCursor (0,0); lcd.print ("Jól megtörtént"); Serial.print ("Jól megtörtént"); }
A Buzz Wire Game tesztelése
A hardver csatlakoztatása és a megadott kód feltöltése után elkezdheti a játékot. Tartsa tehát a huzalt egy körrel a kezében, és próbálja meg eljuttatni a huzalt körrel egészen a cikk-cakk huzallal forrasztott diódáig, anélkül, hogy a kerek vezeték bárhová megérintene. Ha megérinti a vezetékeket, akkor a hangjelzés hallatszik, és az LCD-n a „ Try again ” felirat jelenik meg. És ha úgy teljesíted a játékot, hogy nem érinted meg a vezetéket, akkor a „ Jól sikerült ” felirat jelenik meg .
Így készíthet Buzz Wire játékot Arduinóval. Működő videó és teljes kód az alábbiakban található.