ዝርዝር ሁኔታ:

ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial: 12 ደረጃዎች (ከስዕሎች ጋር)
ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial: 12 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial: 12 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial: 12 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: MKS Gen L - Marlin 1 1 9 (configuration.h) 2024, ሀምሌ
Anonim
ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial
ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial
ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial
ብሉቤሪሲክስ - TFT TouchScreen / Arduino Tutorial

2019 የሪም ብላክቤሪ 850 20 ኛ ዓመት ነው! ይህ ትንሽ የካናዳ ፈጠራ ዓለም የሚግባባበትን መንገድ ቀይሯል። ከረዥም ጊዜ አል It'sል ፣ ግን ውርስው ቀጥሏል!

በዚህ መመሪያ ውስጥ ፣ ለኡኖ/ሜጋ የ MCUfriend.com 2.4”TFT ማሳያ ጋሻ እንዴት እንደሚጠቀሙ ይማራሉ። ግራፊክ ነገሮችን እና ጽሑፍን እንዴት ማሳየት እና ንክኪዎችን መቀበል እና በንክኪ ክስተቶች ላይ እርምጃ መውሰድ እንደሚችሉ ይማራሉ። ይህ ማያ ገጽ ከአዳፍ ፍሬዝ እና ከሌሎች የ TFT ጋሻዎች/ማያ ገጾች ጋር በጣም ተመሳሳይ ነው። ስለዚህ እዚህ ከሆንክ ለዝግጅቱ ጠብቅ።

የእኔን የ bluBerriSIX ንድፍ ቀለል ባለ 2 የመተግበሪያ ስሪት እንገነባለን።

እንጀምር!

ደረጃ 1 BluBerriSIX - አጠቃላይ እይታ

Image
Image
BluBerriSIX - አጠቃላይ እይታ
BluBerriSIX - አጠቃላይ እይታ
BluBerriSIX - አጠቃላይ እይታ
BluBerriSIX - አጠቃላይ እይታ

የ bluBerriSIX መተግበሪያ ስድስት ተግባር TFT ፕሮጀክት ነው።

የሚያካትተው ፦

የእጅ ባትሪ

Saucy '7' መተግበሪያ (እንደ አስማት '8' ኳስ)

የሂሳብ ማሽን

SR-04 የአልትራሳውንድ የርቀት ዳሳሽ በመጠቀም የርቀት መለኪያ መተግበሪያ

ከኤችሲ -12 አስተላላፊ ጋር እስከ 1.5 ኪ.ሜ የሚደርስ የእውነተኛ ጊዜ ውሂብን የሚያከናውን የሙቀት እና እርጥበት መተግበሪያ

HC-12 ን በመጠቀም የጽሑፍ መልእክት መተግበሪያ።

ይህ ፕሮጀክት 1100 የኮድ መስመሮችን ወስዷል። አሁንም TFT ማሳያ እና የንክኪ ዳሳሽ ጽንሰ -ሀሳቦችን የሚያሳይ በጣም ቀላል የሆነ ስሪት እንገነባለን።

ደረጃ 2: ምን ያስፈልጋል?

ምን ያስፈልጋል?
ምን ያስፈልጋል?
ምን ያስፈልጋል?
ምን ያስፈልጋል?

- አርዱዲኖ ኡኖ ወይም ሜጋ 2560

- አንድ MCUfriend 2.4 TFT ጋሻ

የሚከተሉት ቤተ -መጻሕፍት:

- Adafruit_GFX ቤተ -መጽሐፍት

- Adafruit Touchscreen ቤተ -መጽሐፍት

- MCUFRIEND_kbv ቤተ -መጽሐፍት

እነዚህ ቤተመፃህፍት በአርዲኖ አይዲኢ ውስጥ ባለው የቤተመጽሐፍት ሥራ አስኪያጅ ሊጫኑ ይችላሉ።

ቤተመጽሐፍት ለመጫን ወደ ረቂቅ -> ቤተመጽሐፍት አካትት -> ቤተመፃሕፍት አደራጅ… ምናሌ አማራጭ ይሂዱ።

በ ‹ፍለጋዎ ማጣሪያ…› መስክ ውስጥ ፣ የላይብረሪውን ስም የመጀመሪያዎቹን ጥቂት ቁምፊዎች ያስገቡ እና ከዚያ ተገቢውን ቤተ -መጽሐፍት ይምረጡ እና ይጫኑ። ሲጨርሱ ፣ ከዚህ ማያ ገጽ ይውጡ።

የ Uno/Mega ላይ የ TFT ጋሻ ሲሰቀሉ ፣ ፒኖቹን በትክክል መደርደርዎን ለማረጋገጥ በጣም ይጠንቀቁ። የመጀመሪያውን ጋሻዬን በተሳሳተ መንገድ አስተካክዬ ጠበስኩት። ማያ ገጹ እንደሞተ ከመገንዘቤ በፊት ትክክለኛ ቤተመጽሐፍትን ለማግኘት በመሞከር ለሁለት ሳምንታት ያህል ብስጭት እያሳለፍኩ ነበር። ተጥንቀቅ

