विषयसूची:

Arduino TFT इंटरफेसिंग मूल बातें: 10 कदम (चित्रों के साथ)
Arduino TFT इंटरफेसिंग मूल बातें: 10 कदम (चित्रों के साथ)

वीडियो: Arduino TFT इंटरफेसिंग मूल बातें: 10 कदम (चित्रों के साथ)

वीडियो: Arduino TFT इंटरफेसिंग मूल बातें: 10 कदम (चित्रों के साथ)
वीडियो: अरुडिनो मास्टरक्लास | 90 मिनट में पूर्ण प्रोग्रामिंग कार्यशाला! 2024, नवंबर
Anonim
Arduino TFT इंटरफेसिंग मूल बातें
Arduino TFT इंटरफेसिंग मूल बातें

TFT टचस्क्रीन अद्भुत ग्राफिकल इंटरफ़ेस है जिसका उपयोग Atmel, PIC, STM जैसे माइक्रोकंट्रोलर के साथ किया जा सकता है, क्योंकि इसमें एक विस्तृत रंग रेंज है, और अच्छी ग्राफिकल क्षमता और पिक्सेल की अच्छी मैपिंग है।

आज, हम Arduino के साथ 2.4 इंच TFT LCD Shield इंटरफ़ेस करने जा रहे हैं।

यह शील्ड Arduino UNO के लिए है, लेकिन मैं सिखाऊंगा कि इसे Arduino Mega के साथ एक बहुत ही तार्किक कारण, "प्रोग्राम मेमोरी" के लिए कैसे उपयोग किया जाए।

इस रंग टीएफटी एलसीडी शील्ड का उपयोग करके हम रंगीन टीएफटी एलसीडी पर वर्ण, तार, बटन इंटरफेसिंग, बिटमैप छवियां आदि दिखा सकते हैं।

चरण 1: हार्डवेयर और सॉफ्टवेयर आवश्यकताएँ

हार्डवेयर और सॉफ्टवेयर आवश्यकताएँ
हार्डवेयर और सॉफ्टवेयर आवश्यकताएँ
हार्डवेयर और सॉफ्टवेयर आवश्यकताएँ
हार्डवेयर और सॉफ्टवेयर आवश्यकताएँ

Arduino मेगा के साथ शील्ड इंटरफ़ेस बनाने के लिए, हमें निम्नलिखित की आवश्यकता है।

हार्डवेयर:

• अरुडिनो मेगा

• टीएफटी 2.4/2.8/3.2 इंच एलसीडी

• यूएसबी केबल

सॉफ्टवेयर

• अरुडिनो आईडीई

• UTFT पुस्तकालय / spfd5408 पुस्तकालय

शील्ड मूल रूप से Arduino UNO बोर्डों के लिए बनाई गई है, जिसका उपयोग Arduino mega के साथ किया जा सकता है।

Arduino UNO के साथ इसका उपयोग करते समय दो मुख्य मुद्दे हैं: "स्टोरेज मेमोरी" और पिन का उपयोग।

यूएनओ पर उपलब्ध अप्रयुक्त पिनों का उपयोग करना मुश्किल है, जबकि यह अरुडिनो मेगा के साथ बेहतर है क्योंकि हमारे पास अधिक आई/ओ पिन शेष हैं।

अगले चरण में, मैं दिखाऊंगा कि TFT शील्ड का उपयोग करने के लिए UTFT लाइब्रेरी को कैसे संपादित किया जाए

चरण 2: UTFT लिब को ट्वीक करना

UTFT लिब में बदलाव
UTFT लिब में बदलाव

यह पुस्तकालय Arduino और ChipKit के लिए मेरे ITDB02_Graph, ITDB02_Graph16 और RGB_GLCD पुस्तकालयों की निरंतरता है। जैसे-जैसे समर्थित डिस्प्ले मॉड्यूल और नियंत्रकों की संख्या बढ़ने लगी, मुझे लगा कि यह एकल, सार्वभौमिक पुस्तकालय बनाने का समय है क्योंकि भविष्य में इसे बनाए रखना बहुत आसान होगा।

Arduino MEGA में 256kb प्रोग्राम मेमोरी है। इसके अलावा, 54 पिन हैं।

