ዝርዝር ሁኔታ:
ቪዲዮ: አርዱዲኖ TFT ኤልሲዲ የማያንካ ስሌት: 3 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
ሠላም በዚህ አስተማሪዎች ውስጥ አርዱዲኖ ኡኖን በ 3.5 TFT LCD Touchscreen ማሳያ በመጠቀም እንዴት ካልኩሌተር መስራት እንደሚቻል እንማራለን። ስለዚህ ኮድ እንጽፋለን እና በማሳያው ላይ የካልኩሌተር በይነገጽን የሚያሳየው እና የንክኪ ተግባርን የሚወስድ እና ወደ አርዱዲኖ እንሰቅላለን። መሠረታዊ የሂሳብ መግለጫዎችን ውጤት ይስጡ።
ደረጃ 1: የሚያስፈልጉዎት ነገሮች
ለዚህ ፕሮጀክት የሚከተሉትን ነገሮች ያስፈልግዎታል - 3.5 TFT LCD DISPLAYARDUINO UNO
ደረጃ 2 በአርዲኖ አይዲኢ ውስጥ የ TFT ማሳያ ቤተ -መጽሐፍት መጫን
የ SPFD5408 ቤተ -መጽሐፍትን እየተጠቀምን ነው
ይህ የአሩዲኖ ካልኩሌተር ኮድ እንዲሠራ። ይህ የተሻሻለ የአዳፍ ፍሬዝ ቤተ -መጽሐፍት ነው እና በእኛ LCD TFT ሞዱል ያለችግር መስራት ይችላል። ይህንን ቤተመፃህፍት በአርዱዲኖ አይዲኢ ውስጥ ወይም ያለ ምንም ስህተት ለማጠናቀር ይህንን ፕሮግራም መጫን ለእርስዎ በጣም አስፈላጊ ነው። ይህንን ቤተ -መጽሐፍት ለመጫን በቀላሉ ወደ Github ገጽ የሚወስደውን ከላይ ያለውን አገናኝ ጠቅ ማድረግ ይችላሉ። እዚያ ክሎኔን ጠቅ ያድርጉ ወይም ያውርዱ እና “ዚፕ ያውርዱ” ን ይምረጡ። የዚፕ ፋይል ይወርዳል። አሁን ፣ Arduino IDE ን ይክፈቱ እና Sketch -> Librarey ያካትቱ ->. ZIP ቤተ -መጽሐፍት ያክሉ። ወደ ዚፕ ፋይል ይሂዱ እና የአሳሹ መስኮት ይከፈታል እና “እሺ” ን ጠቅ ያድርጉ። በአርዱዲኖ ታች-ግራ ጥግ ላይ “ቤተ-መጽሐፍት ወደ ቤተ-መጽሐፍትዎ ታክሏል” የሚለውን ማስተዋል አለብዎት።
ደረጃ 3: የሂሳብ ማሽን ኮድ ይስቀሉ
ቤተ-መጽሐፍቱን ከጫኑ በኋላ ማሳያውን ከአርዱዲኖ ጋር ያገናኙት እና የሚከተለውን ኮድ ይቅዱ እና ወደ አርዱዲኖ ይስቀሉት። ቤተ -መጽሐፍት#“SPFD5408_TouchScreen.h”/*_ የቤተመጻሕፍት መጨረሻ _*//*_ ኤልሲዲ ፒኖችን ይግለጹ (ነባሪ እሴቶችን አስመድቤያለሁ) _*//YP A1 // የአናሎግ ፒን መሆን አለበት ፣ “አን” የሚለውን ምልክት ይጠቀሙ!# ኤክስኤም ኤ 2 // ይግለጹ የአናሎግ ፒን መሆን አለበት ፣ ‹‹›› ን ተጠቀም! A1#LCD_RD A0#ን ይገልፃል LCD_RESET A4/*_ የጥፋቶች መጨረሻ _*//*_ ስሞችን በቀለም እና ግፊት ይመድቡ _*//#WHITE 0x0000 // ብላክ-> ነጭን#ይግለጹ 0x001F // ሰማያዊ-> ቢጫ#CYAN 0x800 ን ይግለጹ // ቀይ-> ሲያን#PINK 0x07E0 ን ይግለጹ // አረንጓዴ-> ሮዝ#ቀይር 0x07FF // ሲያን-> ቀይ#ግሪን 0xF81F // ሮዝ-ሮዝ-> አረንጓዴ#ዲፊን ሰማያዊ 0xFFE0 // ቢጫ- > ሰማያዊ#ጥቁር/0xFFFF // ነጭ/ጥቁር-ጥቁር#መግለፅ MINPRESSURE 10#MAXPRESSURE ን 1000/*_ ተመድቧል _*//*_ መለካት TFT LCD _*//TS_MINX 125#TS_MINY 85#መግለፅ TS_MAXX 965#ይግለጹ TS_MAX _ የመለኪያ መጨረሻ _*/TouchScreen ts = TouchScreen (XP ፣ YP ፣ XM ፣ YM ፣ 300) ፤ // 300 የስሜት ህዋሱ ነው Adfruit_TFTLCD tft (LCD_CS ፣ LCD_CD ፣ LCD_WR ፣ LCD_RD ፣ LCD_RESET)። // በ LCDString ምልክት [4] [4] = {{"7" ፣ "8" ፣ "9" ፣ "/"} ፣ {"4" ፣ "5" ፣ "6" ፣ "*"}) ግንኙነትን ይጀምሩ, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X ፣ Y; ረጅም ቁጥር 1 ፣ ቁጥር 2 ፣ ቁጥር; የቻር እርምጃ; ቡሊያን ውጤት = ሐሰት ፣ ባዶነት ማዋቀር () {Serial.begin (9600); // tft.reset () ን ለማረም ተከታታይ ማሳያ ይጠቀሙ። // ሁል ጊዜ በጅምር ላይ ዳግም ያስጀምሩ tft.begin (0x9341); // የእኔ ኤልሲዲ LIL9341 በይነገጽ ሾፌር IC tft.setRotation (2) ይጠቀማል። // እኔ የኃይል መስቀያው ወደ ፊት እንዲመጣ እኔ ብቻዬን ዞርኩ - አማራጭ tft.fillScreen (WHITE); መግቢያ ማያ ገጽ (); draw_BoxNButtons (); } ባዶነት loop () {TSPoint p = waitTouch () ፤ X = p.y; Y = p.x; // Serial.print (X); Serial.print (','); Serial.println (Y); // + "" + Y); DetectButtons () ፤ ከሆነ (ውጤት == እውነት) ካልኩሌተሪ (); መዘግየት (300);} TSPoint waitTouch () {TSPoint p; አድርግ {p = ts.getPoint (); pinMode (ኤክስኤም ፣ ውፅዓት); pinMode (YP ፣ ውፅዓት); } እያለ ((p.z MAXPRESSURE)); p.x = ካርታ (p.x ፣ TS_MINX ፣ TS_MAXX ፣ 0 ፣ 320); p.y = ካርታ (p.y ፣ TS_MINY ፣ TS_MAXY ፣ 0 ፣ 240);; ተመለስ p;} ባዶ DetectButtons () {ከሆነ (X0) // በአምድ 1 ላይ አዝራሮችን መለየት {if (Y> 0 && Y <85) // ከተሰረዘ አዝራሩ ተጭኗል {Serial.println («አዝራር ሰርዝ»); ቁጥር = Num1 = Num2 = 0; ውጤት = ሐሰት;} ከሆነ (Y> 85 && Y <140) // አዝራር 1 ከተጫነ {Serial.println ("አዝራር 1"); ከሆነ (ቁጥር == 0) ቁጥር = 1; ሌላ ቁጥር = (ቁጥር*10) + 1; // ሁለት ጊዜ ተጭኖ ከሆነ (Y> 140 && Y <192) // አዝራር 4 ከተጫነ {Serial.println ("አዝራር 4"); ከሆነ (ቁጥር == 0) ቁጥር = 4; ሌላ ቁጥር = (ቁጥር*10) + 4; // ሁለት ጊዜ ተጭኖ ከሆነ (Y> 192 && Y <245) // አዝራር 7 ከተጫነ {Serial.println ("አዝራር 7"); ከሆነ (ቁጥር == 0) ቁጥር = 7; ሌላ ቁጥር = (ቁጥር*10) + 7; // ሁለት ጊዜ ተጭኗል}} ከሆነ (X50) // በአምድ 2 ላይ አዝራሮችን መለየት {if (Y> 0 && Y <85) {Serial.println ("Button 0"); // አዝራር 0 ተጭኖ ከሆነ (ቁጥር == 0) ቁጥር = 0; ሌላ ቁጥር = (ቁጥር*10) + 0; // ሁለት ጊዜ ተጭኖ ከሆነ (Y> 85 && Y <140) {Serial.println ("አዝራር 2"); ከሆነ (ቁጥር == 0) ቁጥር = 2; ሌላ ቁጥር = (ቁጥር*10) + 2; // ሁለት ጊዜ ተጭኖ ከሆነ (Y> 140 && Y <192) {Serial.println ("አዝራር 5"); ከሆነ (ቁጥር == 0) ቁጥር = 5; ሌላ ቁጥር = (ቁጥር*10) + 5; // ተጭኗል twic} ከሆነ (Y> 192 && Y <245) {Serial.println ("አዝራር 8"); ከሆነ (ቁጥር == 0) ቁጥር = 8; ሌላ ቁጥር = (ቁጥር*10) + 8; // ተጭኗል twic}} ከሆነ (X105) // በአምድ 3 ላይ አዝራሮችን መለየት {ከሆነ (Y> 0 && Y <85) {Serial.println (“የአዝራር እኩል”); Num2 = ቁጥር; ውጤት = እውነት; } ከሆነ (Y> 85 && Y <140) {Serial.println ("አዝራር 3"); ከሆነ (ቁጥር == 0) ቁጥር = 3; ሌላ ቁጥር = (ቁጥር*10) + 3; // ሁለት ጊዜ ተጭኖ ከሆነ (Y> 140 && Y <192) {Serial.println ("አዝራር 6"); ከሆነ (ቁጥር == 0) ቁጥር = 6; ሌላ ቁጥር = (ቁጥር*10) + 6; // ሁለት ጊዜ ተጭኖ ከሆነ (Y> 192 && Y <245) {Serial.println ("አዝራር 9"); ከሆነ (ቁጥር == 0) ቁጥር = 9; ሌላ ቁጥር = (ቁጥር*10) + 9; // ሁለት ጊዜ ተጭኗል}} ከሆነ (X165) // በአምድ 3 ላይ አዝራሮችን መለየት {Num1 = ቁጥር; ቁጥር = 0; tft.setCursor (200 ፣ 20); tft.setTextColor (RED); ከሆነ (Y> 0 && Y <85) {Serial.println ("መደመር"); ድርጊት = 1; tft.println ('+');} ከሆነ (Y> 85 && Y <140) {Serial.println ("መቀነስ"); ድርጊት = 2; tft.println ('-');} ከሆነ (Y> 140 && Y <192) {Serial.println ("ማባዛት"); ድርጊት = 3; tft.println ('*');} ከሆነ (Y> 192 && Y <245) {Serial.println ("Devesion"); ድርጊት = 4; tft.println ('/');} መዘግየት (300); }} ባዶ CalculateResult () {ከሆነ (እርምጃ == 1) ቁጥር = Num1+Num2; ከሆነ (እርምጃ == 2) ቁጥር = Num1-Num2; ከሆነ (እርምጃ == 3) ቁጥር = Num1*Num2; ከሆነ (እርምጃ == 4) ቁጥር = Num1/Num2; } ባዶ DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // ግልጽ የውጤት ሳጥን tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (ጥቁር); tft.println (ቁጥር); // አዲስ እሴት ያዘምኑ} ባዶ IntroScreen () {tft.setCursor (55 ፣ 120) ፤ tft.setTextSize (3); tft.setTextColor (RED); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("CALCULATOR"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (BLUE); tft.println ("-Circut Digest"); መዘግየት (1800) ፤} ባዶ ባዶ draw_BoxNButtons () {// የውጤት ሳጥኑን ይሳሉ tft.fillRect (0 ፣ 0 ፣ 240 ፣ 80 ፣ CYAN) ፤ // የመጀመሪያውን ዓምድ tft.fillRect (0 ፣ 260 ፣ 60 ፣ 60 ፣ RED) ይሳሉ ፤ tft.fillRect (0 ፣ 200 ፣ 60 ፣ 60 ፣ ጥቁር); tft.fillRect (0 ፣ 140 ፣ 60 ፣ 60 ፣ ጥቁር); tft.fillRect (0 ፣ 80 ፣ 60 ፣ 60 ፣ ጥቁር); // ሦስተኛ ዓምድ tft.fillRect (120 ፣ 260 ፣ 60 ፣ 60 ፣ አረንጓዴ) ይሳሉ። tft.fillRect (120 ፣ 200 ፣ 60 ፣ 60 ፣ ጥቁር); tft.fillRect (120 ፣ 140 ፣ 60 ፣ 60 ፣ ጥቁር); tft.fillRect (120 ፣ 80 ፣ 60 ፣ 60 ፣ ጥቁር); // ሴኮንድ እና አራተኛ ዓምድ ለ (int b = 260; b> = 80; b- = 60) {tft.fillRect (180 ፣ ለ ፣ 60 ፣ 60 ፣ BLUE); tft. // ለ (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (ቁ ፣ 80 ፣ 240 ፣ ነጭ) ቀጥ ያሉ መስመሮችን ይሳሉ ፤ // የቁልፍ ሰሌዳ መሰየሚያዎችን ለ (int j = 0; j <4; j ++) {ለ (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i) ፣ 100+(60*) j)); tft.setTextSize (3); tft.setTextColor (ነጭ); tft.println (ምልክት [j] ); }}} ኮዱን ከሰቀሉ በኋላ በማሳያዎ ውስጥ የሚሰራውን ካልኩሌተር እንደኔ ማየት ይችላሉ እና አሁን በዚህ ላይ መሰረታዊ የሂሳብ ስሌቶችን ማከናወን ይችላሉ። ስለዚህ ከ Arduino UNO ጋር የራስዎን ካልኩሌተር በመስራት ይደሰቱ።
የሚመከር:
ርካሽ ስሌት: አርዱዲኖ ከቲቲኤል ተከታታይ ጋር - 3 ደረጃዎች
ርካሽ ኮምፒዩተር አርዱinoኖ ከቲ ቲ ኤል ተከታታይ ጋር - እንደ UNO ያሉ የሙሉ ልኬት አርዱኢኖዎች ዋጋ አብዛኛው የዩኤስቢ በይነገጽ ዋጋ ነው (ማስታወሻ ፣ ይህ በተፃፈበት ጊዜ እውነት ነው ፣ ግን ይህ ከእንግዲህ እውነት አይደለም ፣ ዩኤስቢ አሁን ርካሽ ነው። በሌሎች ምክንያቶች አሁንም ወደ TTL ተከታታይ መሄድ ይፈልጋሉ።)። ያንን ያስወግዱ
የሂሳብ ስሌት የኳንተም መካኒኮች ስሌት 4 ደረጃዎች
የኮምፒዩተር የኳንተም መካኒኮች ስሌት - በኬሚስትሪ እና በፊዚክስ ውስጥ ያሉ የሂሳብ ስሌቶች በአንዳንድ ናሙናዎች ላይ በጣም የሚስቡ ንብረቶችን ሊገልጡ ይችላሉ (በተለይም ለተወሰነ ኦሪጅናል ውህደት የተሻለ ቅልጥፍና ከተደረጉ)። በሂደቱ ውስጥ ፣ ከ d ምክንያቶች በተጨማሪ
BH1715 ን እና አርዱዲኖ ናኖን በመጠቀም የብርሃን ጥንካሬ ስሌት 5 ደረጃዎች
BH1715 ን እና አርዱዲኖ ናኖን በመጠቀም የብርሃን ጥንካሬ ስሌት - ትናንት እኛ በ LCD ማሳያዎች ላይ እንሠራ ነበር ፣ እና በላያቸው ላይ ስንሠራ የብርሃን ጥንካሬ ስሌት አስፈላጊነትን ተገነዘብን። የብርሃን ጥንካሬ በዚህ ዓለም አካላዊ ጎራ ውስጥ ብቻ አስፈላጊ አይደለም ነገር ግን በባዮሎጂው ውስጥ በደንብ የተነገረ ሚና አለው
አርዱዲኖ ለጀማሪዎች - አርዱዲኖ በይነገጽ በ 16x2 ኤልሲዲ ተብራርቷል - 5 ደረጃዎች
አርዱዲኖ ለጀማሪዎች-አርዱዲኖ በይነገጽ ከ 16x2 ኤልሲዲ ጋር አብራርቷል-ሰላም ሁላችሁም ፣ ዛሬ ፣ አርዱዲኖ በኮድ ቀላልነት ምክንያት በጣም ተወዳጅ ሆነ ሁሉም ይቀበላል። ለጀማሪዎች ፣ ለጀማሪዎች እና ለአዲስ ሞዱሉን ሥራ ለማግኘት ገንቢዎች እንኳን። ይህ
አርዱዲኖ እና TFT ማሳያ በመጠቀም እውነተኛ ሰዓት እንዴት እንደሚሠራ - አርዱዲኖ ሜጋ RTC ከ 3.5 ኢንች TFT ማሳያ ጋር - 4 ደረጃዎች
አርዱዲኖ እና TFT ማሳያ በመጠቀም እውነተኛ ሰዓት እንዴት እንደሚሠራ | አርዱዲኖ ሜጋ RTC ከ 3.5 ኢንች TFT ማሳያ ጋር- የእኔን የ Youtube ሰርጥ ይጎብኙ። መግቢያ-- በዚህ ልጥፍ 3.5 ኢንች TFT ን ንኪኪ LCD ን ፣ አርዱዲኖ ሜጋን በመጠቀም “የእውነተኛ ሰዓት ሰዓት” እሠራለሁ። 2560 እና DS3231 RTC ሞዱል…. ከመጀመሩ በፊት… ቪዲዮውን ከዩቲዩብ ጣቢያዬ ይፈትሹ። ማስታወሻ- አርዱይን የሚጠቀሙ ከሆነ