ደረጃ 3: የእኛ ፕሮጀክት

የእኛ ፕሮጀክት
የእኛ ፕሮጀክት
የእኛ ፕሮጀክት
የእኛ ፕሮጀክት
የእኛ ፕሮጀክት
የእኛ ፕሮጀክት
የእኛ ፕሮጀክት
የእኛ ፕሮጀክት

የ bluBerriSIX ንድፍ ቀለል ያለ ስሪት እንገነባለን።

ይኖረዋል ፣

- የሚረጭ ማያ ገጽ

- ሁለት አዝራሮች ያሉት ዋና ምናሌ ማያ ገጽ

- Saucy 7 መተግበሪያ

- ቀለል ያለ የጽሑፍ መግቢያ መተግበሪያ

እንዲሁም በዚህ ልዩ ማሳያ ታችኛው ግራ በስተግራ ያለውን ‹መነሻ› አዶን በመጫን ወደ ዋናው ምናሌ መመለስ ይችላሉ። እንደዚህ ዓይነት አዶ ከሌለዎት ፣ የማያ ገጽዎን ‹ቤት› ክልል ብቻ መግለፅ አለብዎት። በዚህ መማሪያ ውስጥ የማያ ገጽ ንክኪ ክልሎችን እንዴት እንደሚወስኑ ይማራሉ።

ምንም እንኳን ይህ ቀለል ያለ ፕሮጀክት ቢሆንም ፣ አሁንም በጣም ረጅም ነው። ከፈለጉ የአርዲኖ ንድፎችን ሥዕሎች በእያንዳንዱ ዋና ደረጃ እሰጣለሁ።

ደረጃ 4: የራስጌ ኮድ ፣ ዓለም አቀፍ ተለዋዋጮች ፣ የማያ ገጽ ማዋቀር

የራስጌ ኮድ ፣ ዓለም አቀፍ ተለዋዋጮች ፣ የማያ ገጽ ማዋቀር
የራስጌ ኮድ ፣ ዓለም አቀፍ ተለዋዋጮች ፣ የማያ ገጽ ማዋቀር
የራስጌ ኮድ ፣ ዓለም አቀፍ ተለዋዋጮች ፣ የማያ ገጽ ማዋቀር
የራስጌ ኮድ ፣ ዓለም አቀፍ ተለዋዋጮች ፣ የማያ ገጽ ማዋቀር

ጠቅላላው ፕሮጀክት በከፍተኛ ሁኔታ ተመዝግቧል። ዝርዝሩ ግን ይከተላል።

አዲስ የአሩዲኖ ፕሮጀክት ይጀምሩ እና ‹tft demo› ወይም የሚፈልጉትን ሌላ ስም ይደውሉ።

ከላይ ያለው የመጀመሪያው የኮድ ፓነል ዓለም አቀፍ ተለዋዋጮችን መግለፅን ያሳየናል። እንዲሁም ለማያ ገጹ የማሳያ ተግባር እና ለማያ ገጹ ንካ ማወቂያ ልንጠቀምባቸው የሚገቡን ቤተ -መጻሕፍት ውስጥ እንጨምራለን።

እንዲሁም የአናሎግ ፒኖችን ከማያ ገጽ-ተኮር ዓላማዎቻቸው ጋር በማጣቀሻ እንገልፃለን።

የ tft ን ነገር (ማሳያ) እና ts ን (ንካ) ን እንደየራሳቸው ተግባራት ማጣቀሻዎች እንገልፃለን።

ቀለሞቹን ለማያ ገጹ እና ለጽሑፍ እና ለግራፊክስ ዕቃዎች ቀላል ለማድረግ አንዳንድ 16 ቢት የቀለም ቋሚዎች እንገልፃለን። የሚታዩ ቀለሞችን ወደ 16 ቢት ሄክሳዴሲማል እሴቶቻቸው ለመለወጥ የቀለም መራጭ እና መለወጫ ላለው ድር ጣቢያ ዩአርኤል እንዳለ ያስተውላሉ። በጣም ጠቃሚ መሣሪያ ነው።

በሁለተኛው የኮድ ፓነል ውስጥ ፣ ለመተግበሪያ-ተኮር ዓላማዎቻችን ዓለም አቀፍ ተለዋዋጮችን እንገልፃለን።

CString ፣ ደብዳቤ እና ፊደል ኤክስ እና ፊደል Y ሕብረቁምፊዎች እና ድርድሮች ሀ) ለጽሑፍ ግቤት መተግበሪያው በአዝራሮቹ ላይ ያሉትን ፊደላት ለማሳየት እና ለ) የእያንዳንዱ ንጥል ፊደል ከ x እና y መጋጠሚያዎች ጋር የመንካት x እና y መጋጠሚያዎችን ያዛምዳሉ። የቁልፍ ሰሌዳ። ወደዚያ የንድፍ ክፍል ስንደርስ ስለዚህ ጉዳይ የበለጠ።

