Բովանդակություն:
- Քայլ 1: ՄԱՍՆԵՐ
- Քայլ 2: SCHEMA
- Քայլ 3: ԿՈԴ
- Քայլ 4. ԿՈԴԻՐ BITMAP
- Քայլ 5: Շնորհակալություն դիտման համար
Video: Space Race Game Տարբերակ 2: 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Բարեւ բոլորին. Մինչ այս խաղի տարբերակը, ı- ը հրապարակեց խաղի առաջին տարբերակը: Այսօր ı -ը ձեզ ցույց կտա Space Race Game տարբերակը 2. Եկեք նայենք քայլերին…
Քայլ 1: ՄԱՍՆԵՐ
Ահա այն մասերի ցանկը, որոնք ես օգտագործել եմ այս նախագիծը պատրաստելու համար.
- Arduino UNO
- Joystick մոդուլ
- Jumper Wires (արականից արական և արականից իգական)
- Breadboard
Քայլ 2: SCHEMA
VCC -> Arduino 5V
BL -> Arduino քորոց 3
GND -> Arduino GND
CLK (SCLK) -> Arduino փին 8
DIN (MOSI) -> Arduino փին 9
DC -> Arduino քորոց 10
CE կամ CS -> Arduino քորոց 12
RST (RESET) -> Arduino քորոց 11
Քայլ 3: ԿՈԴ
Կոդն ունի ծածկագրի գործառույթների բացատրություններ: Դուք հեշտությամբ կհասկանաք դա: Եթե խնդիր ունեք, կարող եք կապվել ինձ հետ:
#ներառում
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
բուլյան վերահսկում = ճշմարիտ;
բուլյան դուսմանոլդու = ճշմարիտ;
extern uint8_t SmallFont ; // նկարագրել տառատեսակները
արտաքին uint8_t Միջին համարներ ; extern uint8_t arac ; // նկարագրել մեր ձևը extern uint8_t dusmanAraci ; // նկարագրել թշնամու ձևը const int xpin = A0; // joystick x pin char pozisyon = 3; // նկարագրել վայրը, մեր ձևի մեկնարկի վայրը 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // նկարագրել հակառակորդին 1 x գտնվելու վայրը dusmankonum2; // նկարագրել հակառակորդին 2 x տեղադրություն int dusmankonum3; // նկարագրել հակառակորդին 3 x գտնվելու վայրը dusmankonum4; // նկարագրել հակառակորդին 4 x տեղադրություն int dusmankonum5; // նկարագրել թշնամուն 5 x գտնվելու վայրը dusmaninYdekonumu;
void oyunEkrani () {// սահմանել խաղի էկրանը
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // մենք նկարում ենք ուղղանկյուն lcd.setFont (SmallFont); // սահմանել տառատեսակ lcd.print ("skor", 57, 1); // տպել հաշիվ lcd.print («hiz», 60, 24); // տպման արագություն lcd.setFont (MediumNumbers); // սահմանել տառատեսակը lcd.printNumI (skor, 55, 8); // ստանալ միավոր lcd.printNumI (hiz, 63, 32); // ստանալ արագություն lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// թշնամու ձևերի տեղադրման վայրեր
եթե (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 draw հակառակորդը ձևավորում է այս վայրը, եթե (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } if (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 6) {lcd.drawBitmap (42, asama, dusmanAraci, 7, 7); lcd.update ();}}
void oyunbitti () {// եթե ձախողենք, խաղը կավարտվի
իսկ (1) {հետաձգում (100); // սպասել 1 միլիարդ վայրկյան lcd.clrScr (); lcd.setFont (SmallFont); lcd.print («OYUN BITTI», ԿԵՆՏՐՈՆ, 8); // խաղ տպել lcd.print- ով ("skorunuz =", 3, 30); // տպեք ձեր հաշիվը lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // ստանալ վերջին միավորը lcd.update (); }}
void setup () {
pinMode (BL, OUTPUT); // հետադարձ լույս Արտադրության pinMode (xpin, INPUT); // սահմանել x pin- ը որպես մուտքային lcd. InitLCD (); // նախաստորագրել lcd էկրանը lcd.setContrast (55); // սահմանել հակադրություն (ամուն 0 -ից մինչև 127 -ը) Serial.begin (9600); // սկսել սերիական հաղորդակցություն}
դատարկ շրջան () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu… // սահմանել joyistick- ի գտնվելու վայրը…
int durumx = analogRead (xpin); եթե (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x վիճակ> 600 և վերահսկողությունը ճշմարիտ է pozisyon ++; // բարձրացնել տեղադրությունը նշանակում է ձևը տեղափոխել աջ kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // դիրքի վիճակ… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // նկարեք մեր նավը, եթե (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}
եթե (dusmanoldu) {// եթե թշնամու ձևը մեռած է, ստուգեք, արդյոք նրանք մահացած են
dusmankonum1 = դրական; // նկարել առաջին թշնամու ձևը dusmankonum2 = պատահական (0, 6); // ուրվագծել մեկ այլ թշնամու ձև ինչ -որ տեղ dusmankonum3 = պատահական (0, 6); dusmankonum4 = պատահական (0, 6); dusmankonum5 = պատահական (0, 6); dusmaninYdekonumu = 0; // բերեք թշնամուն վերևից dusmanoldu = false;} // թշնամին վերստեղծվում է, որպեսզի նրանք մահացած չլինեն
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // նկարեք առաջին թշնամու ձևը և ստացեք այն վերևից ներքև
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // նկարել թշնամու երկրորդ ձևը և ստանալ այն վերևից ներքև dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; եթե (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// եթե մեր ձևը դիպչում է թշնամու oyunbitti ձևերին (); // խաղն ավարտված է}
եթե (dusmaninYdekonumu> 42) {// եթե մեր ձևը փախչի թշնամիներից
դուսմանոլդու = ճշմարիտ; // սպանել թշնամու ձևերը skor ++; // մեկ առ մեկ ավելացրեք հաշիվը}
// skora gore hizi artiriyoruz // բարձրացնել արագությունը ըստ միավորի
եթե (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; ուշացում (5); }
}
Քայլ 4. ԿՈԴԻՐ BITMAP
Ավելին, դուք պետք է ներառեք bitmap գրաֆիկա ձևերի համար: Այն պետք է լինի.c ֆայլ:
#ներառել // ներառել ծրագրավորման գործառույթի համար
const unsigned char arac PROGMEM = {// մեր ձևի bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// թշնամու նավի bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Քայլ 5: Շնորհակալություն դիտման համար
Որոշ բառերի իմաստը.
Oyun => Խաղ
Arac => Ձև
Դուսման => Թշնամի
kontrol => վերահսկողություն
Կոնում, Եր => Որտեղից
Խաղ Bitti => Խաղն ավարտված է
Skor => Հաշիվ
Hiz => Արագություն
Խորհուրդ ենք տալիս:
The ThreadBoard (Ոչ 3D տպագիր տարբերակ). Էլեկտրոնային տեքստիլ արագ նախատիպերի տախտակ. 4 քայլ (նկարներով)
The ThreadBoard (Ոչ 3D տպագիր տարբերակ). E-Textile Rapid Prototyping Board. The ThreadBoard V2- ի 3D տպագիր տարբերակի հրահանգը կարելի է գտնել այստեղ: ThreadBoard- ի 1-ին տարբերակը կարելի է գտնել այստեղ: ofախսերի խոչընդոտների միջով, ճանապարհորդություն, համաճարակներ և այլ խոչընդոտներ, դուք կարող եք մուտք չունենալ 3D տպիչ, բայց ցանկանում եք
Պարզ ռոբոտ պատրաստելը այն իրերից, որոնք կարող եք գտնել ձեր տանը (տաքացվող տարբերակ) ՝ 5 քայլ
Պարզ ռոբոտ պատրաստելը այն իրերից, որոնք կարող եք գտնել ձեր տանը (տաքացվող տարբերակ). Այս հրահանգը ցույց կտա ձեզ, թե ինչպես պատրաստել ինքնաշեն տաքացվող անիվ, որն աշխատում է կրկնակի A մարտկոցներով: Ձեզ հարկավոր կլինի օգտագործել միայն այն իրերը, որոնք, ամենայն հավանականությամբ, կարող եք գտնել ձեր տանը: Խնդրում ենք նկատի ունենալ, որ այս ռոբոտը, հավանաբար, ուղիղ չի գնա
Arduino վոլտաչափ (0-100V DC) - տարբերակ 2 (ավելի լավ) ՝ 3 քայլ
Arduino Volt Meter (0-100V DC)-Տարբերակ 2 (ավելի լավ). Այս ուսանելի ծրագրում ես կառուցել եմ վոլտմետր ՝ չափելու բարձր լարման DC (0-100v) հարաբերական ճշգրտությամբ և ճշգրտությամբ ՝ օգտագործելով Arduino Nano և ADS 1115 ADC . Սա վոլտմետրի երկրորդ տարբերակն է, որն օգտագործվել է իմ նախորդ հրահանգով այստեղ ՝ https: // ww
7 հատվածի ժամացույցի տարբերակ 2: 4 քայլ
7 հատվածի ժամացույցի տարբերակ 2. Բարև: Instructables- ի օգտվողի ՝ 12 ժ ձևաչափի առկայության վերաբերյալ խնդրանքից հետո ես օգտվեցի բուն նախագծում էական փոփոխություններ կատարելու համար: 1-ին տարբերակի օգտագործման ընթացքում ես զգացի, որ պետք է ինքնուրույն տարբերակ պատրաստել, այնպես որ ես դա հնարավոր դարձրեցի
Arduino Space Race Game Տարբերակ _1: 5 քայլ
Arduino Space Race Game Տարբերակ _1. Բարև ընկերներ: Այսօր ես ganna- ն ձեզ ցույց կտամ, թե ինչպես կարող եք տիեզերական մրցավազքի խաղ պատրաստել LCD5110 էկրանով և ուրախացնող: Եկեք նայենք քայլերին