সুচিপত্র:

Arduino TFT ইন্টারফেসিং বুনিয়াদি: 10 টি ধাপ (ছবি সহ)
Arduino TFT ইন্টারফেসিং বুনিয়াদি: 10 টি ধাপ (ছবি সহ)

ভিডিও: Arduino TFT ইন্টারফেসিং বুনিয়াদি: 10 টি ধাপ (ছবি সহ)

ভিডিও: Arduino TFT ইন্টারফেসিং বুনিয়াদি: 10 টি ধাপ (ছবি সহ)
ভিডিও: LVGL Demo on ESP32-S3 4.3" TFT & ESP32 2.8" TFT 2024, নভেম্বর
Anonim
Arduino TFT ইন্টারফেসিং বেসিকস
Arduino TFT ইন্টারফেসিং বেসিকস

টিএফটি টাচস্ক্রিন হল আশ্চর্যজনক গ্রাফিক্যাল ইন্টারফেস যা মাইক্রোকন্ট্রোলার যেমন এটমেল, পিআইসি, এসটিএম এর সাথে ব্যবহার করা যেতে পারে, কারণ এর বিস্তৃত রঙ পরিসীমা, এবং ভাল গ্রাফিক্যাল ক্ষমতা এবং পিক্সেলের একটি ভাল ম্যাপিং রয়েছে।

আজ, আমরা Arduino এর সাথে 2.4 ইঞ্চি TFT LCD Shield ইন্টারফেসে যাচ্ছি।

এই ieldালটি Arduino UNO- এর জন্য, কিন্তু আমি শিখাবো কিভাবে এটিকে খুব যুক্তিসঙ্গত কারণে Arduino Mega দিয়ে ব্যবহার করতে হয়, "প্রোগ্রাম মেমোরি"।

এই রঙ টিএফটি এলসিডি ieldাল ব্যবহার করে আমরা টিএফটি এলসিডি রঙে অক্ষর, স্ট্রিং, বোতাম ইন্টারফেসিং, বিটম্যাপ চিত্র ইত্যাদি প্রদর্শন করতে পারি।

ধাপ 1: হার্ডওয়্যার এবং সফটওয়্যারের প্রয়োজনীয়তা

হার্ডওয়্যার এবং সফটওয়্যারের প্রয়োজনীয়তা
হার্ডওয়্যার এবং সফটওয়্যারের প্রয়োজনীয়তা
হার্ডওয়্যার এবং সফটওয়্যারের প্রয়োজনীয়তা
হার্ডওয়্যার এবং সফটওয়্যারের প্রয়োজনীয়তা

Arduino মেগা দিয়ে ieldাল ইন্টারফেস তৈরি করতে, আমাদের নিম্নলিখিত প্রয়োজন।

হার্ডওয়্যার:

• Arduino মেগা

• TFT 2.4/2.8/3.2 ইঞ্চি LCD

• USB তারের

সফটওয়্যার

• Arduino IDE

• UTFT লাইব্রেরি / spfd5408 লাইব্রেরি

শিল্ডটি মূলত আরডুইনো ইউএনও বোর্ডের জন্য তৈরি করা হয়েছে, যা আরডুইনো মেগা দিয়ে ব্যবহার করা যেতে পারে।

Arduino UNO- এর সাথে এটি ব্যবহার করার সময় দুটি প্রধান সমস্যা রয়েছে: "স্টোরেজ মেমরি" এবং পিনের ব্যবহার।

ইউএনওতে যে অব্যবহৃত পিনগুলি পাওয়া যায় তা ব্যবহার করা কঠিন, যেখানে আরডুইনো মেগা দিয়ে এটি আরও ভাল কারণ আমাদের আরও I/O পিন বাকি আছে।

পরবর্তী ধাপে, আমি দেখাবো কিভাবে TFT ieldাল ব্যবহার করার জন্য UTFT লাইব্রেরি সম্পাদনা করতে হয়