उनमें से ज्यादातर उपयोग करने के लिए स्वतंत्र हैं, और एनालॉग सिर्फ 5 को 16 से लिया जाता है।

यह लाइब्रेरी कई 8 बिट, 16 बिट और सीरियल ग्राफिक्स डिस्प्ले का समर्थन करती है, और Arduino, ChipKit बोर्ड और TI लॉन्चपैड दोनों के साथ काम करेगी।

नोट: पुस्तकालय के आकार के कारण मैं इसे ATmega328 (Arduino Uno) और ATmega32U4 (Arduino Leonardo) पर उपयोग करने की अनुशंसा नहीं करता क्योंकि उनके पास केवल 32KB फ्लैश मेमोरी है। यह काम करेगा, लेकिन आप अपने आवेदन के लिए उपलब्ध फ्लैश मेमोरी में गंभीर रूप से सीमित रहेंगे।

कदम

  • यूटीएफटी पुस्तकालय डाउनलोड करें
  • लाइब्रेरी को अनज़िप करें
  • Arduino के मामले में या उपयोग किए गए माइक्रोकंट्रोलर के आधार पर UTFT\हार्डवेयर\avr खोलें
  • नोटपैड का उपयोग करके HW_AVR_defines खोलें
  • MEGA के लिए UNO शील्ड को सक्षम करने के लिए लाइन 7 को अनकम्मेंट करें
  • फ़ाइल सहेजें और इस लाइब्रेरी को Arduino IDE में जोड़ें

अब हम इस कदम के साथ कर रहे हैं! अगले चरण में, मैं पुस्तकालय का उपयोग करने और Arduino Mega के लिए पिन को परिभाषित करने के लिए दिखाऊंगा।

चरण 3: TFT शील्ड को प्रारंभ करना

TFT शील्ड को इनिशियलाइज़ करना
TFT शील्ड को इनिशियलाइज़ करना

पुस्तकालय को संपादित करने के बाद, इसे Arduino निर्देशिका में जोड़ें।

इसके बाद, मैं आपको दिखाऊंगा कि आपके पास जो सही TFT मॉड्यूल है उसे कैसे परिभाषित किया जाए

हमें पुस्तकालय में इसका मॉड्यूल नाम खोजना चाहिए।

  • लाइब्रेरी फ़ाइल खोलें
  • दस्तावेज़ीकरण पर जाएं

आप इन फ़ाइलों को दस्तावेज़ीकरण में देख सकते हैं

• यूटीएफटी:

यह फ़ाइल इस पुस्तकालय में शामिल सभी कार्यों और आदेशों को दिखाती है।

• UTFT_आवश्यकता

इस फ़ाइल में मॉड्यूल के बारे में जानकारी है और यह पुस्तकालय से कैसे संबंधित है, जैसे पिन कॉन्फ़िगरेशन

•UTFT_Supported_display_modules_&_controller

यह हमारा लक्ष्य है, इस फ़ाइल में मॉड्यूल और शील्ड के नाम हैं जो इस पुस्तकालय द्वारा समर्थित हैं, आप इसमें UTFT के लिए मॉड्यूल नामों और मॉड्यूल नामों की एक सूची देख सकते हैं, जिनका उपयोग आपको अपने मॉड्यूल को परिभाषित करने के लिए करना चाहिए।

टीएफटी को परिभाषित करने के लिए कदम:

लाइब्रेरी से UTFT_Supported_display_modules_&_controller फ़ाइल खोलें

  • लाइब्रेरी से UTFT_Supported_display_modules_&_controller फ़ाइल खोलें
  • आपके पास मौजूद मॉड्यूल (ढाल) के लिए UTFT के लिए मॉडल खोजें।
  • अब Arduino IDE पर UTFT फ़ंक्शन को परिभाषित करने के लिए, हम कमांड का उपयोग करते हैं:

UTFT नाम (मॉड्यूल, रुपये, WR, Cs, रुपये);

लाइब्रेरी से UTFT_Requirement फ़ाइल खोलें

दस्तावेज़ से, हम जानते हैं कि पिन A5, A4, A3 और A2 पिन पर स्थित हैं।

हम कमांड का उपयोग करते हैं:

UTFT myGLCD(ITDB28, 19, 18, 17, 16); # ध्यान दें कि Arduino मेगा में 19, 18, 17, 16 पिन करें

UTFT myGLCD (ITDB28, A5, A4, A3, A2); # ध्यान दें कि Arduino UNO में A5, A4, A3, A2 पिन करें

और हो गया! अब आप निम्नलिखित परिवर्तनों के साथ Arduino IDE पर पुस्तकालय के उदाहरणों का उपयोग कर सकते हैं।

चरण 4: बेसिक हैलो वर्ल्ड

बेसिक हैलो वर्ल्ड
बेसिक हैलो वर्ल्ड

#शामिल करें // घोषित करें कि हम कौन से फोंट का उपयोग करेंगे

बाहरी uint8_t बिगफॉन्ट ; बाहरी uint8_t सेवनसेगनमफॉन्ट ; // अपने डिस्प्ले मॉड्यूल के अनुरूप मॉडल पैरामीटर को बदलना याद रखें! UTFT myGLCD (ITDB28, A5, A4, A3, A2); शून्य सेटअप () { myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (बिगफॉन्ट); } शून्य लूप () { myGLCD.setColor (0, 255, 0); // हरा myGLCD.print ("हैलो वर्ल्ड", 45, 100); जबकि (सच) {}; }

चरण 5: UTFT फ़ॉन्ट्स

UTFT फ़ॉन्ट्स
UTFT फ़ॉन्ट्स

#शामिल करें // घोषित करें कि हम कौन से फोंट का उपयोग करेंगे

बाहरी uint8_t स्मॉलफॉन्ट ; बाहरी uint8_t बिगफॉन्ट ; बाहरी uint8_t सेवनसेगनमफॉन्ट ; // अपने विकास ढाल के लिए पिन को सही पर सेट करें //------------------------------------- ------------------------//अरुडिनो ऊनो/2009://---------------- ---//मानक Arduino Uno/2009 शील्ड:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT शील्ड:, A5, A4, A3, A2 // // Arduino Mega: // ----- --------------- // स्टैंडर्ड Arduino मेगा/ड्यू शील्ड:, 38, 39, 40, 41 // Arduino मेगा के लिए CTE TFT LCD/SD शील्ड: 38, 39, 40, 41 // // अपने डिस्प्ले मॉड्यूल के अनुरूप मॉडल पैरामीटर को बदलना याद रखें! UTFT myGLCD(ITDB32S, 38, 39, 40, 41); शून्य सेटअप () { myGLCD. InitLCD () myGLCD.clrScr (); } शून्य लूप () { myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (बिगफॉन्ट); myGLCD.print(" !\"#$%&'()*+, -./", CENTER, 0); myGLCD.print("0123456789:;?", CENTER, 16); myGLCD.print("@ ABCDEFGHIJKLMNO", केंद्र, 32); myGLCD.print("PQRSTUVWXYZ^_", CENTER, 48); myGLCD.print("`abcdefghijklmno", CENTER, 64); myGLCD.print("pqrstuvwxyz{|} ~ ", सेंटर, 80); myGLCD.setFont(SmallFont); myGLCD.print(" !\"#$%&'()*+, -./0123456789:;?", CENTER, 120); myGLCD.print("@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_", सेंटर, 132); myGLCD.print("`abcdefghijklmnopqrstuvwxyz{|}~", सेंटर, 144); myGLCD.setFont(SevenSegNumFont); myGLCD.print("0123456789", सेंटर, 190); जबकि(1) {}; }

चरण 6: UTFT आकृतियाँ, रेखाएँ और पैटर्न

UTFT आकार, रेखाएं और पैटर्न
UTFT आकार, रेखाएं और पैटर्न

#include "UTFT.h"// घोषित करें कि हम कौन से फॉन्ट का उपयोग करेंगेबाहरी uint8_t SmallFont;// अपने डेवलपमेंट शील्ड के लिए पिन को सही पर सेट करें // -------------- ------------------------------------------------- // Arduino Uno / 2009: // ------------------- // स्टैंडर्ड Arduino Uno/2009 शील्ड:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT शील्ड:, A5, A4, A3, A2 // // Arduino मेगा: // ------------------- // स्टैंडर्ड Arduino मेगा/ड्यू शील्ड: 38, 39, 40, 41 // Arduino मेगा के लिए CTE TFT LCD/SD शील्ड: 38, 39, 40, 41 // // अपने डिस्प्ले मॉड्यूल के अनुरूप मॉडल पैरामीटर को बदलना याद रखें! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); शून्य सेटअप () {randomSeed (analogRead (0)); // LCD myGLCD. InitLCD () सेटअप करें; myGLCD.setFont(SmallFont); }

शून्य लूप ()

{इंट बफ [३१८]; इंट एक्स, एक्स 2; इंट वाई, वाई2; int r;// स्क्रीन को साफ करें और फ्रेम को ड्रा करें myGLCD.clrScr(); myGLCD.setColor (२५५, ०, ०); myGLCD.fillRect(0, 0, 319, 13); myGLCD.setColor (६४, ६४, ६४); myGLCD.fillRect(0, 226, 319, 239); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (२५५, ०, ०); myGLCD.print ("* यूनिवर्सल कलर टीएफटी डिस्प्ले लाइब्रेरी *", सेंटर, 1); myGLCD.setBackColor (६४, ६४, ६४); myGLCD.setColor (२५५, २५५, ०); myGLCD.print("", सेंटर, २२७); myGLCD.setColor(0, 0, 255); myGLCD.drawRect(0, 14, 319, 225);// क्रॉसहेयर बनाएं myGLCD.setColor(0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine(१५९, १५, १५९, २२४); myGLCD.drawLine(1, 119, 318, 119); for (int i=9; i<310; i+=10) myGLCD.drawLine(i, 117, i, 121); for (int i=19; i<220; i+=10) myGLCD.drawLine(157, i, 161, i);// sin-, cos- और tan-lines myGLCD.setColor(0, 255, 255) ड्रा करें; myGLCD.print ("पाप", 5, 15); for (int i=1; i<318; i++) { myGLCD.drawPixel(i, 119+(sin(((i*1.13)*3.14)/180)*95)); } myGLCD.setColor (२५५, ०, ०); myGLCD.print("Cos", 5, 27); for (int i=1; i<318; i++) { myGLCD.drawPixel(i, 119+(cos(((i*1.13)*3.14)/180)*95)); } myGLCD.setColor(255, 255, 0); myGLCD.print ("टैन", 5, 39); for (int i=1; i<318; i++) { myGLCD.drawPixel(i, 119+(tan(((i*1.13)*3.14)/180))); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224); myGLCD.setColor(0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine(१५९, १५, १५९, २२४); myGLCD.drawLine(1, 119, 318, 119);// एक चलती हुई साइनवेव x=1; के लिए (int i=1; i319) { अगर ((x==159)||(buf[x-1]==119)) myGLCD.setColor(0, 0, 255); और myGLCD.setColor(0, 0, 0); myGLCD.drawPixel(x, buf[x-1]); } myGLCD.setColor(0, 255, 255); y=119+(sin(((i*1.1)*3.14)/180)*(90-(i / 100))); myGLCD.drawPixel (एक्स, वाई); बफ [एक्स -1] = वाई; } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// के लिए कुछ भरे हुए आयत बनाएं (int i=1; i<6; i++) {स्विच (i) {केस 1: myGLCD.setColor(255, 0, 255); टूटना; केस 2: myGLCD.setColor(255, 0, 0); टूटना; केस 3: myGLCD.setColor(0, 255, 0); टूटना; केस 4: myGLCD.setColor(0, 0, 255); टूटना; केस 5: myGLCD.setColor(255, 255, 0); टूटना; } myGLCD.fillRect(70+(i*20), 30+(i*20), 130+(i*20), 90+(i*20)); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// (int i=1; i<6; i++) {स्विच (i) {केस 1: myGLCD.setColor(255, 0) के लिए कुछ भरे हुए, गोल आयत बनाएं, 255); टूटना; केस 2: myGLCD.setColor(255, 0, 0); टूटना; केस 3: myGLCD.setColor(0, 255, 0); टूटना; केस 4: myGLCD.setColor(0, 0, 255); टूटना; केस 5: myGLCD.setColor(255, 255, 0); टूटना; } myGLCD.fillRoundRect(190-(i*20), 30+(i*20), 250-(i*20), 90+(i*20)); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// के लिए कुछ भरे हुए वृत्त बनाएं (int i=1; i<6; i++) {स्विच (i) {केस 1: myGLCD.setColor(255, 0, 255); टूटना; केस 2: myGLCD.setColor(255, 0, 0); टूटना; केस 3: myGLCD.setColor(0, 255, 0); टूटना; केस 4: myGLCD.setColor(0, 0, 255); टूटना; केस 5: myGLCD.setColor(255, 255, 0); टूटना; } myGLCD.fillCircle(100+(i*20), 60+(i*20), 30); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// myGLCD.setColor (255, 0, 0) पैटर्न में कुछ रेखाएं बनाएं; for (int i=15; i<224; i+=5) { myGLCD.drawLine(1, i, (i*1.44)-10, 224); } myGLCD.setColor (२५५, ०, ०); for (int i=224; i>15; i-=5) { myGLCD.drawLine(318, i, (i*1.44)-11, 15); } myGLCD.setColor (0, 255, 255); for (int i=224; i>15; i-=5) { myGLCD.drawLine(1, i, 331-(i*1.44), 15); } myGLCD.setColor (0, 255, 255); for (int i=15; i<224; i+=5) { myGLCD.drawLine(318, i, 330-(i*1.44), 224); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// के लिए कुछ यादृच्छिक मंडल बनाएं (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255)); x=32+यादृच्छिक(256); y=45+यादृच्छिक(१४६); आर = यादृच्छिक (30); myGLCD.drawCircle(x, y, r); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// के लिए कुछ यादृच्छिक आयत बनाएं (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255)); एक्स = 2 + यादृच्छिक (316); y=16+यादृच्छिक(२०७); x2=2+यादृच्छिक (316); y2=16+यादृच्छिक(207); myGLCD.drawRect(x, y, x2, y2); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// के लिए कुछ यादृच्छिक गोल आयत बनाएं (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255)); एक्स = 2 + यादृच्छिक (316); y=16+यादृच्छिक(२०७); x2=2+यादृच्छिक (316); y2=16+यादृच्छिक(207); myGLCD.drawRoundRect(x, y, x2, y2); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224); for (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255)); एक्स = 2 + यादृच्छिक (316); y=16+यादृच्छिक(२०९); x2=2+यादृच्छिक (316); y2=16+यादृच्छिक(209); myGLCD.drawLine(x, y, x2, y2); } देरी (2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224); for (int i=0; i<10000; i++) { myGLCD.setColor(random(255), random(255), random(255)); myGLCD.drawPixel(2+random(316), 16+random(209)); } देरी (2000); myGLCD.fillScr(0, 0, 255); myGLCD.setColor (२५५, ०, ०); myGLCD.fillRoundRect (८०, ७०, २३९, १६९); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (२५५, ०, ०); myGLCD.print ("यह बात है!", केंद्र, 93); myGLCD.print ("एक में पुनरारंभ करना", केंद्र, 119); myGLCD.print ("कुछ सेकंड …", केंद्र, 132); myGLCD.setColor(0, 255, 0); myGLCD.setBackColor(0, 0, 255); myGLCD.print ("रनटाइम: (एमएसईसी)", केंद्र, 210); myGLCD.printNumI (मिली (), केंद्र, 225); देरी (10000); }

चरण 7: UTFT बिटमैप

यूटीएफटी बिटमैप
यूटीएफटी बिटमैप

#शामिल

#include // घोषित करें कि हम कौन से फॉन्ट का उपयोग कर रहे हैं extern uint8_t SmallFont;// अपने डेवलपमेंट शील्ड के लिए पिन को सही पर सेट करें // ------------------ ------------------------------------------- // Arduino Uno / 2009: / / ------------------- // मानक Arduino Uno/2009 शील्ड:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT शील्ड:, A5, A4, A3, A2 // // Arduino मेगा: // ------------------- // स्टैंडर्ड Arduino मेगा/ड्यू शील्ड:, 38, 39, 40, 41 // Arduino मेगा के लिए CTE TFT LCD/SD शील्ड: 38, 39, 40, 41 // // अपने डिस्प्ले मॉड्यूल के अनुरूप मॉडल पैरामीटर को बदलना याद रखें! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); बाहरी अहस्ताक्षरित इंट जानकारी [0x400]; बाहरी अहस्ताक्षरित इंट आइकन [0x400]; बाहरी अहस्ताक्षरित इंट टक्स [0x400]; शून्य सेटअप () {myGLCD. InitLCD (); myGLCD.setFont(SmallFont); }शून्य लूप() { myGLCD.fillScr(255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print(" *** एक 32x32 आइकन का 10 गुणा 7 ग्रिड *** ", केंद्र, 228); for (int x=0; x<10; x++) for (int y=0; y<7; y++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); देरी (5000); myGLCD.fillScr(255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("1 से 4 के पैमाने में दो अलग-अलग चिह्न", केंद्र, 228); इंट एक्स = 0; for (int s=0; s0; s--) { myGLCD.drawBitmap (x, 224-(s*32), 32, 32, icon, s); एक्स + = (एस * 32); } देरी (5000); }

चरण 8: बटन इंटरफेसिंग

बटन इंटरफेसिंग
बटन इंटरफेसिंग

#include #include // इनिशियलाइज़ डिस्प्ले//--------------------- // अपने डेवलपमेंट बोर्ड के लिए पिन को सही पर सेट करें // ------- -------------------------------------------------- -- // स्टैंडर्ड Arduino Uno/2009 शील्ड:, 19, 18, 17, 16 // स्टैंडर्ड Arduino मेगा/ड्यू शील्ड:, 38, 39, 40, 41 // Arduino ड्यू के लिए CTE TFT LCD/SD शील्ड:, २५, 26, 27, 28 // Teensy 3.x TFT टेस्ट बोर्ड:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD शील्ड Arduino ड्यू के लिए:, 22, 23, 31, 33 // // याद रखें अपने प्रदर्शन मॉड्यूल के अनुरूप मॉडल पैरामीटर बदलें! UTFT myGLCD(ITDB32S, 38, 39, 40, 41);// टचस्क्रीन को इनिशियलाइज़ करें // ---------------------- // पिन को सही पर सेट करें आपके विकास बोर्ड के लिए // ------------------------------------------- ----------------- // स्टैंडर्ड अरुडिनो यूनो/2009 शील्ड: 15, 10, 14, 9, 8 // स्टैंडर्ड अरुडिनो मेगा/ड्यू शील्ड: 6, 5, 4, 3, 2 // Arduino ड्यू के लिए CTE TFT LCD/SD शील्ड: 6, 5, 4, 3, 2 // Teensy 3.x TFT टेस्ट बोर्ड: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD शील्ड Arduino ड्यू के लिए: २५, २६, २७, २९, ३० // URTouch myTouch(६, ५, ४, ३, २);// घोषित करें कि हम बाहरी uint8_t BigFont;int x, y; चार सेंट करंट [20] = ""; इंट सेंट करंटलेन = 0; चार stLast[20]="";/************ कस्टम फ़ंक्शन ********* ****************/void drawButtons() {// के लिए बटनों की ऊपरी पंक्ति ड्रा करें (x=0; x<5; x++) { myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10+(x*60), 10, 60+(x*60), 60); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10+(x*60), 10, 60+(x*60), 60); myGLCD.printNumI(x+1, 27+(x*60), 27); } // (x=0; x<5; x++) { myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10+(x*60), 70, 60+(x*60), 120); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10+(x*60), 70, 60+(x*60), 120); अगर (x<4) myGLCD.printNumI(x+6, 27+(x*60), 87); } myGLCD.print("0", 267, 87); // बटनों की निचली पंक्ति को ड्रा करें myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("क्लियर", 40, 147); myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (१६०, १३०, ३००, १८०); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (१६०, १३०, ३००, १८०); myGLCD.print ("एंटर", 190, 147); myGLCD.setBackColor (0, 0, 0); }शून्य अद्यतनStr(int val) { अगर (stCurrentLen=10) && (y=10) && (x=70) && (x=130) && (x=190) && (x=250) && (x=70) && (y=10) && (x=70) && (x=130) && (x=190) && (x=250) && (x=130) && (y=10) && (x=160) && (x0) { के लिए (x=0; x

चरण 9: फ्लैपी बर्ड

फ्लैपी चिड़ियां
फ्लैपी चिड़ियां

#include #include #include //==== ऑब्जेक्ट बनाना UTFT myGLCD(SSD1289, 38, 39, 40, 41); // पैरामीटर्स को आपके डिस्प्ले/शील्ड मॉडल UTouch myTouch(6, 5, 4, 3, 2) में समायोजित किया जाना चाहिए;//==== फ़ॉन्ट्स को परिभाषित करना extern uint8_t SmallFont; बाहरी uint8_t बिगफॉन्ट ; बाहरी uint8_t SevenSegNumFont;बाहरी अहस्ताक्षरित int Bird01[0x41A]; // बर्ड बिटमैपिंट x, y; // निर्देशांक के लिए चर जहां प्रदर्शन दबाया गया है // फ्लॉपी बर्ड int xP = 319; इंट वाईपी = १००; इंट वाईबी = ५०; इंट मूविंगरेट = 3; इंट फॉलरेटइंट = 0; फ्लोट फॉलरेट = 0; इंट स्कोर = 0; इंट लास्टस्पीडअपस्कोर = 0; इंट उच्चतम स्कोर; बूलियन स्क्रीनप्रेस = झूठा; बूलियन गेमस्टार्ट = झूठा; शून्य सेटअप () {// प्रदर्शन myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision(PREC_MEDIUM); उच्चतम स्कोर = EEPROM.read(0); // EEPROM इनिशिएटिवगेम () से उच्चतम स्कोर पढ़ें; // खेल शुरू करें} शून्य लूप () {xP=xP-movingRate; // xP - x स्तंभों का समन्वय करता है; रेंज: ३१९ - (-५१) ड्रापिलर्स (एक्सपी, वाईपी); // खंभों को खींचता है // yB - y पक्षी का निर्देशांक जो गिरने की दर चर के मूल्य पर निर्भर करता है yB+=fallRateInt; गिरावट दर = गिरावट दर + 0.4; // प्रत्येक प्रवेश में गिरावट की दर में वृद्धि होती है ताकि हम त्वरण/गुरुत्वाकर्षण के प्रभाव को कम कर सकें फॉलरेटइंट = इंट (फॉलरेट); // टकराव के लिए जाँच करता है अगर (yB> = 180 || yB <=0) {// ऊपर और नीचे गेमओवर (); } if((xP=5) && (yB<=yP-2)){// अपर पिलर गेमओवर (); } if((xP=5) && (yB>=yP+60)){// लोअर पिलर गेमओवर (); } // बर्ड ड्रा बर्ड (yB) खींचता है; // पिलर के स्क्रीन से गुजरने के बाद अगर (xPRESET=250) && (x=0) && (y=0) && (x=30) && (y=270){ myGLCD.setColor(0, 200, 20); myGLCD.fillRect(318, 0, x, y-1); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(319, 0, x-1, y); myGLCD.setColor(0, 200, 20); myGLCD.fillRect(318, y+81, x, 203); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(319, y+80, x-1, 204); } और अगर (x उच्चतम स्कोर) {उच्चतम स्कोर = स्कोर; EEPROM.लिखें(0, उच्चतम स्कोर); } // स्थिति मान शुरू करने के लिए चर को रीसेट करता है xP=319; वाईबी = ५०; गिरावट = 0; स्कोर = 0; लास्टस्पीडअपस्कोर = 0; चलती दर = 3; गेमस्टार्ट = झूठा; // खेल को फिर से शुरू करें खेल शुरू करें (); }

चरण 10: परियोजना का कार्य

आप मेरे Github रिपॉजिटरी में सोर्स कोड पा सकते हैं।

लिंक:

अगर यह वास्तव में आपकी मदद करता है तो एक अंगूठा दें और दिलचस्प परियोजनाओं के लिए मेरे चैनल का अनुसरण करें:)

अच्छा लगे तो इस वीडियो को शेयर करें।

आपको सब्सक्राइब करने में खुशी हुई:

पढ़ने के लिए धन्यवाद!

सिफारिश की: