ዝርዝር ሁኔታ:

የአርዱዲኖ TFT በይነገጽ መሠረታዊ ነገሮች 10 ደረጃዎች (ከስዕሎች ጋር)
የአርዱዲኖ TFT በይነገጽ መሠረታዊ ነገሮች 10 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአርዱዲኖ TFT በይነገጽ መሠረታዊ ነገሮች 10 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአርዱዲኖ TFT በይነገጽ መሠረታዊ ነገሮች 10 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Arduino በከፊል ሲብራራ https://t.me/arduinoshopping 2024, ህዳር
Anonim
አርዱዲኖ TFT በይነገጽ መሰረታዊ ነገሮች
አርዱዲኖ TFT በይነገጽ መሰረታዊ ነገሮች

የ TFT ንኪኪዎች ሰፊ የቀለም ክልል ፣ እና ጥሩ የግራፊክ ችሎታ እና ጥሩ የፒክሴሎች ካርታ ስላለው እንደ Atmel ፣ PIC ፣ STM ካሉ ማይክሮ መቆጣጠሪያዎች ጋር ጥቅም ላይ ሊውል የሚችል አስደናቂ ግራፊክ በይነገጽ ነው።

ዛሬ ፣ ከአርዱዲኖ ጋር ወደ 2.4 ኢንች TFT LCD Shield እንሄዳለን።

ይህ ጋሻ ለአርዱዲኖ UNO ነው ፣ ግን በአርዱዲኖ ሜጋ በጣም ምክንያታዊ በሆነ ምክንያት ‹የፕሮግራም ትውስታ› ን እንዴት እንደሚጠቀሙበት አስተምራለሁ።

ይህንን ቀለም TFT LCD ጋሻ በመጠቀም በ TFT LCD ቀለም ላይ ቁምፊዎችን ፣ ሕብረቁምፊዎችን ፣ የአዝራር መስተጋብርን ፣ የቢትማፕ ምስሎችን ፣ ወዘተ ማሳየት እንችላለን።

ደረጃ 1 የሃርድዌር እና የሶፍትዌር መስፈርቶች

የሃርድዌር እና የሶፍትዌር መስፈርቶች
የሃርድዌር እና የሶፍትዌር መስፈርቶች
የሃርድዌር እና የሶፍትዌር መስፈርቶች
የሃርድዌር እና የሶፍትዌር መስፈርቶች

የጋርዱ በይነገጽን ከአርዲኖ ሜጋ ጋር ለማድረግ የሚከተሉትን እንፈልጋለን።

ሃርድዌር ፦

• አርዱዲኖ ሜጋ

• TFT 2.4/2.8/3.2 ኢንች ኤል.ዲ.ዲ

• የዩኤስቢ ገመድ

SOFTWARE

• አርዱዲኖ አይዲኢ

• UTFT ቤተ -መጽሐፍት / spfd5408 ቤተ -መጽሐፍት

ጋሻው በመጀመሪያ የተሠራው ለአርዱዲኖ UNO ቦርዶች ነው ፣ ይህም ከአርዱዲኖ ሜጋ ጋር ሊያገለግል ይችላል።

ከ Arduino UNO ጋር ሲጠቀሙ ሁለት ዋና ጉዳዮች አሉ - “የማከማቻ ማህደረ ትውስታ” እና የፒን አጠቃቀም።

በ UNO ላይ የሚገኙትን ጥቅም ላይ ያልዋሉ ፒኖችን ለመጠቀም አስቸጋሪ ነው ፣ ግን ብዙ የ I/O ፒኖች ስላሉን ከአርዱዲኖ ሜጋ ጋር የተሻለ ነው።

በሚቀጥለው ደረጃ ፣ የ TFT ጋሻ ለመጠቀም የ UTFT ቤተ -መጽሐፍትን እንዴት እንደሚያርትዑ አሳያለሁ

ደረጃ 2: UTFT Lib ን ማበላሸት

Tweaking UTFT Lib
Tweaking UTFT Lib

ይህ ቤተ -መጽሐፍት ለአርዱዲኖ እና ለቺፕ ኪት የእኔ ITDB02_Graph ፣ ITDB02_Graph16 እና RGB_GLCD ቤተ -መጽሐፍት ቀጣይ ነው። የሚደገፉ የማሳያ ሞጁሎች እና ተቆጣጣሪዎች ብዛት መጨመር ሲጀምር ለወደፊቱ ለማቆየት በጣም ቀላል ስለሚሆን አንድ ፣ ሁለንተናዊ ቤተመፃሕፍት ለመሥራት ጊዜው እንደሆነ ተሰማኝ።

አርዱዲኖ ሜጋ 256 ኪ.ቢ የፕሮግራም ማህደረ ትውስታ አለው። በተጨማሪም ፣ 54 ፒኖች አሉ።

አብዛኛዎቹ ለመጠቀም ነፃ ናቸው ፣ እና አናሎግ 5 ብቻ ከ 16 ይወሰዳል።

ይህ ቤተ -መጽሐፍት በርካታ 8 -ቢት ፣ 16 -ቢት እና ተከታታይ የግራፊክስ ማሳያዎችን ይደግፋል ፣ እና ከሁለቱም አርዱዲኖ ፣ ቺፕ ኪት ቦርዶች ጋር ይሰራል እና TI LaunchPads ን ይምረጡ።

ማሳሰቢያ: በቤተመጽሐፉ መጠን ምክንያት 32 ኪባ ፍላሽ ማህደረ ትውስታ ብቻ ስላላቸው በ ATmega328 (Arduino Uno) እና ATmega32U4 (Arduino ሊዮናርዶ) ላይ እንዲጠቀሙበት አልመክርም። ይሠራል ፣ ግን ለመተግበሪያዎ ባለው ፍላሽ ማህደረ ትውስታ ውስጥ በጣም ውስን ይሆናሉ።

ደረጃዎች

  • የ UTFT ቤተ -መጽሐፍትን ያውርዱ
  • ቤተ -መጽሐፍቱን ይንቀሉ
  • በአርዱዲኖ ሁኔታ ወይም ጥቅም ላይ በሚውለው ማይክሮ መቆጣጠሪያ ላይ በመመስረት UTFT / hardware / avr ን ይክፈቱ
  • ማስታወሻ ደብተርን በመጠቀም HW_AVR_ ን ይገልፃል
  • Uncomment Line 7 ለ UNO UNO ጋሻ ለማንቃት
  • ፋይሉን ያስቀምጡ እና ይህንን ቤተ -መጽሐፍት ወደ አርዱዲኖ አይዲኢ ያክሉ

አሁን በዚህ ደረጃ ጨርሰናል! በሚቀጥለው ደረጃ ፣ ቤተመፃሕፍቱን ለመጠቀም እና ለአርዱዲኖ ሜጋ ፒኖቹን መግለፅን አሳያለሁ።

ደረጃ 3 የ TFT ጋሻ ማስጀመር

የ TFT ጋሻ ማስጀመር
የ TFT ጋሻ ማስጀመር

ቤተ -መጽሐፍቱን ካስተካከሉ በኋላ ወደ አርዱዲኖ ማውጫ ያክሉት።

በመቀጠል ፣ ያለዎትን ትክክለኛውን የ TFT ሞጁል እንዴት እንደሚገልጹ አሳያችኋለሁ

በቤተ -መጽሐፍት ውስጥ የሞዱሉን ስም ማግኘት አለብን።

  • የላይብረሪውን ፋይል ይክፈቱ
  • ወደ ሰነዶች ይሂዱ

እነዚህን ፋይሎች በሰነዱ ውስጥ ማየት ይችላሉ

• UTFT ፦

ይህ ፋይል በዚህ ቤተ -መጽሐፍት ውስጥ የተካተቱትን ሁሉንም ተግባራት እና ትዕዛዞችን ያሳያል።

• UTFT_ መስፈርት

ይህ ፋይል ስለ ሞጁሎች እና እንደ ፒን ውቅሮች ያሉ ከቤተ -መጽሐፍት ጋር እንዴት እንደሚዛመድ መረጃ አለው

• UTFT_Supported_display_modules _ & _ መቆጣጠሪያ

ይህ የእኛ ኢላማ ነው ፣ ይህ ፋይል በዚህ ቤተ -መጽሐፍት የሚደገፉ የሞጁሎች እና ጋሻዎች ስሞች አሉት ፣ በውስጡ ያለውን ሞዱልዎን ለመግለጽ ሊጠቀሙበት የሚገባው ለ UTFT የሞዱል ስሞች እና የሞዱል ስሞች ዝርዝር ማየት ይችላሉ።

TFT ን ለመወሰን እርምጃዎች

የ UTFT_Supported_display_modules _ & _ መቆጣጠሪያ ፋይልን ከቤተ -መጽሐፍት ይክፈቱ

  • የ UTFT_Supported_display_modules _ & _ መቆጣጠሪያ ፋይልን ከቤተ -መጽሐፍት ይክፈቱ
  • ላላችሁት ሞጁሎች (ጋሻ) ለ UTFT ሞዴሎችን ፈልጉ።
  • አሁን በአርዱዲኖ አይዲኢ ላይ የ UTFT ተግባርን ለመግለጽ ትዕዛዙን እንጠቀማለን-

የ UTFT ስም (ሞዱል ፣ አርኤስኤስ ፣ አርኤስኤስ ፣ ሲኤስ ፣ Rst);

የ UTFT_Requirement ፋይልን ከቤተ -መጽሐፍት ይክፈቱ

ከሰነዱ ውስጥ ፒኖቹ በ A5 ፣ A4 ፣ A3 እና A2 ፒኖች ላይ እንደሚገኙ እናውቃለን።

እኛ ትዕዛዙን እንጠቀማለን-

UTFT myGLCD (ITDB28 ፣ 19 ፣ 18 ፣ 17 ፣ 16); # ልብ ይበሉ በአርዲኖ ሜጋ ውስጥ 19 ፣ 18 ፣ 17 ፣ 16

UTFT myGLCD (ITDB28 ፣ A5 ፣ A4 ፣ A3 ፣ A2); # ማስታወሻ በአርዱዲኖ UNO ውስጥ A5 ፣ A4 ፣ A3 ፣ A2 ን እንደሚሰካ ልብ ይበሉ

እና ተከናውኗል! አሁን በሚከተሉት ለውጦች በአርዱዲኖ አይዲኢ ላይ የቤተ መፃህፍት ምሳሌዎችን መጠቀም ይችላሉ።

ደረጃ 4 መሰረታዊ ሰላም ዓለም

መሰረታዊ ሰላም ዓለም
መሰረታዊ ሰላም ዓለም

#ያካትቱ / የትኞቹን ቅርጸ -ቁምፊዎች እንደምንጠቀም ያሳውቁ

ውጫዊ uint8_t BigFont ; ውጫዊ uint8_t SevenSegNumFont ; // ከማሳያ ሞዱልዎ ጋር የሚስማማውን የሞዴል መለኪያ መለወጥዎን ያስታውሱ! UTFT myGLCD (ITDB28 ፣ A5 ፣ A4 ፣ A3 ፣ A2); ባዶነት ማዋቀር () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } ባዶነት loop () {myGLCD.setColor (0, 255, 0); // አረንጓዴ myGLCD.print ("ሰላም ዓለም" ፣ 45 ፣ 100); (እውነት) {}; }

ደረጃ 5 የ UTFT ቅርጸ ቁምፊዎች

የ UTFT ቅርጸ ቁምፊዎች
የ UTFT ቅርጸ ቁምፊዎች

#ያካትቱ / የትኞቹን ቅርጸ -ቁምፊዎች እንደምንጠቀም ያሳውቁ

ውጫዊ uint8_t SmallFont ; ውጫዊ uint8_t BigFont ; ውጫዊ uint8_t SevenSegNumFont ; // ለልማት ጋሻዎ ፒኖቹን ለትክክለኛዎቹ ያዋቅሩ // ----------------------------------- ------------------------- // አርዱinoኖ ኡኖ / 2009-// ---------------- --- // መደበኛ አርዱዲኖ ኡኖ/2009 ጋሻ: ፣ A5 ፣ A4 ፣ A3 ፣ A2 // ማሳያ ሞዱል አርዱinoኖ ኡኖ TFT ጋሻ: ፣ A5 ፣ A4 ፣ A3 ፣ A2 // // አርዱinoኖ ሜጋ // ----- -------------- // መደበኛ አርዱዲኖ ሜጋ/የደን መከለያ: ፣ 38 ፣ 39 ፣ 40 ፣ 41 // CTE TFT LCD/SD Shield ለአርዲኖ ሜጋ ፦ ፣ 38 ፣ 39 ፣ 40 ፣ 41 // // ከማሳያ ሞዱልዎ ጋር የሚስማማውን የሞዴል መለኪያ መለወጥዎን ያስታውሱ! UTFT myGLCD (ITDB32S ፣ 38 ፣ 39 ፣ 40 ፣ 41); ባዶነት ማዋቀር () {myGLCD. InitLCD () myGLCD.clrScr (); } ባዶነት loop () {myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); 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 ("pqrst | ~ "፣ ማእከል ፣ 80) ፤ myGLCD.setFont (SmallFont) ፤ myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTER, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", CENTER, 132); myGLCD.print ("` abcdefghijklmnopqrstuvwxyz {|} ~ ", CENTER, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTER, 190); (1) {}; }

ደረጃ 6 የ UTFT ቅርጾች ፣ መስመሮች እና ስርዓተ -ጥለት

የ UTFT ቅርጾች ፣ መስመሮች እና ስርዓተ -ጥለት
የ UTFT ቅርጾች ፣ መስመሮች እና ስርዓተ -ጥለት

#UTFT.h”ን ያካትቱ// የትኛውን ቅርጸ-ቁምፊዎች እንደምንጠቀም ያሳውቁ uint8_t SmallFont ; // ለልማት ጋሻዎ ትክክለኛዎቹን ፒኖችን ያዘጋጁ // -------------- ---------------------------------------------- // አርዱinoኖ ኡኖ / 2009: // ------------------- // መደበኛ አርዱዲኖ ኡኖ/ 2009 ጋሻ: ፣ A5 ፣ A4 ፣ A3 ፣ A2 // ማሳያ ሞዱል አርዱinoኖ ኡኖ TFT ጋሻ:, A5 ፣ A4 ፣ A3 ፣ A2 // // አርዱinoኖ ሜጋ // ------------------- // መደበኛ አርዱinoኖ ሜጋ/የመከለያ ጋሻ: ፣ 38 ፣ 39 ፣ 40, 41 // CTE TFT LCD/SD Shield for Arduino Mega:, 38, 39, 40, 41 // // የማሳያ ሞዱልዎን ለማስማማት የሞዴሉን መለኪያ መለወጥዎን ያስታውሱ! UTFT myGLCD (ITDB32S ፣ 38 ፣ 39 ፣ 40 ፣ 41) ፤ ባዶ ቅንብር () {randomSeed (analogRead (0)); // ኤልሲዲውን myGLCD. InitLCD () ያዋቅሩ ፤ myGLCD.setFont (SmallFont); }

ባዶነት loop ()

{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 ("", CENTER, 227); myGLCD.setColor (0, 0, 255); myGLCD. 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) ፤ // ኃጢአትን ፣ cos- እና ታን መስመሮችን ይሳሉ myGLCD.setColor (0 ፣ 255 ፣ 255); myGLCD.print ("ኃጢአት" ፣ 5 ፣ 15); ለ (int i = 1; i <318; i ++) {myGLCD.drawPixel (i ፣ 119+ (ኃጢአት (((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) {ከሆነ ((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+(ኃጢአት (((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 ++) {switch (i) {case 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 ++) {switch (i) {case 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 (የዘፈቀደ (255) ፣ የዘፈቀደ (255) ፣ የዘፈቀደ (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 (የዘፈቀደ (255) ፣ የዘፈቀደ (255) ፣ የዘፈቀደ (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 (የዘፈቀደ (255) ፣ የዘፈቀደ (255) ፣ የዘፈቀደ) 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 (የዘፈቀደ (255) ፣ የዘፈቀደ (255) ፣ የዘፈቀደ (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 (የዘፈቀደ (255) ፣ የዘፈቀደ (255) ፣ የዘፈቀደ (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 Bitmap

UTFT Bitmap
UTFT Bitmap

#ያካትቱ

#ያካትቱ // የትኞቹን ቅርጸ-ቁምፊዎች እንጠቀምበታለን uint8_t SmallFont ; // ለልማት ጋሻዎ ትክክለኛዎቹን ፒኖችን ያዘጋጁ // ------------------ ------------------------------------------ // አርዱinoኖ ኡኖ / 2009: / / ------------------- // መደበኛ አርዱዲኖ ኡኖ/ 2009 ጋሻ ፣ ፣ A5 ፣ A4 ፣ A3 ፣ A2 // ማሳያ ሞዱል አርዱinoኖ ኡኖ TFT ጋሻ: ፣ A5 ፣ A4 ፣ A3 ፣ A2 // // አርዱinoኖ ሜጋ-// ------------------- // መደበኛ አርዱinoኖ ሜጋ/የመከለያ ጋሻ: ፣ 38 ፣ 39 ፣ 40 ፣ 41 // ለአርዲኖ ሜጋ 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); } ባዶነት loop () {myGLCD.fillScr (255 ፣ 255 ፣ 255) ፤ myGLCD.setColor (255 ፣ 255 ፣ 255) ፤ myGLCD.print ("*** A 10 በ 7 ፍርግርግ የ 32x32 አዶ ***" ፣ ማእከል ፣ 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 ፣ አዶ ፣ ዎች) ፤ x+= (ዎች*32); } መዘግየት (5000); }

ደረጃ 8 የአዝራር በይነገጽ

የአዝራር በይነገጽ
የአዝራር በይነገጽ

#ያካትቱ #ያካትቱ // ማሳያውን ያስጀምሩ // ------------------ // ለልማት ቦርድዎ ፒኖቹን ለትክክለኛዎቹ ያዋቅሩ // ------- -------------------------------------------------- - // መደበኛ አርዱinoኖ ኡኖ/2009 ጋሻ: ፣ 19 ፣ 18 ፣ 17 ፣ 16 // መደበኛ አርዱዲኖ ሜጋ/የደን መከለያ: ፣ 38 ፣ 39 ፣ 40 ፣ 41 // CTE TFT LCD/SD ጋሻ ለአርዱዲኖ ምክንያት ፦ ፣ 25, 26, 27, 28 // Teensy 3.x TFT የሙከራ ቦርድ:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD Shield for Arduino due:, 22, 23, 31, 33 // // ያስታውሱ ከማሳያ ሞዱልዎ ጋር የሚስማማውን የሞዴል መለኪያውን ይለውጡ! UTFT myGLCD (ITDB32S ፣ 38 ፣ 39 ፣ 40 ፣ 41) ፤ // የንኪ ማያ ገጽን ያስጀምሩ // ---------------------- // ፒኖቹን ወደ ትክክለኛው ያዘጋጁ እነዚያ ለልማት ቦርድዎ // ------------------------------------------- ---------------- // መደበኛ አርዱዲኖ ኡኖ/2009 ጋሻ-15 ፣ 10 ፣ 14 ፣ 9 ፣ 8 // መደበኛ አርዱinoኖ ሜጋ/የመከለያ ጋሻ 6 ፣ 5 ፣ 4 ፣ 3 ፣ 2 // CTE TFT LCD/SD Shield ለ Arduino ምክንያት: 6, 5, 4, 3, 2 // Teensy 3.x TFT የሙከራ ቦርድ: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD Shield ለ አርዱinoኖ ምክንያት - 25 ፣ 26 ፣ 27 ፣ 29 ፣ 30 // URTouch myTouch (6 ፣ 5 ፣ 4 ፣ 3 ፣ 2) ፤ // የትኞቹን ቅርጸ -ቁምፊዎች ውጫዊ uint8_t BigFont ን እንደምንጠቀም ይግለጹ ፣ int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ብጁ ተግባራት ** ********* ****************/ባዶነት መሳል አዝራሮች () {// ለ (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 ("አስገባ" ፣ 190 ፣ 147); myGLCD.setBackColor (0, 0, 0); } ባዶ ዝማኔ Str (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) {ለ (x = 0; x

ደረጃ 9: Flappy Bird

ቶ ብተ
ቶ ብተ

#ያካትቱ #ያካትቱ #ያካትቱ // ==== ነገሮችን መፍጠር UTFT myGLCD (SSD1289, 38, 39, 40, 41); // መለኪያዎች ከእርስዎ የማሳያ/የሽብል ሞዴል UTouch myTouch (6 ፣ 5 ፣ 4 ፣ 3 ፣ 2) ጋር መስተካከል አለባቸው ፤ // ==== የቅርፀ ቁምፊዎችን ውጫዊ uint8_t SmallFont ; ውጫዊ uint8_t BigFont ; ውጫዊ uint8_t SevenSegNumFont ; የውጭ ያልተፈረመ int bird01 [0x41A]; // ወፍ Bitmapint x, y; // ተለዋዋጮች ማሳያው ተጭኖባቸው ለነበሩ መጋጠሚያዎች // ፍሎፒ ወፍ int xP = 319; int yP = 100; int yB = 50; int motsiRate = 3; int fallRateInt = 0; ተንሳፋፊ fallRate = 0; int ውጤት = 0; int lastSpeedUpScore = 0; int highestScore; ቡሊያን ማያ ገጽ ተጭኗል = ሐሰት; ቡሊያን ጨዋታ ተጀምሯል = ሐሰት ፤ ባዶነት ማዋቀር () {// ማሳያ ጀምር myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); ከፍተኛ ነጥብ = EEPROM.read (0); // ከ EEPROM initiateGame () ከፍተኛውን ውጤት ያንብቡ (); // ጨዋታውን ያስጀምሩ} ባዶነት loop () {xP = xP-moveRate; // xP - x የፒላሮች ቅንጅት; ክልል 319 - (-51) drawPilars (xP ፣ yP); // ዓምዶቹን ይስባል // yB - y በወደቁ ተመን እሴት yB+= fallRateInt እሴት ላይ የሚመረኮዝ የወፍ አስተባባሪ; fallRate = fallRate+0.4; // የፍጥነት/ የስበት ውድቀት/ ውጤት/ ውድቀት/ ውጤት/ ውድቀት/ ውጤት/ ውጤት እንዲኖረን እያንዳንዱ የውድቀት መጠን ይጨምራል። // የግጭት (የ yB> = 180 || yB <= 0) {// የላይኛው እና የታችኛው gameOver () ከሆነ ግጭቶችን ይፈትሻል። } ከሆነ ((xP = 5) && (yB <= yP-2)) {// የላይኛው ዓምድ gameOver (); } ከሆነ ((xP = 5) && (yB> = yP+60)) {// የታችኛው ዓምድ gameOver (); } // የወፍ ስዕል ቢርድ (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) {ከፍተኛ ነጥብ = ውጤት; EEPROM. ጻፍ (0 ፣ ከፍተኛ ነጥብ); } // የአቀማመጥ እሴቶችን ለመጀመር ተለዋዋጭዎቹን ዳግም ያስጀምራል xP = 319; yB = 50; fallRate = 0; ውጤት = 0; lastSpeedUpScore = 0; moveRate = 3; gameStarted = ሐሰት; // ጨዋታውን እንደገና ያስጀምሩ ጨዋታ (); }

ደረጃ 10 የፕሮጀክቱ ሥራ

በእኔ Github ማከማቻ ውስጥ የምንጭ ኮዱን ማግኘት ይችላሉ።

አገናኝ

በእውነቱ የረዳዎት ከሆነ አውራ ጣትዎን ይስጡ እና አስደሳች ለሆኑ ፕሮጀክቶች የእኔን ሰርጥ ይከተሉ:)

ከወደዱት ይህንን ቪዲዮ ያጋሩ።

ለደንበኝነት መመዝገብዎ ደስ ብሎኛል

በማንበብዎ እናመሰግናለን!

የሚመከር: