Სარჩევი:
- ნაბიჯი 1: საჭიროებები
- ნაბიჯი 2: სქემა
- ნაბიჯი 3: კოდი
- ნაბიჯი 4: კოდი BITMAP
- ნაბიჯი 5: მადლობა ნახვისთვის
ვიდეო: Arduino Space Race თამაშის ვერსია _1: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
გამარჯობა მეგობრებო. დღეს მე განანა გაჩვენებთ, თუ როგორ შეგიძლიათ გააკეთოთ Space Race Game LCD5110 ეკრანით და ჯოისტიკით. მოდით შევხედოთ ნაბიჯებს…
ნაბიჯი 1: საჭიროებები
აქ მოცემულია იმ ნაწილების სია, რომლებიც მე გამოვიყენე ამ პროექტის შესაქმნელად:
- Arduino UNO
- ჯოისტიკის მოდული
- Jumper Wires (მამაკაცი მამაკაცი და მამაკაცი ქალი)
- პურის დაფა
ნაბიჯი 2: სქემა
VCC -> Arduino 5V
BL -> Arduino pin 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> Arduino pin 10
CE ან CS -> Arduino pin 12
RST (გადატვირთვა) -> Arduino pin 11
ნაბიჯი 3: კოდი
კოდს აქვს განმარტებები კოდის ფუნქციების შესახებ. თქვენ ადვილად მიხვდებით მას. თუ თქვენ გაქვთ პრობლემა, შეგიძლიათ დამიკავშირდეთ.
#ჩართეთ
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
გარე uint8_t SmallFont ; // აღწერეთ გარე შრიფტები uint8_t MediumNumbers ; გარეგანი uint8_t arac ; // აღწერეთ ჩვენი ფორმა გარეგანი uint8_t dusman_araci ; // desribe მტრის ფორმის const int xpin = A0; // ჯოისტიკი x pin char pozisyon = 2; // აღწერეთ მდებარეობა, ჩვენი ფორმის საწყისი მდებარეობა 2 ლოგიკური კონტროლი = ჭეშმარიტი; boolean dusmanOldu = ჭეშმარიტი; int skor = 0; int hiz = 0; int dusmanKonumu1; // აღწერე მტერი 1 x ადგილმდებარეობა int dusmanKonumu2; // აღწერე მტერი 2 x ადგილმდებარეობა int dusmaninYdeKonumu; // აღწერეთ მტრები და ადგილმდებარეობა
void dusmanAraci (int yer, int asama) {// მითითებული ადგილები მტრის ფორმებისთვის
თუ (იერ == 1) {// თუ ადგილმდებარეობა = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // მტრის ფორმის დახატვა} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// თუ ჩვენ წარუმატებელი ვართ, თამაში დასრულდება
ხოლო (1) {დაგვიანება (100); // დაელოდეთ 1 მილიწამს lcd.clrScr (); // ეკრანის გასუფთავება lcd.setFont (SmallFont); // შრიფტის დაყენება lcd.print ("GAME OVER", CENTER, 20); // დაბეჭდე lcd.update (); // ეკრანის განახლება}}
void setup () {pinMode (BL, OUTPUT); // განათების უკან დაყენება გამომავალი lcd. InitLCD (); // LCD ეკრანის დაყენება lcd.setContrast (55); // კონტრასტის დაყენება (ამუნდი 0 -დან 127 -მდე) Serial.begin (9600); // სერიული კომუნიკაციის დაწყება}
ბათილი მარყუჟი () {
analogWrite (BL, 200);
// თამაშის ეკრანის დაყენება lcd.drawRect (0, 0, 47, 47); // ჩვენ ვხატავთ ოთხკუთხედს lcd.setFont (SmallFont); // შრიფტის დაყენება lcd.print ("skor", 53, 0); // printf ანგარიში lcd.setFont (საშუალო ნომრები); // შრიფტის დაყენება lcd.printNumI (skor, 59, 7); // მიიღეთ ქულა lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // ბეჭდვის სიჩქარე lcd.setFont (საშუალო ნომრები); lcd.printNumI (hiz, 59, 32); // მიიღეთ სიჩქარე lcd.update (); // განახლება
// დააყენეთ ჯოისტიკის ადგილმდებარეობა int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 და კონტროლი არის ჭეშმარიტი პოზიციონი ++; // მდებარეობის გაზრდა ეს ნიშნავს ფორმის გადატანას მარჯვნივ kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // x მდგომარეობის შესასწავლად // დააყენეთ ჩვენი ფორმის ადგილმდებარეობა lcd.clrScr (); // ეკრანის გასუფთავება if (პოზიციონი == 1) {// თუ ადგილმდებარეობა = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // დახაზეთ ჩვენი გემი თუ (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
თუ (პოზიციონი == 3) {
lcd.drawBitmap (34, 37, არაკი, 12, 8);}
თუ (dusmanOldu) {// თუ მტრის ფორმა მკვდარია, შეამოწმეთ ისინი მკვდარია
dusmanKonumu1 = პოზიციონი; // პირველი მტრის ფორმის დახატვა dusmanKonumu2 = შემთხვევითი (0, 4); // დახაზეთ მტრის სხვა ფორმა სადმე dusmaninYdeKonumu = 0; // მოიყვანე მტერი ზემოდან dusmanOldu = false;} // მტერი ხელახლა იქმნება ისე, რომ ისინი არ არიან მკვდარი dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // დახაზეთ მტრის პირველი ფორმა და მიიღეთ იგი ზემოდან ქვემოდან dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // დახაზეთ მეორე მტრის ფორმა და მიიღეთ იგი ზემოდან ქვემოდან თუ (dusmaninYdeKonumu> 22 && (((dusmanKonumu1 == პოზიციონი) || (dusmanKonumu2 == პოზიციონი))) {// თუ ჩვენი ფორმა შეეხო მტრის ფორმებს oyunBitti ();} // თამაში დასრულებულია, თუ (dusmaninYdeKonumu> 40) {// თუ ჩვენი ფორმა გაქცევა მტრებისგან dusmanOldu = true; // მოკლეთ მტრის ფორმები skor ++;} // გაზარდეთ ქულა სათითაოდ // გაზარდეთ სიჩქარე ქულის მიხედვით if (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; დაგვიანება (40); }}
ნაბიჯი 4: კოდი BITMAP
გარდა ამისა, თქვენ უნდა შეიტანოთ bitmap გრაფიკა ფორმებისთვის. ეს უნდა იყოს.c ფაილი და იგივე სახელი კოდის სახელით. ასევე, ის უნდა იყოს ერთსა და იმავე ფაილში.
// ---------------------------------------------------- ------------------------------ // ფაილი გენერირებული LCD ასისტენტის მიერ // https://en.radzio.dxp.pl /bitmap_converter/// ------------------------------------------------- ------------------------------------- #მოიცავს // მოიცავს პროგრამის ფუნქციისთვის
const unsigned char arac PROGMEM = {// ჩვენი ფორმის ბიტმაპი
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// მტრის გემის ბიტმაპი
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
ნაბიჯი 5: მადლობა ნახვისთვის
სანამ დავიწყებდი ჩემი პროექტების გაზიარებას, დაშიფრული მქონდა თურქული სიტყვები, ასე რომ მე არ შემეძლო ყველა სიტყვის ინგლისურად თარგმნა. აქ არის სიტყვების თარგმანი, რომლებიც მე ვიყენებ ამ პროექტს, Oyun = თამაში
არაკი = ფორმა
დუსმანი = მტერი
კონტროლი = კონტროლი
კონუმი, იერ = მდებარეობა
თამაშის Bitti = თამაში დასრულდა
სკორი = ანგარიში
Hiz = სიჩქარე
გირჩევთ:
Arduino Volt Meter (0-100V DC) - ვერსია 2 (უკეთესი): 3 ნაბიჯი
Arduino Volt Meter (0-100V DC)-ვერსია 2 (უკეთესი): ამ ინსტრუქციულად, მე ავაშენე ვოლტმეტრი, რომ გავზომოთ მაღალი ძაბვები DC (0-100v) შედარებით სიზუსტით და სიზუსტით Arduino Nano- ს და ADS 1115 ADC გამოყენებით. .ეს არის ვოლტმეტრის მეორე ვერსია, რომელიც გამოიყენებოდა ჩემს წინა ინსტრუქციაში აქ: https: // ww
ARDUINO SOLAR CHARGE CONTROLLER (ვერსია 2.0): 26 ნაბიჯი (სურათებით)
ARDUINO SOLAR CHARGE CONTROLLER (ვერსია 2.0): [ვიდეოს დაკვრა] ერთი წლის წინ, მე დავიწყე საკუთარი მზის სისტემის აგება, რათა უზრუნველყოფილიყო ჩემი სოფლის სახლის ენერგია. თავდაპირველად, მე გავაკეთე LM317 დაფუძნებული დატენვის კონტროლერი და ენერგიის მრიცხველი სისტემის მონიტორინგისთვის. დაბოლოს, მე გავაკეთე PWM დატენვის კონტროლერი. აპრიში
Arduino დაფუძნებული წვრილმანი თამაშის კონტროლერი - Arduino PS2 თამაშის კონტროლერი - თამაში Tekken With DIY Arduino Gamepad: 7 ნაბიჯი
Arduino დაფუძნებული წვრილმანი თამაშის კონტროლერი | Arduino PS2 თამაშის კონტროლერი | თამაში Tekken With DIY Arduino Gamepad: გამარჯობა ბიჭებო, თამაშების თამაში ყოველთვის სახალისოა, მაგრამ საკუთარი წვრილმანი თამაშით თამაში უფრო სახალისოა. ასე რომ, ჩვენ გავაკეთებთ თამაშის კონტროლერს arduino pro micro- ს ამ ინსტრუქციებში
Space Race თამაშის ვერსია 2: 5 ნაბიჯი
Space Race თამაშის ვერსია 2: გამარჯობა ყველას. ამ თამაშის ვერსიამდე, ı გამოაქვეყნა თამაშის პირველი ვერსია. დღეს, ı გაჩვენებთ Space Race თამაშის ვერსიას 2. მოდით გადავხედოთ ნაბიჯებს
ARDUINO SOLAR CHARGE CONTROLLER (ვერსია -1): 11 ნაბიჯი (სურათებით)
ARDUINO SOLAR CHARGE CONTROLLER (ვერსია -1): [ვიდეოს დაკვრა] ჩემს წინა ინსტრუქციებში აღწერილი იყო მზის სისტემის ქსელის ენერგიის მონიტორინგის დეტალები. მე ასევე გავიმარჯვე ამისთვის 123D სქემების კონკურსში. თქვენ შეგიძლიათ ნახოთ ეს ARDUINO ENERGY METER .ბოლოს გამოვაქვეყნებ ჩემს ახალ ვერსიას -3 საფასურს