Orodha ya maudhui:
- Hatua ya 1: MAHITAJI
- Hatua ya 2: SCHEMA
- Hatua ya 3: CODE
- Hatua ya 4: CODE BITMAP
- Hatua ya 5: ASANTE KWA KUANGALIA
Video: Toleo la Mchezo wa Mbio za Nafasi ya Arduino _1: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Haya marafiki. Leo ni ganna kukuonyesha jinsi unaweza kutengeneza Mchezo wa Mbio za Nafasi na skrini ya LCD5110 na joystic. Wacha tuangalie hatua…
Hatua ya 1: MAHITAJI
Hapa kuna orodha ya sehemu ambazo nilikuwa nikifanya mradi huu:
- Arduino UNO
- Moduli ya Joystick
- Wiring Jumper (wa kiume hadi wa kiume na wa kiume kwa wa kike)
- Bodi ya mkate
Hatua ya 2: SCHEMA
VCC -> Arduino 5V
BL -> pini ya Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pini 8
DIN (MOSI) -> Arduino pini 9
DC -> Siri ya Arduino 10
CE au CS -> pini ya Arduino 12
RST (Rudisha) -> Arduino pin 11
Hatua ya 3: CODE
Nambari hiyo ina maelezo ya kazi za kificho. Utaielewa kwa urahisi. Ikiwa una shida, unaweza kuwasiliana nami.
# pamoja
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
nje uint8_t SmallFont ; // eleza fonti za nje uint8_t MediumNumbers ; nje uint8_t arac ; // kuelezea sura yetu nje uint8_t dusman_araci ; // kukataa sura ya adui const int xpin = A0; // fimbo ya shangwe x pin char pozisyon = 2; // kuelezea eneo, sura yetu kuanza eneo 2 boolean kontrol = kweli; dusman wa booleanOldu = kweli; int skor = 0; int hiz = 0; int dusmanKonumu1; // eleza adui1 x eneo int dusmanKonumu2; // eleza adui2 x eneo int dusmaninYdeKonumu; // kuelezea maadui y eneo
utupu dusmanAraci (int yer, int asama) {// weka maeneo ya maumbo ya adui
ikiwa (yer == 1) {// ikiwa eneo = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // chora sura ya adui} ikiwa (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } ikiwa (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
batili oyunBitti () {// ikiwa tutashindwa, mchezo umekamilika
wakati (1) {kuchelewesha (100); // subiri 1 milisecond lcd.clrScr (); // futa skrini LCD.setFont (SmallFont); // weka font lcd.print ("MCHEZO JUU", KITUO, 20); // chapa lcd.update (); // sasisha skrini}}
kuanzisha batili () {pinMode (BL, OUTPUT); // kuweka nyuma Pato la taa la LCD InitLCD (); // initilaze skrini ya LCD lcd.setContrast (55); // kuweka tofauti (karibu 0 hadi 127) Serial.begin (9600); // kuanza uunganishaji mfululizo]
kitanzi batili () {
AnalogWrite (BL, 200);
// kuweka skrini ya mchezo lcd.drawRect (0, 0, 47, 47); // tunachora mstatili LCD.setFont (SmallFont); // kuweka font lcd.print ("skor", 53, 0); // alama ya printf lcd.setFont (MediumNumbers); // weka font lcd.printNumI (skor, 59, 7); // pata alama lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // kasi ya kuchapisha lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // pata kasi lcd.update (); // sasisho
// weka eneo la joyistick int x = analogRead (xpin); ikiwa (x <300 && pozisyon! = 1 && kontrol == kweli) {// ikiwa eneo! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 na udhibiti ni pozisyon ++ ya kweli; // ongeza eneo inamaanisha hoja sura kwa udhibiti wa kulia = uwongo; } kingine ikiwa (x> 300 && x <600) {kontrol = true; } Serial.println (x); // kwa kujifunza x hali // kuweka eneo la sura yetu lcd.clrScr (); // futa skrini ikiwa (pozisyon == 1) {// ikiwa eneo = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // chora meli yetu ikiwa (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
ikiwa (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
ikiwa (dusmanOldu) {// ikiwa sura ya adui imekufa, angalia wamekufa
dusmanKonumu1 = pozisyon; // chora sura ya kwanza ya adui dusmanKonumu2 = nasibu (0, 4); // chora sura nyingine ya adui mahali pengine dusmaninYdeKonumu = 0; // leta adui kutoka kwa dusman wa juuOldu = uwongo;} // adui ameumbwa tena kwa hivyo hawajafa dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // chora sura ya kwanza ya adui na uipate kutoka juu hadi chini dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // chora sura ya pili ya adui na uipate kutoka juu hadi chini ikiwa (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// ikiwa sura yetu inagusa maumbo ya adui oyunBitti ();} // mchezo umeisha ikiwa (dusmaninYdeKonumu> 40) {// ikiwa umbo letu linatoroka kutoka kwa maadui dusmanOldu = kweli; // kuua maumbo ya adui skor ++;} // ongeza moja kwa moja alama // ongeza kasi kulingana na alama ikiwa (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; kuchelewesha (40); }}
Hatua ya 4: CODE BITMAP
Kwa kuongezea, lazima ujumuishe picha ya bitmap kwa maumbo. Lazima iwe faili ya.c na jina moja na jina la nambari. Pia, inapaswa kuwa katika faili moja.
// ------------------------------------------------ ------------------ / bitmap_converter / // ------------------------------------------ ----------------------------------- pamoja na // pamoja na kazi ya progmem
const unsigned char arac PROGMEM = {// sura yetu bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// adui meli bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Hatua ya 5: ASANTE KWA KUANGALIA
Kabla ı kuanza kushiriki miradi yangu, ı ilikuwa na maandishi kwa maneno ya Kituruki kwa hivyo sikuweza kutoa nafasi kwa kila maneno kwenda kwa kiingereza. Hapa maneno ya kutafsiri ambayo ı hutumia mradi huu, Oyun = Mchezo
Arac = Umbo
Dusman = Adui
kudhibiti = kudhibiti
Konum, Yer = Mahali
Oyun Bitti = Mchezo Umekamilika
Skor = Alama
Hiz = Kasi
Ilipendekeza:
Kukua Lettuce Zaidi katika Nafasi Ndogo Au Kukua Lettuce katika Nafasi, (Zaidi au Chini): Hatua 10
Kukua Lettuce Zaidi katika Nafasi Ndogo Au … Kukua Lettuce katika Anga, (Zaidi au Chini): Hii ni uwasilishaji wa kitaalam kwa Shindano la Kukuza Zaidi ya Dunia, Mashindano ya Watengenezaji, iliyowasilishwa kupitia Maagizo. Sikuweza kuwa na msisimko zaidi kuwa nikibuni utengenezaji wa mazao ya nafasi na kutuma Instructable yangu ya kwanza.Kuanza, shindano lilituuliza
Boresha Uzinduzi wa Nafasi Yako na Kitufe cha Kuweka Kimwili kwa Mpango wa Nafasi ya Kerbal: Hatua 6
Boresha Uzinduzi wa Nafasi Yako na Kitufe cha Kuweka Nafasi Kimwili kwa Programu ya Nafasi ya Kerbal: Hivi majuzi nilichukua toleo la onyesho la Programu ya Nafasi ya Kerbal. Programu ya Nafasi ya Kerbal ni mchezo wa simulator ambao hukuruhusu kubuni na kuzindua roketi na kuzunguka hadi miezi na sayari za mbali. Bado ninajaribu kutua kwa mafanikio kwenye mwezi (o
Mbio wa Mchezo Toleo la 2: 5 Hatua
Nafasi Mbio Mchezo Toleo la 2: Halo kila mtu. Kabla ya toleo hili la mchezo, ı ilichapisha toleo la kwanza la mchezo. Leo, ı nitakuonyesha Toleo la Mbio za Mbio za Mbio za Wacha Tuangalie hatua
Mbio wa Nafasi: Mchezo rahisi wa Kubofya wa Arduino kufanya na watoto: Hatua 7
Mbio wa Nafasi: Mchezo rahisi wa Kubofya wa Arduino kufanya na watoto: ¡ ninapakia video inayoonyesha jinsi inavyofanya kazi leo! Endelea kuwa nasi Tunaburudika na nafasi ya kufundishia inayoweza kutengenezwa pamoja na watoto, na baadaye ufurahie wao peke yao kama toy.Unaweza kuitumia kama maana ya kuwafundisha historia kuhusu ushirikiano
Buruta Mbio Wakati wa Kugusa Mbio: Hatua 5 (na Picha)
Buruta Wakati wa Kujibu Mbio: Katika hii inayoweza kufundishwa, nitakuonyesha jinsi ya kuunda mkufunzi wa wakati wa kugusa mbio. Ukiwa na kila kitu kimekamilika, utaweza kutumia kitufe kuzungusha taa zote na kupata wakati wa majibu. Viongozi wawili wa juu wa manjano watawakilisha t