ধাপ 2: UTFT Lib টুইকিং

টুইকিং ইউটিএফটি লি
টুইকিং ইউটিএফটি লি

এই লাইব্রেরিটি হল আমার ITDB02_Graph, ITDB02_Graph16 এবং RGB_GLCD লাইব্রেরির আরডুইনো এবং চিপকিটের ধারাবাহিকতা। যেহেতু সমর্থিত ডিসপ্লে মডিউল এবং কন্ট্রোলারের সংখ্যা বাড়তে শুরু করেছে আমি অনুভব করেছি যে এটি একটি একক, সার্বজনীন লাইব্রেরি তৈরি করার সময় হয়েছে কারণ এটি ভবিষ্যতে বজায় রাখা অনেক সহজ হবে।

Arduino MEGA এর 256kb প্রোগ্রাম মেমরি আছে। এছাড়াও, 54 টি পিন রয়েছে।

তাদের অধিকাংশই ব্যবহার করার জন্য বিনামূল্যে, এবং এনালগ মাত্র 5 টি 16 থেকে নেওয়া হয়েছে।

এই লাইব্রেরি 8bit, 16bit, এবং সিরিয়াল গ্রাফিক্স ডিসপ্লে সমর্থন করে এবং Arduino, চিপকিট বোর্ড এবং টিআই লঞ্চপ্যাড উভয়ের সাথে কাজ করবে।

দ্রষ্টব্য: লাইব্রেরির আকারের কারণে আমি এটি ATmega328 (Arduino Uno) এবং ATmega32U4 (Arduino Leonardo) এ ব্যবহার করার সুপারিশ করি না কারণ তাদের কেবল 32KB ফ্ল্যাশ মেমরি রয়েছে। এটি কাজ করবে, কিন্তু আপনি আপনার অ্যাপ্লিকেশনের জন্য উপলব্ধ ফ্ল্যাশ মেমরিতে মারাত্মকভাবে সীমাবদ্ধ থাকবেন।

ধাপ

  • ইউটিএফটি লাইব্রেরি ডাউনলোড করুন
  • লাইব্রেরি আনজিপ করুন
  • আরডুইনো বা ব্যবহৃত মাইক্রোকন্ট্রোলারের উপর নির্ভর করে UTFT / হার্ডওয়্যার / avr খুলুন
  • খুলুন HW_AVR_ নোটপ্যাড ব্যবহার করে সংজ্ঞায়িত করুন
  • Uncomment লাইন 7 মেগা জন্য UNO ieldাল সক্ষম
  • ফাইলটি সংরক্ষণ করুন এবং এই লাইব্রেরিটি Arduino IDE তে যুক্ত করুন

এখন আমরা এই ধাপটি সম্পন্ন করেছি! পরবর্তী ধাপে, আমি লাইব্রেরি ব্যবহার করতে এবং Arduino মেগা জন্য পিন সংজ্ঞায়িত করতে দেখাব।

ধাপ 3: টিএফটি শিল্ড শুরু করা

টিএফটি শিল্ড শুরু করা
টিএফটি শিল্ড শুরু করা

লাইব্রেরি সম্পাদনা করার পরে, এটি Arduino ডিরেক্টরিতে যোগ করুন।

পরবর্তীতে, আমি আপনাকে দেখাব কিভাবে আপনার সঠিক TFT মডিউল সংজ্ঞায়িত করা যায়

আমাদের লাইব্রেরিতে এর মডিউল নাম খুঁজে পাওয়া উচিত।

  • লাইব্রেরি ফাইল খুলুন
  • ডকুমেন্টেশনে যান

আপনি এই ফাইলগুলি ডকুমেন্টেশনে দেখতে পারেন

• UTFT:

এই ফাইলটি এই লাইব্রেরিতে অন্তর্ভুক্ত সমস্ত ফাংশন এবং কমান্ড দেখায়।

• UTFT_ প্রয়োজনীয়তা