funcX ፣ funcY እና func በዋናው ምናሌ ማያ ገጽ ላይ የትኛው የመተግበሪያ አዝራር እንደተጫነ ለመወሰን የሚሠሩ ድርድሮች ናቸው እና ከዚያ ያንን መረጃ የሚመለከተውን መተግበሪያ ለማስጀመር ይጠቀሙ።

ማያ ገጹን በጣም ረዥም ከመጫን ብዙ ንክኪዎችን እንዳናገኝ ለማረጋገጥ lastTouch እና tThresh በንኪ ዘዴዎች ውስጥ ጥቅም ላይ ይውላሉ። ከዚያ በኋላ ተጨማሪ።

የሞዴል ተለዋዋጭው የትኛው ማያ ገጽ እንደሚታይ ይቆጣጠራል እና tMode ተለዋዋጭ በየትኛው የንክኪ ዘዴዎች በማንኛውም ጊዜ ጥቅም ላይ እንደሚውል ይቆጣጠራል።

በማዋቀር () ብሎክ ውስጥ Serial.println () ትዕዛዞችን ለማረም ከፈለግን ተከታታይ ሰርጥ እንከፍታለን። ተከታታይ ክትትል ማረም ማድረግ ካልፈለጉ ይህ መስመር አያስፈልግዎትም።

የሚቀጥሉት አራት መስመሮች ለ tft ነገር የማዋቀር ኮድ ብቻ ናቸው።

በመቀጠል የማያ ገጹን አቀማመጥ ወደ የቁም ሁኔታ ሁኔታ እናዘጋጃለን።

የዘፈቀደSeed () ትዕዛዝ በኋለኛው ቁጥር saucy መተግበሪያን ለመጠቀም የዘፈቀደ ቁጥር ጀነሬተርን ይጀምራል።

በመጨረሻ የእንፋሎት ማያ ዘዴን እንጠራዋለን።

ደረጃ 5 የስፓሽ ማያ ገጹን መገንባት እና ማሳያ ንፅፅር ንካ ካርታ መረዳትን

የስፓሽ ማያ ገጹን መገንባት እና የማሳያ ንፅፅር ንክኪ ካርታ መረዳትን
የስፓሽ ማያ ገጹን መገንባት እና የማሳያ ንፅፅር ንክኪ ካርታ መረዳትን
የስፓሽ ማያ ገጹን መገንባት እና የማሳያ ንፅፅር ንክኪ ካርታ መረዳትን
የስፓሽ ማያ ገጹን መገንባት እና የማሳያ ንፅፅር ንክኪ ካርታ መረዳትን

አሁን የፍሳሽ ማያ ገጹን መገንባት እንጀምራለን።

ግን መጀመሪያ ፣ እባክዎን ለማያ ገጹን ይንኩ እና ካርታ ይንኩ። አመጣጡ በተለያዩ ቦታዎች ላይ መሆኑን ልብ ይበሉ። ለዕይታ ፣ መነሻው (0 ፣ 0) በማያ ገጹ አናት ግራ (የ RESET አዝራር ከላይ ሲገኝ) እና ከግራ ወደ ቀኝ እና ከላይ ወደ ታች ያድጋል።

ለንክኪ ማወቂያ መነሻው በማያ ገጹ ታችኛው ግራ ጥግ ላይ ሲሆን ከግራ ወደ ቀኝ እና ከታች ወደ ላይ ያድጋል።

ስለዚህ ማሳያ እና የመነካካት ካርታዎች ተለይተው ተለይተው የተለያዩ ውሳኔዎች አሏቸው። ማሳያው 240 በ 320 ጥራት አለው እና በቅርቡ እንደሚመለከቱት ንክኪው በጣም ከፍተኛ ጥራት አለው።

ከሉፕ () {} ዘዴ በታች ወደ ስዕልዎ ክልል ይሂዱ እና እኛ የ “ስፕላሽ” () ዘዴ ኮድ እናስገባለን።

እኛ በአርዕስት ኮድ ውስጥ በገለጽነው ነጭ ቀለም ማያ ገጹን ለመሙላት የሙሉ ማያ ገጽ () ትእዛዝን በመጀመር እንጀምራለን።

ከዚያ የጽሑፉን መጠን ወደ '5' አዘጋጅተናል። ይህ በአንጻራዊ ሁኔታ ሲታይ ትልቅ መሠረታዊ የጽሑፍ መጠን ነው። ለጽሑፉ ጠቋሚ የ x እና y ቦታን እናዘጋጃለን እና የጽሑፉን ቀለም እናዘጋጃለን። በመጨረሻ የህትመት (“TFT”) ትዕዛዙ በእውነቱ በተጠቀሰው ቦታ ላይ ሰማያዊውን ፣ መጠኑን ‘5’ ን ይሳባል።

የጽሑፍ መጠንን ሲጨምሩ ፣ ገጸ -ባህሪያቱ የበለጠ እየጨመሩ ይሄዳሉ። ስለዚህ ከ 5 በላይ መሄድ ምናልባት ጠቃሚ ላይሆን ይችላል። በዚህ መማሪያ መጨረሻ ላይ በመተግበሪያዎችዎ ውስጥ ቆንጆ የሚመስል ጽሑፍ ለማግኘት የ bitmap ቅርጸ -ቁምፊዎችን እንዴት እንደሚጠቀሙ አሳያችኋለሁ። የንግድ ልውውጡ የቢትማፕ ቅርጸ -ቁምፊ ስብስቦችን በመጠቀም በአርዱኖዎ ውስጥ ብዙ ማህደረ ትውስታን የሚወስድ ሲሆን ይህም የንድፍ መጠኖችዎን ይገድባል።

በተረጨው ማያ ገጽ ላይ ለሌሎቹ ሁለት የጽሑፍ ዕቃዎች ተመሳሳይ ትዕዛዞችን እንደጋግማለን።

በመጨረሻም መተግበሪያው ወደ ዋናው ምናሌ ማያ ገጽ ከመሄዱ በፊት ተጠቃሚው የማያ ገጹን ይዘት እንዲያነብ እድል ለመስጠት ለ 2.5 ሰከንዶች እንዘገያለን።

ይቀጥሉ እና ይህንን ንድፍ ወደ አርዱinoኖ ይስቀሉ። የተረጨውን ማያ ገጽ ማሳየት አለበት።

ደረጃ 6 የንክኪ ካርታ የምርመራ መሣሪያን መሥራት

የንክኪ ካርታ ምርመራ መሣሪያን መሥራት
የንክኪ ካርታ ምርመራ መሣሪያን መሥራት
የንክኪ ካርታ ምርመራ መሣሪያን መሥራት
የንክኪ ካርታ ምርመራ መሣሪያን መሥራት

የማሳያው የተለያዩ ክፍሎች የንክኪ መጋጠሚያዎችን እንዲያገኙ የ ShowTouch () ዘዴ በጣም ጠቃሚ ነው። ለአዝራሮችዎ የንክኪ ክልሎችን ለመወሰን ይህንን ማድረግ ያስፈልግዎታል።

ይቀጥሉ እና ከዚህ በፊት ከተሰራው ከጭረት () ዘዴዎ በታች ይህንን ዘዴ ያስገቡ።

እንዴት እንደሚሰራ እነሆ።

መግለጫው ካለፈው ንክኪ በኋላ በቂ ጊዜ ማለፉን ይወስናል። የአሁኑን የስርዓት ጊዜ ሚሊስን () ይወስዳል እና የመጨረሻውን ንክኪ ጊዜን ይቀንሳል። ከ tThresh እሴት (200 ሚሊሰከንዶች) የሚበልጥ ከሆነ ንክኪውን ይቀበላል። ያለበለዚያ በአጋጣሚ የብዙ ንክኪ ክስተቶችን ችላ ይላል።

በመቀጠልም የ getpoint () ትዕዛዙ የንክኪውን x ፣ y እና z መጋጠሚያዎችን ያገኛል። የ z አስተባባሪ የንክኪ ግፊት መለኪያ ነው።

በስዕሉ ራስጌ ውስጥ በገለፅነው ከፍተኛ እና ዝቅተኛ ቋሚዎች ውስጥ ከሆነ ፣ ዘዴው መጀመሪያ የ YP እና የኤክስኤም ፒኖችን ወደ OUTPUT ይለውጣል ፣ ማያ ገጹን በ DISPLAY ሁኔታ ውስጥ ያደርገዋል።

በመቀጠልም ከዚህ በፊት ታይተው የነበሩ ማናቸውም መጋጠሚያዎችን ለመሰረዝ ነጭ አራት ማእዘን ይሳሉ።

ከዚያ ሥዕሉ ቅርጸ -ቁምፊውን ወደ መጠን 2 ፣ ጥቁር ቀለም ያዘጋጃል እና በማያ ገጹ ላይ የ x (p.x) እና y (p.y) መጋጠሚያዎችን ያሳያል። ከዚያ ለእራስዎ ስዕሎች የንክኪ ዞኖችን መርሃ ግብር እንዲያዘጋጁ ለማገዝ የእነዚህን ቦታዎች ማስታወሻ ማድረግ ይችላሉ።

በስልቱ ግርጌ ላይ ያለው መግለጫ በማያ ገጹ ላይ ያለው ‹መነሻ› ቁልፍ ተጭኖ እንደሆነ ለማየት ይፈትሻል። የ «<=» ኦፕሬተሮች የመነሻ አዝራሩን ስፋት እና ቁመት ይፈቅዳሉ። የተገለጹት መጋጠሚያዎች የመነሻ አዝራሩ የ x-center እና y-center መጋጠሚያዎች ናቸው። ከተጫነ ሁናቴ ወደ 0 ተቀናብሯል ፣ ይህም በመጨረሻ ‹ወደ ዋናው ምናሌ ማያ ገጽ ይሂዱ› ማለት ነው። ከዚያ በኋላ ተጨማሪ።

በመጨረሻ ለንክኪ ክስተት ለመዘጋጀት lastTouch ን ወደ የአሁኑ የስርዓት ጊዜ ሚሊስ () እናዘምነዋለን።

እባክዎን አሁን ወደ loop () እገዳው ይሂዱ እና የመስመር ማሳያ ንክኪን () ያክሉ።

በዚህ ጊዜ ስዕልዎን ይስቀሉ እና ይሞክሩት። የሚረጭ ማያ ገጹን ይስል እና ማያ ገጹን መንካት ከጀመሩ የ TOUCH x እና y መጋጠሚያዎች በማያ ገጹ ላይ ይታያሉ።

ከመቀጠልዎ በፊት ፣ ሁለት አስፈላጊ የኮድ መስመሮችን እንከልስ-

pinMode (YP ፣ ውፅዓት); // የ TFT መቆጣጠሪያ ፒኖችን ይመልሱ

pinMode (ኤክስኤም ፣ ውፅዓት) ፤ // ንክኪ ከተገኘ በኋላ ለዕይታ

በማያ ገጹ ላይ የሆነ ነገር ለማሳየት በሚፈልጉበት በማንኛውም ጊዜ ማያ ገጹን ከ TOUCH ሁነታ ወደ DISPLAY ሁነታ ለመቀየር እነዚህን ሁለት ትዕዛዞች መፈጸም አለብዎት። አለበለዚያ የማሳያ ትዕዛዞችዎ አይሰሩም።

እስካሁን በደንብ ተከናውኗል! ፋታ ማድረግ!

ደረጃ 7 - ዋናውን የምናሌ ማያ ገጽ ይገንቡ

ዋናውን የምናሌ ማያ ገጽ ይገንቡ
ዋናውን የምናሌ ማያ ገጽ ይገንቡ
ዋናውን የምናሌ ማያ ገጽ ይገንቡ
ዋናውን የምናሌ ማያ ገጽ ይገንቡ
ዋናውን የምናሌ ማያ ገጽ ይገንቡ
ዋናውን የምናሌ ማያ ገጽ ይገንቡ

እያንዳንዱን መተግበሪያ ለማግበር ሊጫኑዋቸው በሚችሏቸው ሁለት አዝራሮች አሁን የእኛን ዋና ምናሌ ማያ ገጽ እንገነባለን። ዘዴው ምናሌ ማያ ገጽ () ይባላል።

ማያ ገጹን በ DISPLAY ሁኔታ ውስጥ በማስቀመጥ እንጀምራለን።

ከዚያ የቅርጸ -ቁምፊውን መጠን ፣ ቀለም እና አቀማመጥ እና “ዋና ምናሌ” የሚለውን ጽሑፍ እናተምማለን።

አሁን አዝራሮቹ የሆኑትን ሁለት አራት ማዕዘኖች እንሳሉ።

ሁሉም የግራፊክስ ትዕዛዞች ተመሳሳይ መዋቅር አላቸው

graphicShape (x አስተባባሪ ፣ y ማስተባበር ፣ ስፋት ፣ ቁመት ፣ COLOR)

- x አስተባባሪ - ለአራት ማዕዘን ዕቃዎች ከላይ በስተግራ ፣ ለክበቦች ማዕከል

- y አስተባባሪ - ለአራት ማዕዘን ዕቃዎች ከላይ በስተግራ ፣ ለክበቦች ማዕከል

- ስፋት - በፒክሰሎች ውስጥ የነገሩን ስፋት

- ቀለም - እኛ በአርዕስቱ ውስጥ የገለጽነው የቀለም ቋሚ

በመጨረሻም የሳውሲ 7 አዶን እና የ QWERTY ጽሑፍ ማስገቢያ አዶን ለመሳል ሁለት ዘዴዎችን እንጠራለን። እነዚህ የተለዩ ዘዴዎች ናቸው።

የ draw7icon (0) ዘዴ ኳሱን ለመሳል y-offset የሆነውን ኢንቲጀር መለኪያ ይወስዳል። ይህንን የምናደርገው በምናሌው ማያ ገጽ እና በሳውዝ 7 የመተግበሪያ ማያ ገጽ ላይ ኳሱን ለመሳል ተመሳሳይ ዘዴ ለመጠቀም እንድንችል ነው። ማካካሻው የኳሱን y- አስተባባሪ ወደ ላይ ወይም ወደ ታች በፕሮግራም እንድናስተካክል ያስችለናል።

የ Dra7Ball (0) ዘዴ ከ draw7Icon (0) ውስጥ ተጠርቷል። እንዲሁም በምናሌው ማያ ገጽ ላይ ወይም በመተግበሪያው ማያ ገጽ ላይ ከሳልነው ላይ በመመስረት የኳሱን አቀባዊ አቀማመጥ ለማስተካከል የሚያስችል ግቤትን ይወስዳል።

የ fillCircle () ትዕዛዝ 4 ክርክሮችን ይወስዳል።

- x የክበቡ መሃል አስተባባሪ

- y የክበቡ መሃል አስተባባሪ

- የክበቡ ራዲየስ (በፒክሰሎች)

