![Arduino TFT LCD Touchscreen Հաշվիչ `3 քայլ Arduino TFT LCD Touchscreen Հաշվիչ `3 քայլ](https://i.howwhatproduce.com/images/001/image-2156-21-j.webp)
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48
![Arduino TFT LCD սենսորային էկրանի հաշվիչ Arduino TFT LCD սենսորային էկրանի հաշվիչ](https://i.howwhatproduce.com/images/001/image-2156-22-j.webp)
Ողջույն, տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես կարելի է հաշվիչ սարքել Arduino Uno- ի միջոցով ՝ 3.5 դյույմանոց TFT LCD սենսորային էկրանով: Այսպիսով, մենք կգրենք ծածկագիր և կբեռնենք այն arduino- ում, որը կցուցադրի հաշվիչի ինտերֆեյսը էկրանին և կպահպանի հպման գործառույթները և տալ հիմնական մաթեմատիկական արտահայտությունների ելքը:
Քայլ 1: Ձեզ անհրաժեշտ բաներ
![Ձեզ անհրաժեշտ բաներ Ձեզ անհրաժեշտ բաներ](https://i.howwhatproduce.com/images/001/image-2156-23-j.webp)
![Ձեզ անհրաժեշտ բաներ Ձեզ անհրաժեշտ բաներ](https://i.howwhatproduce.com/images/001/image-2156-24-j.webp)
Այս նախագծի համար ձեզ հարկավոր են հետևյալ իրերը. 3.5 TFT LCD DISPLAYARDUINO UNO
Քայլ 2. Arduino IDE- ում TFT ցուցադրման գրադարանի տեղադրում
![TFT ցուցադրման գրադարանի տեղադրում Arduino IDE- ում TFT ցուցադրման գրադարանի տեղադրում Arduino IDE- ում](https://i.howwhatproduce.com/images/001/image-2156-25-j.webp)
Մենք օգտագործում ենք SPFD5408 գրադարանը ՝
arduino հաշվիչի այս կոդը աշխատեցնելու համար: Սա Adafruit- ի փոփոխված գրադարան է և կարող է անթերի աշխատել մեր LCD TFT մոդուլի հետ: Ձեզ համար շատ կարևոր է տեղադրել այս գրադարանը ձեր Arduino IDE- ում կամ այս ծրագիրը ՝ առանց որևէ սխալի կազմելու: Այս գրադարանը տեղադրելու համար կարող եք պարզապես սեղմել վերևի հղման վրա, որը ձեզ կտանի Github էջ: Այնտեղ կտտացրեք կլոն կամ ներբեռնեք և ընտրեք «Ներբեռնել ZIP»: Կբեռնվի ZIP ֆայլ: Այժմ բացեք Arduino IDE- ն և ընտրեք Էսքիզ -> Ներառել Librarey -> Ավելացնել. ZIP գրադարան: Բրաուզերի պատուհանը կբացվի նավարկելու դեպի ZIP ֆայլ և կտտացրեք «Լավ»: Դուք պետք է նկատեք «Ձեր գրադարաններին ավելացված գրադարան» Արդուինոյի ներքևի ձախ անկյունում:
Քայլ 3: Վերբեռնեք Հաշվիչի ծածկագիրը
![Վերբեռնեք Հաշվիչի ծածկագիրը Վերբեռնեք Հաշվիչի ծածկագիրը](https://i.howwhatproduce.com/images/001/image-2156-26-j.webp)
![Վերբեռնեք Հաշվիչի ծածկագիրը Վերբեռնեք Հաշվիչի ծածկագիրը](https://i.howwhatproduce.com/images/001/image-2156-27-j.webp)
Գրադարանը տեղադրելուց հետո էկրանը միացրեք 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 Հաշվիչ ՝ 7 քայլ Arduino Touchscreen Հաշվիչ ՝ 7 քայլ](https://i.howwhatproduce.com/images/001/image-1525-101-j.webp)
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: 3 քայլ Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 քայլ](https://i.howwhatproduce.com/images/001/image-1604-29-j.webp)
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project. Flappy Bird- ը շատ տարածված խաղ էր այնտեղ մի քանի տարի անց, և շատ մարդիկ այն ստեղծեցին իրենց ձևով, այնպես էլ ես: Սենսորային էկրան SPFD5408, ուստի եկեք սկսենք
BluBerriSix - TFT TouchScreen / Arduino ձեռնարկ. 12 քայլ (նկարներով)
![BluBerriSix - TFT TouchScreen / Arduino ձեռնարկ. 12 քայլ (նկարներով) BluBerriSix - TFT TouchScreen / Arduino ձեռնարկ. 12 քայլ (նկարներով)](https://i.howwhatproduce.com/images/004/image-9256-23-j.webp)
BluBerriSix - TFT TouchScreen / Arduino ձեռնարկ. 2019 -ը RIM Blackberry 850 -ի 20 -ամյակն է: Կանադայի այս փոքրիկ գյուտը փոխեց աշխարհի հաղորդակցության ձևը: Այն վաղուց անցել է, բայց նրա ժառանգությունը շարունակվում է: Այս ուսանելի դասում դուք կսովորեք, թե ինչպես օգտագործել MCUfriend.com 2.4 " TFT- ի ցուցադրում
Սոցիալական մեդիայի հաշվիչ ESP8266- ով և TFT- ով ՝ 10 քայլ
![Սոցիալական մեդիայի հաշվիչ ESP8266- ով և TFT- ով ՝ 10 քայլ Սոցիալական մեդիայի հաշվիչ ESP8266- ով և TFT- ով ՝ 10 քայլ](https://i.howwhatproduce.com/images/006/image-17930-24-j.webp)
Սոցիալական մեդիա հաշվիչ ESP8266 և TFT- ով
Arduino Uno. Bitmap Animation ILI9341 TFT Touchscreen Display Shield With Visuino. 12 քայլ (նկարներով)
![Arduino Uno. Bitmap Animation ILI9341 TFT Touchscreen Display Shield With Visuino. 12 քայլ (նկարներով) Arduino Uno. Bitmap Animation ILI9341 TFT Touchscreen Display Shield With Visuino. 12 քայլ (նկարներով)](https://i.howwhatproduce.com/images/004/image-9541-17-j.webp)
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- ն նրանց աջակցում էր բավականին երկար ժամանակ, բայց ես երբեք առիթ չեմ ունեցել գրել դրանք օգտագործելու վերաբերյալ ձեռնարկ: Վերջերս, սակայն, քչերն էին հարցնում