এই ফাইলে মডিউল সম্পর্কে তথ্য আছে এবং এটি কিভাবে লাইব্রেরির সাথে সম্পর্কিত, যেমন পিন কনফিগারেশন

T UTFT_Supported_display_modules _ & _ নিয়ামক

এটি আমাদের লক্ষ্য, এই ফাইলে এই লাইব্রেরি দ্বারা সমর্থিত মডিউল এবং ieldsালগুলির নাম রয়েছে, আপনি এতে UTFT এর মডিউল নাম এবং মডিউল নামগুলির একটি তালিকা দেখতে পারেন যা আপনার মডিউল সংজ্ঞায়িত করার জন্য ব্যবহার করা উচিত।

টিএফটি সংজ্ঞায়িত করার পদক্ষেপ:

লাইব্রেরি থেকে UTFT_Supported_display_modules _ & _ কন্ট্রোলার ফাইল খুলুন

  • লাইব্রেরি থেকে UTFT_Supported_display_modules _ & _ কন্ট্রোলার ফাইল খুলুন
  • আপনার কাছে থাকা মডিউল (ieldাল) এর জন্য UTFT- এর মডেলগুলি খুঁজুন।
  • এখন আরডুইনো আইডিইতে একটি ইউটিএফটি ফাংশন সংজ্ঞায়িত করতে, আমরা কমান্ডটি ব্যবহার করি:

UTFT নাম (মডিউল, Rs, Wr, Cs, Rst);

লাইব্রেরি থেকে 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: বেসিক হ্যালো ওয়ার্ল্ড

বেসিক হ্যালো ওয়ার্ল্ড
বেসিক হ্যালো ওয়ার্ল্ড

#অন্তর্ভুক্ত // ঘোষণা করুন আমরা কোন ফন্ট ব্যবহার করব

extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // আপনার ডিসপ্লে মডিউল অনুসারে মডেল প্যারামিটার পরিবর্তন করতে ভুলবেন না! UTFT myGLCD (ITDB28, A5, A4, A3, A2); অকার্যকর সেটআপ () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } অকার্যকর লুপ () {myGLCD.setColor (0, 255, 0); // সবুজ myGLCD.print ("হ্যালো ওয়ার্ল্ড", 45, 100); while (true) {}; }

ধাপ 5: UTFT ফন্ট

UTFT ফন্ট
UTFT ফন্ট

#অন্তর্ভুক্ত // ঘোষণা করুন আমরা কোন ফন্ট ব্যবহার করব

extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // আপনার ডেভেলপমেন্ট শিল্ডের জন্য সঠিক পিনগুলো সেট করুন // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // স্ট্যান্ডার্ড Arduino Uno/2009 ieldাল:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT ieldাল:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // স্ট্যান্ডার্ড Arduino মেগা/ডিউ shাল:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield for Arduino Mega:, 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 (BigFont); myGLCD.print ("!#"#$%& '()*+, -।/", কেন্দ্র, 0); myGLCD.print (" 0123456789:;? ", CENTER, 16); ABCDEFGHIJKLMNO ", কেন্দ্র, 32); myGLCD.print (" PQRSTUVWXYZ C _ ", CENTER, 48); myGLCD.print (" `abcdefghijklmno", CENTER, 64); myGLCD.print G ", সেন্টার,)০); myGLCD.setFont (SmallFont); myGLCD.print ("! "#$%& '()*+, -।/0123456789:;? myGLCD.print ("BC ABCDEFGHIJKLMNOPQRSTUVWXYZ _", কেন্দ্র, 132); myGLCD.print ("` abcdefghijklmnopqrstuvwxyz {|} ", কেন্দ্র, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", কেন্দ্র, 190); যখন (1) {}; }

ধাপ 6: UTFT আকার, লাইন এবং প্যাটার্ন

UTFT আকার, লাইন এবং প্যাটার্ন
UTFT আকার, লাইন এবং প্যাটার্ন