- ቀለም - እኛ በአርዕስቱ ውስጥ የገለጽነው የቀለም ቋሚ

በመጨረሻ ለጽሑፍ ማስገቢያ መተግበሪያ አዶውን ለመሳል የ drawTextIcon () ዘዴ ተጠርቷል።

በማዋቀር () ውስጥ የሚረጭ () ዘዴን አስተያየት በመስጠት እና ምናሌ ማያ ገጽ () በማከል ዘዴውን ለማካሄድ መሞከር ይችላሉ።

ንድፉን ወደ አርዱinoኖ ይስቀሉ እና ይሞክሩት!

ደረጃ 8 - Saucy 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች

የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች
የሳውሲ 7 መተግበሪያ እና ዋና ምናሌ ዘዴዎች

ሰባቱ ማያ ገጽ () ዘዴው ኳሱን መሳል እና ከዚያም መመሪያዎቹን ማሳየት ጨምሮ ለመተግበሪያው ማያ ገጹን ይሳባል።

የ SevenInstr () ዘዴ መመሪያዎችን ያሳያል እንዲሁም ማያውን ከቀዳሚ ምላሾች ያጸዳል። እንዲሁም ‹ምላሽ› የሚለውን ቁልፍ ይሳሉ።

የ show7Response () ዘዴ የቀደመውን የምላሽ ዘዴ ከማያ ገጹ ላይ በማፅዳት ፣ የታነመ ‹የአስተሳሰብ…› መልእክት ማሳየት እና ከዚያም በዘፈቀደ የተመረጠውን የምላሽ መልእክት ያሳያል።

read7Touch () በዘፈቀደ የመነጨ መልእክት ለማምረት የንክኪ ክስተትን የሚጠብቅ ዘዴ ነው። የንክኪው ኮድ ቀደም ሲል ከተገለጸው ከ ShowTouch () የምርመራ ዘዴ ጋር በጣም ተመሳሳይ ነው። ለማቃለል ፣ ዘዴው በማያ ገጹ ላይ በማንኛውም ቦታ እንደ “ምላሽ ሰጪ” ቁልፍ ሲነካ ይቀበላል።

በስልቱ አናት ላይ ፣ ከንክኪ ክስተት ሊመነጩ የሚችሉ መልዕክቶች የሆኑ የምላሽ ሕብረቁምፊዎች ድርድርን እንገልፃለን።

የመነሻ አዝራሩ ከተጫነ መተግበሪያውን ያበቃል እና ወደ ዋናው ምናሌ ማያ ገጽ ይመለሳል። ያለበለዚያ ዘዴው በ 0 እና 7 መካከል (በዘፈቀደ) መካከል የዘፈቀደ ቁጥርን ያመነጫል እና ተጓዳኙን የጽሑፍ መልእክት ከምላሽ ድርድር ወደ show7Response () ዘዴ ያስተላልፋል።

በመጨረሻም የ backToMenu () ዘዴ የመነሻ ቁልፍን ለመንካት ይመለከታል እና መቆጣጠሪያውን ወደ ዋናው ምናሌ ማያ ይመለሳል።

የዋናው ምናሌ ማያ ገጽ ላይ ሲሆኑ የ readMenuTouch () ዘዴ ለንክኪ ክስተት ይመለከታል። ንክኪ በሚታወቅበት ጊዜ የንክኪውን x እና y መጋጠሚያዎች ለማዛመድ በ funcX እና funcY ድርድሮች ውስጥ ወደሚታየው ወደ getFunc (x, y) ዘዴ የ x እና y መጋጠሚያዎችን ያስተላልፋል። ከዚያ ለተመረጠው መተግበሪያ ቁጥሩን ከ func ድርድር ይመልሳል። '1' Saucy 7 እና '2' የጽሑፍ መግቢያ መተግበሪያ ነው። ከዚያ መተግበሪያው እንዲተገበር ሁነታን ወደዚያ መተግበሪያ እሴት ያዘጋጃል።

ደረጃ 9 - ሉፕ () አግድ

Loop () አግድ
Loop () አግድ

አሁን ተገቢውን ማያ ገጽ ለማሳየት እና አሁን በተመረጠው አማራጭ ላይ በመመስረት ተገቢውን የንክኪ ዘዴዎችን መጥራት ለማስተናገድ የ loop () የማገጃ ኮድ መገንባት እንጀምራለን።

የ loop () ዘዴ ሁለት የመቀየሪያ () መዋቅሮችን ያካትታል።

የላይኛው የመቀየሪያ መዋቅር በየትኛው አማራጭ እንደተመረጠ ተገቢውን ማያ ገጽ ያሳያል። እንዲሁም ለአሁኑ የተመረጠው አማራጭ እንዲሠራ ለትክክለኛው የንክኪ ዘዴ የ tMode እሴትን ያዘጋጃል። የማሳያ ማያ ገጹ እስከመጨረሻው እንዳይደገም በመጨረሻ የሞዴሉን እሴት ወደ 9 ያዘጋጃል።

በ tMode እሴት በተወከለው በተጠቃሚ በተመረጠው የመተግበሪያ አማራጭ ላይ በመመስረት የታችኛው የመቀየሪያ መዋቅር የትኛውን የንክኪ ዘዴዎች እንደሚተገበሩ ይቆጣጠራል።

ንድፉን ወደ አርዱዲኖዎ ይጫኑ እና የ Saucy 7 መተግበሪያን መምረጥ እና መጠቀም መቻል አለብዎት።

ብዙ ሥራ ሠርተዋል! ፋታ ማድረግ:-)

ደረጃ 10 - የጽሑፍ ማስገቢያ መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን

የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!
የጽሑፍ ግቤት መተግበሪያ - እኛ በቤት ዝርጋታ ውስጥ ነን!

አሁን የጽሑፍ ማስገቢያ መተግበሪያ ዘዴዎችን እናካተታለን።

makeKbd () በማያ ገጹ ላይ የቁልፍ ሰሌዳውን ይስባል።

በስድስት የተሞሉ ክብ ክብ አራት ማዕዘኖችን ይሳሉ ከዚያም ፊደሉን በማያ ገጹ ላይ ከሚያትመው የ cString ሕብረቁምፊ በማግኘት በእያንዳንዱ ‹ቁልፍ› ላይ ተገቢውን ፊደል ይሸፍናል። በ fillRoundedRect () ትዕዛዝ ውስጥ ሁለተኛው የመጨረሻው ግቤት በፒክሰሎች ውስጥ የእያንዳንዱ ጥግ ራዲየስ መሆኑን ልብ ይበሉ። ይህ እሴት ከፍ ባለ መጠን ፣ ማዕዘኖቹ ይበልጥ የተጠጋጉ ናቸው።

የ readKbdTouch () ዘዴ ከሌላው የንክኪ ማወቂያ ዘዴዎች ጋር ተመሳሳይ ነው።

የመነሻ አዝራሩ ላይ ያልሆነ ንክኪ ከተገኘ ፣ በማያ ገጹ ላይ ካለው የ x እና y አካባቢ ጋር የሚዛመድ ገጸ -ባህሪን ወደሚመልሰው የ curChar (x ፣ y) ዘዴ የ x እና y መጋጠሚያዎችን ያስተላልፋል። ከዚያ ‹የተተየበው› መልእክት ‹ማሳያMsg (theChar)› ዘዴን በመጠቀም በማያ ገጹ ላይ ይታያል።

የ curChar (x, y) ዘዴ ከ readKbdTouch () የተላለፉትን x እና y መጋጠሚያዎች ቅርብ የሆነ ተዛማጅ ለመፈለግ በደብዳቤው X እና በ letterY ድርድሮች ውስጥ ይፈትሻል። ተዛማጅ ካገኘ ተጓዳኝ ፊደሉን ወደ ተነባቢው KbdTouch ዘዴ ይመልሳል። የቻር ተለዋዋጭውን ወደ 32 እንደጀመርን ያስተውሉ ፣ ይህም ለጠፈር ገጸ -ባህሪ ASCII ኮድ ነው ፣” ይህንን የምናደርገው ተጠቃሚው ከቁልፍ ሰሌዳው ርቆ የሚገኝ አካባቢ ቢነካ ፣ የማይገኙ ቁምፊዎችን እንዳያሳይ ነው።

የማሳያ ኤምኤስግ (theChar) ዘዴ ከ curChar (x ፣ y) የተመለሰውን ገጸ -ባህሪ ወስዶ ወደ msg ሕብረቁምፊ ያክለዋል። ከዚያ መልዕክቱን በማያ ገጹ ላይ ያሳያል።

በመጨረሻም የጽሑፍ መግቢያ መተግበሪያ ምርጫን ለመቀበል የ loop () እገዳን እናዘምነዋለን።

የ tftDemo ንድፉን ወደ አርዱዲኖ ይስቀሉ እና የተጠናቀቀውን መተግበሪያ መጠቀም መቻል አለብዎት።

እንኳን ደስ አላችሁ! የ TFT ንኪ ማያ ገጽ መተግበሪያ ገንብተዋል! ቀኑን ሙሉ እረፍት ይውሰዱ!

ደረጃ 11: Gettin 'Slick! - በስዕልዎ ውስጥ Adafruit Bitmap Fonts ን መጠቀም።

መደበኛ tft ቅርጸ ቁምፊ ስብስብ ደህና ነው። ግን በእኛ TFT ረቂቆች ውስጥ ትክክለኛ የቢት ካርታ ቅርጸ -ቁምፊዎችን መጠቀም ከቻልን በጣም ጥሩ ነው።

ዝቅተኛው ወደ አርዱዲኖ ማህደረ ትውስታ ቅርጸ -ቁምፊዎችን መጫን ጉልህ ቦታን የሚይዝ መሆኑ ነው። በእውነቱ ፣ ወደ አርዱዲኖ የማይጫን በብዙ ቅርጸ -ቁምፊዎች ንድፍዎን መሙላት በጣም ቀላል ነው።

ቅርጸ -ቁምፊዎቹ ለዚህ ፕሮጀክት አስቀድመው በጫኑት የ Adafruit_GFX ቤተ -መጽሐፍት አቃፊ ውስጥ ይገኛሉ። ቅርጸ -ቁምፊዎችን ለመጠቀም በጣም ጥሩ አጋዥ ስልጠና በዚህ ጣቢያ ላይ ነው።

በስዕልዎ ራስጌ አካባቢ ፣ ለመጠቀም ለሚፈልጉት ቅርጸ -ቁምፊ የቅርጸ -ቁምፊ ማጣቀሻ ያክሉ። ለዚህ ምሳሌ የ FreeSerifBoldItalic18p7b ቅርጸ -ቁምፊን እንጠቀማለን።

#ያካትቱ

በእርስዎ ስፕላሽ () ዘዴ ውስጥ ፣ tft.setTextSize () ላይ አስተያየት ይስጡ። ትእዛዝ።

የሚከተለውን ትዕዛዝ ያክሉ ፣

tft.setFont (& FreeSerifBoldItalic18pt7b);

አሁን ማንኛውም የህትመት () ትዕዛዞች በአሁኑ ጊዜ የተገለጸውን ቅርጸ -ቁምፊ ይጠቀማሉ። ወደተለየ ቅርጸ -ቁምፊ ለመቀየር ሊጠቀሙበት ከሚፈልጉት ቀጣዩ ቅርጸ -ቁምፊ ጋር ሌላ tft.setFont () ትዕዛዙን ይጠቀሙ ነበር።

ቅርጸ -ቁምፊውን ወደ መደበኛው tft ቅርጸ -ቁምፊ ለማዘጋጀት ፣ tft.setFont () ን ብቻ ይጠቀሙ። ያለ ግቤት ትዕዛዝ።

ንድፉን ወደ አርዱinoኖ ይስቀሉ እና ስፕኪንግ ማያ ገጹ አሁን በማያ ገጹ ላይ ያለውን ጽሑፍ ለማሳየት የቢትማፕ ቅርጸ -ቁምፊውን ይጠቀማል። ቅርጸ -ቁምፊን ካካተቱ በኋላ የስዕሉ መጠን በጣም ትልቅ መሆኑን ያስተውላሉ።

ደረጃ 12 የመጨረሻ ሐሳቦች

ለእርስዎ ብዙ ሌሎች የግራፊክ ዕቃዎች ትዕዛዞች አሉ። እነሱ ያካትታሉ:

tft.drawRect (x ፣ y ፣ ስፋት ፣ ቁመት ፣ COLOR);

tft.drawLine (x1 ፣ y1 ፣ x2 ፣ y2 ፣ COLOR);

የሚከተሉት ምሳሌዎች በቀይ ፣ በአረንጓዴ እና በሰማያዊ እሴቶች ላይ በመመርኮዝ ቀለሙን እንዲገልጹ ለማድረግ የ tft.color565 ዘዴን ይጠቀማሉ። በእኛ ረቂቅ ውስጥ የተጠቀምነውን የማያቋርጥ የ HEX ቀለም እሴቶችን ለመጠቀም ይህ አማራጭ መንገድ ነው።

tft.drawRoundRect (x ፣ y ፣ ስፋት ፣ ቁመት ፣ ራዲየስ ፣ tft.color565 (255 ፣ 0 ፣ 0)); // ይህ ቀይ ይሆናል

tft.drawCircle (x ፣ y ፣ ራዲየስ ፣ tft.color565 (0 ፣ 255 ፣ 0)); // ይህ አረንጓዴ ይሆናል

tft.drawTriangle (vertex1x ፣ vertex1y ፣ vertex2x ፣ vertex2y ፣ vertex3x ፣ vertex3y ፣ tft.color565 (0 ፣ 0 ፣ 255)); // ሰማያዊ

tft.fillTriangle (vertex1x ፣ vertex1y ፣ vertex2x ፣ vertex2y ፣ vertex3x ፣ vertex3y ፣ tft.color565 (255 ፣ 0 ፣ 0);

በእነዚህ ትዕዛዞች ዙሪያ ይጫወቱ እና ወደ የእርስዎ TFT ፕሮጄክቶች እንዴት ማከል እንደሚችሉ ያስሱ።

የ TFT ማያ ገጽን መጠቀም መማር ፈታኝ ነው እና እነዚህን የመጀመሪያ እርምጃዎች ለመማር ጊዜ በመውሰዱ በራስዎ ሊኮሩ ይገባል።

የ TFT ማያ ገጾች በአርዲኖ ፕሮጀክቶችዎ ላይ ማራኪ እና ጠቃሚ የግራፊክ የተጠቃሚ በይነገጽ ገጽታ ማከል ይችላሉ።

በዚህ መማሪያ በኩል ስለሠሩ እናመሰግናለን።

አሁን ይውጡ እና አንድ አስደናቂ ነገር ያድርጉ!

የሚመከር: