جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53
اهلا يا اصدقاء. اليوم ، أنا أريد أن أريكم كيف يمكنك صنع لعبة Space Race بواسطة شاشة LCD5110 وجهاز تحكم جوي. هيا بنا نلقي نظرة على الخطوات …
الخطوة 1: الاحتياجات
فيما يلي قائمة بالأجزاء التي استخدمتها لإنشاء هذا المشروع:
- اردوينو UNO
- وحدة جويستيك
- أسلاك العبور (ذكر إلى ذكر ومن ذكر إلى أنثى)
- اللوح
الخطوة 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)
كثافة العمليات BL = 3 ؛
خارجي uint8_t SmallFont ؛ // وصف الخطوط الخارجية uint8_t MediumNumbers ؛ uint8_t arac خارجي ؛ // وصف الشكل الخارجي uint8_t dusman_araci ؛ // وصف شكل العدو const int xpin = A0 ؛ // عصا التحكم x pin char pozisyon = 2 ؛ // وصف الموقع ، موقع بداية الشكل 2 boolean kontrol = true ؛ منطقي dusmanOldu = صحيح ؛ int skor = 0 ؛ int hiz = 0 ؛ كثافة العمليات dusman // وصف العدو 1 x الموقع int dusmanKonumu2؛ // وصف موقع العدو 2 × الموقع في dusmaninYdeKonumu ؛ // وصف موقع الأعداء
void dusmanAraci (int yer، int asama) {// تعيين مواقع لأشكال العدو
إذا (yer == 1) {// إذا كان الموقع = 1 ؛ lcd.drawBitmap (2 ، أساما ، dusman_araci ، 12 ، 8) ؛ // رسم شكل العدو} إذا (yer == 2) {lcd.drawBitmap (18، asama، dusman_araci، 12، 8)؛ } إذا (yer == 3) {lcd.drawBitmap (34، asama، dusman_araci، 12، 8)؛ }}
void oyunBitti () {// إذا فشلنا ، تنتهي اللعبة
بينما (1) {تأخير (100) ؛ // انتظر 1 ميلي ثانية lcd.clrScr () ؛ // مسح شاشة lcd.setFont (SmallFont) ؛ // set font lcd.print ("GAME OVER"، CENTER، 20) ؛ // طباعة lcd.update () ؛ // تحديث الشاشة}}
إعداد باطل () {pinMode (BL، OUTPUT) ؛ // ضبط إخراج الضوء LCD. InitLCD () ؛ // initilaze شاشة lcd lcd.setContrast (55) ؛ // ضبط التباين (حوالي 0 إلى 127) Serial.begin (9600) ؛ // بدء الاتصال التسلسلي}
حلقة فارغة() {
analogWrite (BL ، 200) ؛
// ضبط شاشة اللعبة lcd.drawRect (0 ، 0 ، 47 ، 47) ؛ // نرسم شاشة lcd.setFont (SmallFont) ؛ // set font lcd.print ("skor"، 53، 0) ؛ // printf Score lcd.setFont (أرقام متوسطة) ؛ // تعيين الخط lcd.printNumI (skor ، 59 ، 7) ؛ // الحصول على درجة lcd.setFont (SmallFont) ؛ lcd.print ("hiz"، 56، 25) ؛ // سرعة الطباعة lcd.setFont (أرقام متوسطة) ؛ lcd.printNumI (hiz، 59، 32) ؛ // الحصول على سرعة lcd.update () ؛ //تحديث
// تعيين موقع joyistick 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 والتحكم هو صحيح pozisyon ++ ؛ // قم بزيادة الموقع ، فهذا يعني تحريك الشكل إلى جهة التحكم اليمنى = خطأ ؛ } else if (x> 300 && x <600) {kontrol = true؛ } Serial.println (x) ؛ // للتعلم x state // اضبط موقع الشكل الخاص بنا lcd.clrScr () ؛ // امسح الشاشة إذا (pozisyon == 1) {// if location = 1؛ lcd.drawBitmap (2، 37، arac، 12، 8)؛} // ارسم سفينتنا if (pozisyon == 2) {lcd.drawBitmap (18، 37، arac، 12، 8)؛}
إذا (pozisyon == 3) {
lcd.drawBitmap (34، 37، arac، 12، 8) ؛}
إذا (dusmanOldu) {// إذا كان شكل العدو ميتًا ، فتأكد من أنهم قد ماتوا
dusmanKonumu1 = بوزيسيون ؛ // ارسم شكل العدو الأول dusmanKonumu2 = عشوائي (0 ، 4) ؛ // رسم شكل عدو آخر في مكان ما dusmaninYdeKonumu = 0 ؛ // جلب العدو من أعلى dusmanOldu = false ؛} // تم إعادة تكوين العدو حتى لا يكون ميتًا dusmanAraci (dusmanKonumu1، dusmaninYdeKonumu)؛ dusmaninYdeKonumu ++ ؛ // ارسم شكل العدو الأول واحصل عليه من أعلى إلى أسفل dusmanAraci (dusmanKonumu2، dusmaninYdeKonumu)؛ dusmaninYdeKonumu ++ ؛ // ارسم شكل العدو الثاني واحصل عليه من أعلى إلى أسفل إذا (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// إذا كان شكلنا يلامس أشكال العدو oyunBitti ()؛} // انتهت اللعبة إذا (dusmaninYdeKonumu> 40) {// إذا كان شكلنا يهرب من الأعداء dusmanOldu = true؛ // قتل أشكال العدو. تأخير (40) ؛ }}
الخطوة 4: كود BITMAP
علاوة على ذلك ، يجب عليك تضمين رسم نقطي للأشكال ، يجب أن يكون ملف.c ونفس الاسم مع اسم الرمز ، كما يجب أن يكون في نفس الملف.
// ------------------------------------------------ ------------------------------ // ملف تم إنشاؤه بواسطة مساعد LCD // https://en.radzio.dxp.pl / bitmap_converter / // --------------------------------------------- --------------------------------- #include // include for progmem function
const غير موقعة char arac PROGMEM = {// صورة نقطية للشكل
0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ،} ؛
const غير موقعة char dusman_araci PROGMEM = {// صورة نقطية لسفينة العدو
0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ،} ؛
الخطوة 5: شكرا للعرض
قبل أن أبدأ في مشاركة مشاريعي ، قمت بترميزها بالكلمات التركية لذلك لم أستطع تحويل كل الكلمات إلى اللغة الإنجليزية ، وهنا ترجمة الكلمات التي أستخدمها في هذا المشروع ،
Oyun = لعبة
أراك = الشكل
دسمان = العدو
كونترول = التحكم
كونوم ، يير = الموقع
Oyun Bitti = انتهت اللعبة
سكور = النتيجة
Hiz = السرعة
موصى به:
الحبر الإلكتروني: القمر / محطة الفضاء الدولية / الناس في الفضاء : 6 خطوات
الحبر الإلكتروني: القمر / محطة الفضاء الدولية / الناس في الفضاء …: كان لدي قبعة راسبيري وورق إلكتروني وأردت استخدامه لإظهار معلومات مثل مكان محطة الفضاء الدولية أو عدد الأشخاص الموجودين الآن في الفضاء .. صرحت للبحث عما إذا كانت هناك واجهات برمجة تطبيقات على الإنترنت للحصول على هذه البيانات ، ووجدتها. حسنًا ، مسكتك !!!! انتظر
ساعة كوزمو - يتغير لونها في كل مرة يدخل فيها رائد الفضاء الفضاء: 8 خطوات (بالصور)
ساعة كوزمو - يتغير لونها في كل مرة يدخل فيها رائد الفضاء الفضاء: مرحبًا! هل أنت من عشاق الفضاء؟ إذا كانت الإجابة بنعم ، ثم مرحبا فاي! احب الفضاء وعلم الفلك. من الواضح أنني لست رائد فضاء للذهاب إلى هناك وإلقاء نظرة فاحصة على الكون. لكن في كل مرة أكتشف فيها أن شخصًا من الأرض قد سافر إلى السماء ، أستلهم
لوحة تحكم سفينة الفضاء - لعبة اردوينو مقطوعة بالليزر: 11 خطوة (مع صور)
لوحة التحكم في سفينة الفضاء - لعبة Laser Cut Arduino: قبل بضعة أشهر قررت أن أصبح عضوًا في مساحة المصنّعين المحليين ، لأنني كنت أرغب في تعلم أدوات صناعة التجارة على مر العصور. كان لدي القليل من تجربة Arduino وأخذت دورة فيوجن هنا على Instructables. ومع ذلك أنا
لعبة اردوينو صخور الفضاء: 3 خطوات
لعبة Arduino Space Rocks: سواء تم لعبها على جهاز كمبيوتر أو على هاتف أو على وحدة تحكم ألعاب أو على صندوق مستقل ، فإن الكثير من ألعاب الفيديو تتضمن عنصر تجنب العقبات. بالتأكيد ، قد يتم منح نقاط مقابل جمع الرموز أو العثور على طريقك عبر متاهة ،
سباق الفضاء: لعبة بسيطة من Arduino Clicker تصنعها مع الأطفال: 7 خطوات
Space Race: لعبة بسيطة من Arduino Clicker تصنعها مع الأطفال: & iexcl ؛ أقوم بتحميل مقطع فيديو يوضح كيف تعمل اليوم! لا تنزعج ، فلنستمتع بتعليمات ذات طابع فضاء يمكن صنعها مع الأطفال ، والاستمتاع بها فيما بعد بمفردهم كلعبة. يمكنك استخدامها كوسيلة لتعليمهم التاريخ حول