Arduino ir ļoti populārs hobiju projektu un spēļu veidošanā, un mēs jau iepriekš izmantojām Arduino, lai izveidotu čūskas spēli, galda tenisa spēli, kosmosa sacīkšu spēli utt. Šodien mēs veidojam vēl vienu populāru spēli, izmantojot Arduino- Buzz stiepļu spēli vai Steady hand game.
Šajā projektā mēs izmantosim Arduino Uno, Buzzer un divus alumīnija vadus. 16x2 LCD ir arī saskarne, lai parādītu spēles statusu. Abi labirinta vadu gali tiks savienoti ar Arduino digitālo tapu 2 un 3, bet roktura vads ir savienots ar Arduino zemes tapu. Digitālās tapas ir definētas kā INPUT_PULLUP tapas. Tātad, kad roktura vads pieskaras labirinta vadam, tas maina digitālo tapu stāvokli uz zemu, un skaņas signāls izdod skaņu.
Labirinta stieples galā ir pievienots diode, tāpēc, dodoties garām šai diodei un pieskaroties labirinta vadam ar apaļu roktura vadu, zemu nonāks tikai viena tapa (3. tapa). Šajā stāvoklī LCD ekrānā tiks parādīts apsveikuma teksts (labi izdarīts).
Nepieciešamās sastāvdaļas
- Arduino Uno
- Alumīnija stieple
- 16x2 LCD
- I 2 C modulis
- Maizes dēlis
- Buzzer
- Diode
Ķēdes shēma
Arduino Buzz Wire Game shēma ir dota iepriekš. I2C moduļa SCL un SDA tapas ir savienotas ar Arduino A5 un A4 tapām, savukārt I2C moduļa V CC un GND tapas ir savienotas ar Arduino 5V un GND tapām. Buzzer pozitīvais sliede ir savienota ar Arduino digitālo tapu 4 un negatīvā sliede ir savienota ar GND. Izgrieziet alumīnija stiepli un salieciet to Zig-Zag formā. Lodējiet diode vienā stieples galā. Pēc tam sagrieziet vēl vienu vadu, lai izveidotu rokturi, un vienu galu salieciet cilpā.
16x2 LCD var arī saskarni ar Arduino, neizmantojot I2C moduli.
Pievienojiet Arduino D2 un D3 tapas abiem Zig-Zag stieples galiem un pievienojiet roktura vadu Arduino GND tapai.
Kods Paskaidrojums
Pilnīgs šīs Arduino Buzz vadu spēles kods ir norādīts dokumenta beigās.
Sāciet kodu, iekļaujot bibliotēkas failu LCD modulim. LiquidCrystal_I2C.h bibliotēka tiek izmantota I2C saziņai starp Arduino un LCD moduļiem.
# iekļaut
Pēc tam definējiet skaļruņa Arduino tapas, stieples sākuma punktu un stieples galapunktu.
const int startPin = 2; const int endPin = 3; const int zummer = 4;
Pēc tam definējiet divus mainīgos sākuma un beigu_. Šie mainīgie tiks izmantoti, lai saglabātu vadu rādījumus.
int sākums, beigas_;
Tagad definējiet skaņas signāla tapu kā izvadi un vadu tapas kā INPUT_PULLUP . Arduino ir iekšējie pievilkšanas rezistori, kuru vērtība ir aptuveni 20k omi. Šos rezistorus var savienot iekšēji, izmantojot INPUT_PULLUP . INPUT_PULLUP definēšana funkcionāli ir tāda pati kā ~ 20k om rezistora savienošana starp tapu un + 5V.
pinMode (zummer, OUTPUT); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
Tukšās cilpas iekšpusē izlasiet vadu tapu statusu.
sākums = digitalRead (startPin); end_ = digitalRead (endPin);
Tagad salīdziniet stiepļu tapu rādījumus. Ja abas tapas ir zemas, tas nozīmē, ka esat pieskāries vadam, lai skaņas signāls izdotu skaņu, un, ja stieples sākuma tapa ir augsta un gala tapa ir zema, tas nozīmē, ka esat sasniedzis galapunktu.
ja (sākums == LOW && beigas _ == LOW) {digitalWrite (zummer, HIGH); kavēšanās (1000); digitalWrite (zummer, LOW); lcd.setCursor (0,0); lcd.print ("Mēģiniet vēlreiz"); Serial.print ("Mēģināt vēlreiz"); } else if (sākums == HIGH && beigas _ == ZEMS) {lcd.setCursor (0,0); lcd.print ("Labi izdarīts"); Serial.print ("Labi izdarīts"); }
Buzz Wire spēles pārbaude
Pēc aparatūras pievienošanas un norādītā koda augšupielādes jūs varat sākt spēlēt spēli. Tāpēc turiet vadu ar apli rokā un mēģiniet nokļūt vadā ar apli līdz pat diždega, kas pielodēts ar zig-zag stiepli, neļaujot apaļajam vadam jebkur pieskarties. Ja pieskaraties vadiem, skaņas signāls izdos skaņu un LCD displejā parādīsies uzraksts “ Mēģināt vēlreiz ”. Un, ja jūs pabeidzat spēli, nepieskaroties vadam, tas parādīs “ Labi darīts ”.
Šādi jūs varat izveidot Buzz Wire spēli ar Arduino. Darba video un pilnīgs kods ir norādīts zemāk.