#অন্তর্ভুক্ত করুন "UTFT.h" // ঘোষণা করুন যে আমরা কোন ফন্টগুলি ব্যবহার করব exetern uint8_t SmallFont ; // আপনার ডেভেলপমেন্ট শিল্ডের জন্য সঠিক পিনগুলি সেট করুন // -------------- ---------------------------------------------- // আরডুইনো ইউনো / 2009: // ------------------- // স্ট্যান্ডার্ড Arduino Uno/ 2009 ieldাল:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT shield:, A5, A4, A3, A2 // // Arduino মেগা: // ------------------- // স্ট্যান্ডার্ড Arduino মেগা/ডিউ shাল:, 38, 39, 40, 41 // Arduino Mega এর জন্য CTE TFT LCD/SD Shield:, 38, 39, 40, 41 // // আপনার ডিসপ্লে মডিউল অনুসারে মডেল প্যারামিটার পরিবর্তন করতে ভুলবেন না! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); অকার্যকর সেটআপ () {randomSeed (analogRead (0)); // LCD myGLCD. InitLCD () সেটআপ করুন; myGLCD.setFont (SmallFont); }

অকার্যকর লুপ ()

{int buf [318]; int x, x2; int y, y2; int r; // পর্দা সাফ করুন এবং myGLCD.clrScr () ফ্রেম আঁকুন; myGLCD.setColor (255, 0, 0); myGLCD.fillRect (0, 0, 319, 13); myGLCD.setColor (64, 64, 64); myGLCD.fillRect (0, 226, 319, 239); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (255, 0, 0); myGLCD.print (" * ইউনিভার্সাল কালার TFT ডিসপ্লে লাইব্রেরি *", সেন্টার, 1); myGLCD.setBackColor (64, 64, 64); myGLCD.setColor (255, 255, 0); myGLCD.print ("", কেন্দ্র, 227); myGLCD.setColor (0, 0, 255); myGLCD.drawRect (0, 14, 319, 225); // আঁকুন ক্রসহেয়ার myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); জন্য (int i = 9; i <310; i+= 10) myGLCD.drawLine (i, 117, i, 121); জন্য (int i = 19; i <220; i+= 10) myGLCD.drawLine (157, i, 161, i);; myGLCD.print ("পাপ", 5, 15); জন্য (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (sin ((i*1.13)*3.14)/180)*95)); } myGLCD.setColor (255, 0, 0); myGLCD.print ("Cos", 5, 27); জন্য (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); জন্য (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 (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); // একটি চলন্ত সাইনওয়েভ x = 1 আঁকুন; জন্য (int i = 1; i319) {if ((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 (x, y); buf [x-1] = y; } বিলম্ব (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) প্যাটার্নে কিছু লাইন আঁকুন; জন্য (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1.44) -10, 224); } myGLCD.setColor (255, 0, 0); জন্য (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1.44) -11, 15); } myGLCD.setColor (0, 255, 255); জন্য (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1.44), 15); } myGLCD.setColor (0, 255, 255); জন্য (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+এলোমেলো (146); r = এলোমেলো (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) এর জন্য কিছু এলোমেলো আয়তক্ষেত্র আঁকুন।)); x = 2+এলোমেলো (316); y = 16+এলোমেলো (207); 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)); x = 2+এলোমেলো (316); y = 16+এলোমেলো (207); x2 = 2+এলোমেলো (316); y2 = 16+এলোমেলো (207); myGLCD.drawRoundRect (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)); x = 2+এলোমেলো (316); y = 16+এলোমেলো (209); x2 = 2+এলোমেলো (316); y2 = 16+এলোমেলো (209); myGLCD.drawLine (x, y, x2, y2); } বিলম্ব (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); জন্য (int i = 0; i <10000; i ++) {myGLCD.setColor (random (255), random (255), random (255)); myGLCD.drawPixel (2+এলোমেলো (316), 16+এলোমেলো (209)); } বিলম্ব (2000); myGLCD.fillScr (0, 0, 255); myGLCD.setColor (255, 0, 0); myGLCD.fillRoundRect (80, 70, 239, 169); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (255, 0, 0); myGLCD.print ("এটাই!", কেন্দ্র, 93); myGLCD.print ("রিস্টার্ট ইন এ", সেন্টার, 119); myGLCD.print ("কয়েক সেকেন্ড …", কেন্দ্র, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("রানটাইম: (msecs)", কেন্দ্র, 210); myGLCD.printNumI (মিলিস (), কেন্দ্র, 225); বিলম্ব (10000); }

ধাপ 7: UTFT বিটম্যাপ

UTFT বিটম্যাপ
UTFT বিটম্যাপ

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত // ঘোষণা করুন যে আমরা কোন ফন্টগুলি ব্যবহার করব extern uint8_t SmallFont ; // আপনার ডেভেলপমেন্ট শিল্ডের জন্য সঠিক পিনগুলি সেট করুন // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // স্ট্যান্ডার্ড Arduino Uno/ 2009 ieldাল:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT ieldাল:, A5, A4, A3, A2 // // Arduino মেগা: // ------------------- // স্ট্যান্ডার্ড Arduino মেগা/ডিউ shাল:, 38, 39, 40, 41 // Arduino Mega এর জন্য CTE TFT LCD/SD Shield:, 38, 39, 40, 41 // // আপনার ডিসপ্লে মডিউল অনুসারে মডেল প্যারামিটার পরিবর্তন করতে ভুলবেন না! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); বাইরের স্বাক্ষরবিহীন int তথ্য [0x400]; বাহ্যিক স্বাক্ষরবিহীন int আইকন [0x400]; বাহ্যিক স্বাক্ষরবিহীন int tux [0x400]; অকার্যকর সেটআপ () {myGLCD. InitLCD (); myGLCD.setFont (SmallFont); } অকার্যকর লুপ () {myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("*** 32x32 আইকনের ** 10 এ 7 গ্রিড ***", কেন্দ্র, 228); জন্য (int x = 0; x <10; x ++) জন্য (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, তথ্য); বিলম্ব (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("1 থেকে 4 স্কেলে দুটি ভিন্ন আইকন", কেন্দ্র, 228); int x = 0; জন্য (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, icon, s); x+= (গুলি*32); } বিলম্ব (5000); }

ধাপ 8: বাটন ইন্টারফেসিং

বাটন ইন্টারফেসিং
বাটন ইন্টারফেসিং

#অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন // প্রদর্শন শুরু করুন // ------------------ // আপনার ডেভেলপমেন্ট বোর্ডের জন্য সঠিক পিনগুলি সেট করুন // ------- -------------------------------------------------- - // স্ট্যান্ডার্ড Arduino Uno/2009 শিল্ড:, 19, 18, 17, 16 // স্ট্যান্ডার্ড Arduino মেগা/ডিউ ieldাল:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield for Arduino Due:, 25, 26, 27, 28 // Teensy 3.x TFT Test Board:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD Shield for Arduino Due:, 22, 23, 31, 33 // // মনে রাখবেন আপনার ডিসপ্লে মডিউল অনুসারে মডেল প্যারামিটার পরিবর্তন করুন! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // টাচস্ক্রিন শুরু করুন // ---------------------- // পিনগুলি সঠিকভাবে সেট করুন আপনার উন্নয়ন বোর্ডের জন্য // --------------------------------------------------- ---------------- // স্ট্যান্ডার্ড Arduino Uno/2009 শিল্ড: 15, 10, 14, 9, 8 // স্ট্যান্ডার্ড Arduino মেগা/ডিউ ieldাল: 6, 5, 4, 3, 2 // CTE TFT LCD/SD Shield for Arduino Due: 6, 5, 4, 3, 2 // Teensy 3.x TFT Test Board: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD Shield Arduino কারণে: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // ঘোষণা করুন আমরা কোন ফন্ট ব্যবহার করব extern uint8_t BigFont ; int x, y; st stCurrent [20] = ""; int stCurrentLen = 0; char 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 (160, 130, 300, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (160, 130, 300, 180); myGLCD.print ("Enter", 190, 147); myGLCD.setBackColor (0, 0, 0); } void updateStr (int val) {if (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) {for (x = 0; x

ধাপ 9: ফ্ল্যাপি বার্ড

ফ্ল্যাপি বার্ড
ফ্ল্যাপি বার্ড

#অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন // ==== অবজেক্ট তৈরি করা UTFT myGLCD (SSD1289, 38, 39, 40, 41); // প্যারামিটারগুলি আপনার ডিসপ্লে/শিল্ড মডেল UTouch myTouch (6, 5, 4, 3, 2) এর সাথে সামঞ্জস্য করা উচিত। extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern স্বাক্ষরবিহীন int bird01 [0x41A]; // পাখির বিটম্যাপিন্ট x, y; // স্থানাঙ্কগুলির জন্য ভেরিয়েবল যেখানে ডিসপ্লে চাপানো হয়েছে // ফ্লপি বার্ড int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; float fallRate = 0; int স্কোর = 0; int lastSpeedUpScore = 0; int সর্বোচ্চ স্কোর; বুলিয়ান স্ক্রিনপ্রেসড = মিথ্যা; বুলিয়ান গেম স্টার্ট = মিথ্যা; অকার্যকর সেটআপ () {// ডিসপ্লে myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); সর্বোচ্চ স্কোর = EEPROM.read (0); // EEPROM initiateGame () থেকে সর্বোচ্চ স্কোর পড়ুন; // খেলা শুরু করুন} অকার্যকর লুপ () {xP = xP-movingRate; // xP - x পিলারের সমন্বয়; পরিসীমা: 319 - (-51) ড্রপিলার (xP, yP); // স্তম্ভ আঁকেন // yB - y পাখির সমন্বয় যা পতনের মান নির্ভর করে পরিবর্তনশীল হার yB+= fallRateInt; fallRate = fallRate+0.4; // প্রতিটি অনুপ্রবেশ পতনের হার বৃদ্ধি পায় যাতে আমরা ত্বরণ/ মহাকর্ষের প্রভাব পড়তে পারি fallRateInt = int (fallRate); // সংঘর্ষের জন্য পরীক্ষা করে যদি (yB> = 180 || yB <= 0) {// উপরের এবং নীচের gameOver (); } যদি ((xP = 5) && (yB <= yP-2)) {// উপরের স্তম্ভ gameOver (); } যদি ((xP = 5) && (yB> = yP+60)) {// নিম্ন স্তম্ভ gameOver (); } // পাখি drawBird (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 highestScore) {highestScore = score; EEPROM.write (0, highestScore); } // অবস্থান মান xP = 319 শুরু করতে ভেরিয়েবল রিসেট করে; yB = 50; fallRate = 0; স্কোর = 0; lastSpeedUpScore = 0; চলমান হার = 3; খেলা শুরু = মিথ্যা; // খেলা পুনরায় আরম্ভ করুন initiateGame (); }

ধাপ 10: প্রকল্পের কাজ

আপনি আমার Github সংগ্রহস্থলে সোর্স কোড খুঁজে পেতে পারেন।

লিঙ্ক:

যদি এটি সত্যিই আপনাকে সাহায্য করে এবং আকর্ষণীয় প্রকল্পগুলির জন্য আমার চ্যানেলটি অনুসরণ করে তবে একটি থাম্বস আপ দিন:)

ভিডিওটি ভালো লাগলে শেয়ার করুন।

আপনি সাবস্ক্রাইব করতে পেরে খুশি:

পড়ার জন্য ধন্যবাদ!

প্রস্তাবিত: