
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Ողջույն, տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես կարելի է հաշվիչ սարքել Arduino Uno- ի միջոցով ՝ 3.5 դյույմանոց TFT LCD սենսորային էկրանով: Այսպիսով, մենք կգրենք ծածկագիր և կբեռնենք այն arduino- ում, որը կցուցադրի հաշվիչի ինտերֆեյսը էկրանին և կպահպանի հպման գործառույթները և տալ հիմնական մաթեմատիկական արտահայտությունների ելքը:
Քայլ 1: Ձեզ անհրաժեշտ բաներ


Այս նախագծի համար ձեզ հարկավոր են հետևյալ իրերը. 3.5 TFT LCD DISPLAYARDUINO UNO
Քայլ 2. Arduino IDE- ում TFT ցուցադրման գրադարանի տեղադրում

Մենք օգտագործում ենք SPFD5408 գրադարանը ՝
arduino հաշվիչի այս կոդը աշխատեցնելու համար: Սա Adafruit- ի փոփոխված գրադարան է և կարող է անթերի աշխատել մեր LCD TFT մոդուլի հետ: Ձեզ համար շատ կարևոր է տեղադրել այս գրադարանը ձեր Arduino IDE- ում կամ այս ծրագիրը ՝ առանց որևէ սխալի կազմելու: Այս գրադարանը տեղադրելու համար կարող եք պարզապես սեղմել վերևի հղման վրա, որը ձեզ կտանի Github էջ: Այնտեղ կտտացրեք կլոն կամ ներբեռնեք և ընտրեք «Ներբեռնել ZIP»: Կբեռնվի ZIP ֆայլ: Այժմ բացեք Arduino IDE- ն և ընտրեք Էսքիզ -> Ներառել Librarey -> Ավելացնել. ZIP գրադարան: Բրաուզերի պատուհանը կբացվի նավարկելու դեպի ZIP ֆայլ և կտտացրեք «Լավ»: Դուք պետք է նկատեք «Ձեր գրադարաններին ավելացված գրադարան» Արդուինոյի ներքևի ձախ անկյունում:
Քայլ 3: Վերբեռնեք Հաշվիչի ծածկագիրը


Գրադարանը տեղադրելուց հետո էկրանը միացրեք Arduino- ին և պատճենեք հետևյալ ծածկագիրը և վերբեռնեք Arduino- ում: գրադարան#ներառում է «SPFD5408_TouchScreen.h»/*_ Գրադարանների ավարտը _*//*_ Սահմանել LCD կապերը (ես նշանակել եմ կանխադրված արժեքները) _*/#սահմանել YP A1- ը // պետք է լինի անալոգային կապ, օգտագործի «An» նշումը:# սահմանել XM A2 // պետք է լինի անալոգային քորոց, օգտագործի «An» նշումը:#սահմանիր YM 7 // կարող է լինել թվային կապիչ#սահմանել XP 6 // կարող է լինել թվային կապում#սահմանել LCD_CS A3#սահմանել LCD_CD A2#սահմանել LCD_WR A1#սահմանել LCD_RD A0#սահմանել LCD_RESET A4/*_ Սահմանումների ավարտ _*//*_ Անուններ նշանակել գույներին և ճնշմանը _*/#սահմանել ՍՊԻ 0Թ 0x0000 // Սև-> Սպիտակ#սահմանել ԴԵELLԻՆ 0x001F // Կապույտ-> Դեղին#սահմանել CYAN 0xF800 // Red-> Cyan#define PINK 0x07E0 // Կանաչ-> Վարդագույն#սահմանել RED 0x07FF // Cyan-> Կարմիր#սահմանել GREEN 0xF81F // Վարդագույն-> Կանաչ#սահմանել ԿԱԼՈ 0 0xFFE0 // Դեղին- > Կապույտ#սահմանել ՍԵՎ 0xFFFF // Սպիտակ-> Սև#սահմանել MINPRESSURE 10#սահմանել MAXPRESSURE 1000/*_ Նշանակվել է _*//*_ Կալիբրացնել TFT LCD _*/#սահմանել TS_MINX 125#սահմանել TS_MINY 85#սահմանել TS_MAXX 965#սահմանել TS_X _ Կալիբրացիայի ավարտ _*/TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300); // 300 է զգայունությունը Adafruit_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; երկար Num1, Num2, Number; ագրեսիվ գործողություն; բուլյան արդյունք = կեղծ; void setup () {Serial.begin (9600); // Օգտագործեք սերիական մոնիտոր `tft.reset () կարգաբերման համար // Միշտ զրոյացնել սկզբից tft.begin (0x9341); // Իմ LCD- ն օգտագործում է LIL9341 Ինտերֆեյսի վարորդ IC tft.setRotation (2); // Ես պարզապես պտտվեցի այնպես, որ հոսանքի վարդակը երևա դեպի վեր - ըստ ցանկության tft.fillScreen (WHITE); IntroScreen (); draw_BoxNButtons (); } void loop () {TSPoint p = waitTouch (); X = p.y; Y = p.x; // Serial.print (X); Serial.print (','); Serial.println (Y); // + "" + Y); DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); ուշացում (300);} TSPoint waitTouch () {TSPoint p; անել {p = ts.getPoint (); pinMode (XM, OUTPUT); pinMode (YP, OUTPUT); } while ((p.z MAXPRESSURE)); p.x = քարտեզ (p.x, TS_MINX, TS_MAXX, 0, 320); p.y = քարտեզ (p.y, TS_MINY, TS_MAXY, 0, 240);; վերադարձնել p;} void DetectButtons () {if (X0) // Կոճակների հայտնաբերում 1 -ին սյունակում {if (Y> 0 && Y <85) // Եթե չեղյալ հայտարարել կոճակը սեղմված է {Serial.println ("Button Cancel"); Թիվ = Num1 = Num2 = 0; արդյունք = կեղծ;} եթե (Y> 85 && Y <140) // Եթե կոճակը 1 սեղմված է {Serial.println ("Button 1"); եթե (Թիվ == 0) Թիվ = 1; else Number = (Number*10) + 1; // Երկու անգամ սեղմված} if (Y> 140 && Y <192) // Եթե 4 կոճակը սեղմված է {Serial.println ("կոճակ 4"); եթե (Թիվ == 0) Թիվ = 4; else Number = (Number*10) + 4; // Երկու անգամ սեղմված} if (Y> 192 && Y <245) // Եթե 7 կոճակը սեղմված է {Serial.println ("Button 7"); եթե (Թիվ == 0) Թիվ = 7; else Number = (Number*10) + 7; // Երկու անգամ սեղմված}} if (X50) // Կոճակների հայտնաբերում 2 -րդ սյունակում {if (Y> 0 && Y <85) {Serial.println ("Button 0"); // Կոճակը 0 սեղմված է, եթե (Թիվ == 0) Թիվ = 0; else Number = (Number*10) + 0; // Երկու անգամ սեղմված} if (Y> 85 && Y <140) {Serial.println («Կոճակ 2»); եթե (Թիվ == 0) Թիվ = 2; else Number = (Number*10) + 2; // Երկու անգամ սեղմված} if (Y> 140 && Y <192) {Serial.println («Կոճակ 5»); եթե (Թիվ == 0) Թիվ = 5; else Number = (Number*10) + 5; // Սեղմված է twic} if (Y> 192 && Y <245) {Serial.println («Կոճակ 8»); եթե (Թիվ == 0) Թիվ = 8; else Number = (Number*10) + 8; // Սեղմված է twic}} if (X105) // 3 -րդ սյունակում կոճակների հայտնաբերում {if (Y> 0 && Y <85) {Serial.println ("Button Equal"); Num2 = համար; արդյունք = ճշմարիտ; } if (Y> 85 && Y <140) {Serial.println («Կոճակ 3»); եթե (Թիվ == 0) Թիվ = 3; else Number = (Number*10) + 3; // Երկու անգամ սեղմված} if (Y> 140 && Y <192) {Serial.println («Կոճակ 6»); եթե (Թիվ == 0) Թիվ = 6; else Number = (Number*10) + 6; // Երկու անգամ սեղմված} if (Y> 192 && Y <245) {Serial.println («Կոճակ 9»); եթե (Թիվ == 0) Թիվ = 9; else Number = (Number*10) + 9; // Երկու անգամ սեղմված}} if (X165) // 3 -րդ սյունակում կոճակների հայտնաբերում {Num1 = համար; Թիվ = 0; tft.setCursor (200, 20); tft.setTextColor (ԿԱՐՄԻՐ); if (Y> 0 && Y <85) {Serial.println («Լրացում»); գործողություն = 1; tft.println ('+');} if (Y> 85 && Y <140) {Serial.println ("Հանում"); գործողություն = 2; tft.println ('-');} if (Y> 140 && Y <192) {Serial.println ("Բազմապատկում"); գործողություն = 3; tft.println ('*');} if (Y> 192 && Y <245) {Serial.println ("Devesion"); գործողություն = 4; tft.println ('/');} ուշացում (300); }} void CalculateResult () {if (action == 1) Number = Num1+Num2; եթե (գործողություն == 2) Թիվ = Num1-Num2; եթե (գործողություն == 3) Թիվ = Num1*Num2; եթե (գործողություն == 4) Թիվ = Num1/Num2; } void DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // մաքրել արդյունքի տուփ tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (ՍԵՎ); tft.println (համարը); // թարմացնել նոր արժեքը} void IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (ԿԱՐՄԻՐ); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("Հաշվիչ"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (Կապույտ); tft.println ("-Circut Digest"); ուշացում (1800);} void draw_BoxNButtons () {// Ոչ ոքի արդյունքների տուփ tft.fillRect (0, 0, 240, 80, CYAN); // Նկարել առաջին սյունակը tft.fillRect (0, 260, 60, 60, ԿԱՐՄԻՐ); 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, ՍԵՎ); // Draw Secound & Fourth Column for (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLUE); tft.fillRect (60, b, 60, 60, BLACK);} // Draw Horizontal Lines for (int h = 80; h <= 320; h+= 60) tft.drawFastHLine (0, h, 240, WHITE); // Նկարեք ուղղահայաց գծեր (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (v, 80, 240, WHITE); // Displayուցադրել ստեղնաշարի պիտակներ (int j = 0; j <4; j ++) {for (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i), 100+(60* ժ)); tft.setTextSize (3); tft.setTextColor (Սպիտակ); tft.println (խորհրդանիշ [j] ); }}} Կոդը վերբեռնելուց հետո դուք կկարողանաք տեսնել ձեր էկրանին աշխատող հաշվիչը որպես իմը, և այժմ կարող եք դրա վրա կատարել հիմնական մաթեմատիկական հաշվարկներ: Այնպես որ, զվարճացեք, պատրաստելով ձեր սեփական հաշվիչը Arduino UNO- ի հետ:
Խորհուրդ ենք տալիս:
Arduino Touchscreen Հաշվիչ ՝ 7 քայլ

Arduino Touchscreen Հաշվիչ. Բարև: Սա Arduino Uno- ի և TFT LCD վահանի միջոցով սենսորային հաշվիչ ստեղծելու նախագիծ է: Ես մշակեցի իմ տնային ծրագրավորման դասի հայեցակարգը, և այս նախագիծը կառուցելու փորձը շատ հետաքրքիր էր: Այս հաշվիչը կարող է
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 քայլ

Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project. Flappy Bird- ը շատ տարածված խաղ էր այնտեղ մի քանի տարի անց, և շատ մարդիկ այն ստեղծեցին իրենց ձևով, այնպես էլ ես: Սենսորային էկրան SPFD5408, ուստի եկեք սկսենք
BluBerriSix - TFT TouchScreen / Arduino ձեռնարկ. 12 քայլ (նկարներով)

BluBerriSix - TFT TouchScreen / Arduino ձեռնարկ. 2019 -ը RIM Blackberry 850 -ի 20 -ամյակն է: Կանադայի այս փոքրիկ գյուտը փոխեց աշխարհի հաղորդակցության ձևը: Այն վաղուց անցել է, բայց նրա ժառանգությունը շարունակվում է: Այս ուսանելի դասում դուք կսովորեք, թե ինչպես օգտագործել MCUfriend.com 2.4 " TFT- ի ցուցադրում
Սոցիալական մեդիայի հաշվիչ ESP8266- ով և TFT- ով ՝ 10 քայլ

Սոցիալական մեդիա հաշվիչ ESP8266 և TFT- ով
Arduino Uno. Bitmap Animation ILI9341 TFT Touchscreen Display Shield With Visuino. 12 քայլ (նկարներով)

Arduino Uno. Bitmap Animation on ILI9341 TFT Touchscreen Display Shield With Visuino. ILI9341 based TFT Touchscreen Display Shields are very popular low cost Display Shields for Arduino. Visuino- ն նրանց աջակցում էր բավականին երկար ժամանակ, բայց ես երբեք առիթ չեմ ունեցել գրել դրանք օգտագործելու վերաբերյալ ձեռնարկ: Վերջերս, սակայն, քչերն էին հարցնում