Indholdsfortegnelse:
- Trin 1: Ting du har brug for
- Trin 2: Installation af TFT Display Library i Arduino IDE
- Trin 3: Upload regnemaskinkoden
![Arduino TFT LCD Touchscreen Calculator: 3 trin Arduino TFT LCD Touchscreen Calculator: 3 trin](https://i.howwhatproduce.com/images/001/image-2156-21-j.webp)
Video: Arduino TFT LCD Touchscreen Calculator: 3 trin
![Video: Arduino TFT LCD Touchscreen Calculator: 3 trin Video: Arduino TFT LCD Touchscreen Calculator: 3 trin](https://i.ytimg.com/vi/m7ozvSZElZs/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
![Arduino TFT LCD Touchscreen Calculator Arduino TFT LCD Touchscreen Calculator](https://i.howwhatproduce.com/images/001/image-2156-22-j.webp)
Hej Guys i denne instruks vil vi lære at lave en lommeregner ved hjælp af Arduino Uno med 3,5 TFT LCD Touchscreen display. Så vi skriver en kode og uploader den til arduino, som viser lommeregnerens grænseflade på displayet og tager berøringsfunktionalitet og give output af grundlæggende matematiske udtryk.
Trin 1: Ting du har brug for
![Ting du har brug for Ting du har brug for](https://i.howwhatproduce.com/images/001/image-2156-23-j.webp)
![Ting du har brug for Ting du har brug for](https://i.howwhatproduce.com/images/001/image-2156-24-j.webp)
Til dette projekt skal du bruge følgende ting: 3,5 TFT LCD DISPLAYARDUINO UNO
Trin 2: Installation af TFT Display Library i Arduino IDE
![Installation af TFT -skærmbibliotek i Arduino IDE Installation af TFT -skærmbibliotek i Arduino IDE](https://i.howwhatproduce.com/images/001/image-2156-25-j.webp)
Vi bruger SPFD5408 -biblioteket:
for at få denne arduino -lommeregnerkode til at fungere. Dette er et modificeret bibliotek af Adafruit og kan fungere problemfrit med vores LCD TFT -modul. Det er meget vigtigt for dig at installere dette bibliotek i din Arduino IDE eller dette program til at kompilere uden fejl. For at installere dette bibliotek kan du blot klikke på linket ovenfor, som fører dig til en Github -side. Klik der på klon eller download, og vælg "Download ZIP". En zip -fil vil blive downloadet. Nu skal du åbne Arduino IDE og vælge Sketch -> Include Librarey -> Add. ZIP library. Et browservindue åbnes, naviger til ZIP -filen og klik på "OK". Du bør bemærke "Bibliotek tilføjet til dine biblioteker" i nederste venstre hjørne af Arduino.
Trin 3: Upload regnemaskinkoden
![Upload lommeregner -koden Upload lommeregner -koden](https://i.howwhatproduce.com/images/001/image-2156-26-j.webp)
![Upload lommeregner -koden Upload lommeregner -koden](https://i.howwhatproduce.com/images/001/image-2156-27-j.webp)
Efter installation af biblioteket skal du slutte skærmen til Arduino og kopiere følgende kode og uploade den til Arduino. bibliotek#inkluderer "SPFD5408_TouchScreen.h"/*_ End of Libraries _*//*_ Definer LCD -ben (jeg har tildelt standardværdierne) _*/#definer YP A1 // skal være en analog pin, brug "En" notation!# definere XM A2 // skal være en analog pin, brug "En" notation! #define YM 7 // kan være en digital pin#definere XP 6 // kan være en digital pin#definere LCD_CS A3#definere LCD_CD A2#definere LCD_WR A1#definere LCD_RD A0#definere LCD_RESET A4/*_ Slut på defanitions _*//*_ Tildel navne til farver og tryk _*/#definere HVID 0x0000 // Sort-> Hvid#definere GUL 0x001F // Blå-> Gul#definere CYAN 0xF800 // Rød-> Cyan#definer PINK 0x07E0 // Grøn-> Pink#definer RØD 0x07FF // Cyan-> Rød#definere GRØN 0xF81F // Pink-> Grøn #define BLÅ 0xFFE0 // Gul- > Blå#definere SORT 0xFFFF // Hvid-> Sort#definere MINPRESSURE 10#definere MAXPRESSURE 1000/*_ Tildelt _*//*_ Kalibrer TFT LCD _*/#definere TS_MINX 125#definere TS_MINY 85#definere TS_MAXX 965#definere TS_MAXY 905/* _ End of Calibration _*/TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300); // 300 er følsomhedenAdafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); // Start kommunikation med LCDString -symbolet [4] [4] = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X, Y; langt Num1, Num2, Tal; char handling; boolsk resultat = falsk; ugyldig opsætning () {Serial.begin (9600); // Brug seriel skærm til fejlfinding af tft.reset (); // Nulstil altid ved start tft.begin (0x9341); // Mit LCD bruger LIL9341 Interface driver IC tft.setRotation (2); // Jeg har lige roated, så strømstikket vender opad - valgfri 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 (); forsinkelse (300);} TSPoint waitTouch () {TSPoint p; gør {p = ts.getPoint (); pinMode (XM, OUTPUT); pinMode (YP, OUTPUT); } mens ((s. MAXPRESSURE)); p.x = kort (p.x, TS_MINX, TS_MAXX, 0, 320); p.y = map (p.y, TS_MINY, TS_MAXY, 0, 240);; return p;} void DetectButtons () {if (X0) // Detecting Buttons on Column 1 {if (Y> 0 && Y <85) // Hvis der trykkes på annulleringsknappen {Serial.println ("Button Cancel"); Tal = Num1 = Num2 = 0; resultat = falsk;} hvis (Y> 85 && Y <140) // Hvis der trykkes på knap 1 {Serial.println ("Knap 1"); hvis (tal == 0) tal = 1; ellers Tal = (Tal*10) + 1; // Tryk to gange} hvis (Y> 140 && Y <192) // Hvis der trykkes på knap 4 {Serial.println ("knap 4"); hvis (tal == 0) tal = 4; ellers Tal = (Tal*10) + 4; // Tryk to gange} hvis (Y> 192 && Y <245) // Hvis der trykkes på knap 7 {Serial.println ("knap 7"); hvis (tal == 0) tal = 7; ellers Tal = (Tal*10) + 7; // Tryk to gange}} hvis (X50) // Registrering af knapper i kolonne 2 {if (Y> 0 && Y <85) {Serial.println ("Knap 0"); // Knap 0 trykkes, hvis (Tal == 0) Tal = 0; ellers Tal = (Tal*10) + 0; // Tryk to gange} hvis (Y> 85 && Y <140) {Serial.println ("Knap 2"); hvis (tal == 0) tal = 2; ellers Tal = (Tal*10) + 2; // Trykt to gange} hvis (Y> 140 && Y <192) {Serial.println ("Knap 5"); hvis (tal == 0) tal = 5; ellers Tal = (Tal*10) + 5; // Trykt to gange} hvis (Y> 192 && Y <245) {Serial.println ("Knap 8"); hvis (tal == 0) tal = 8; ellers Tal = (Tal*10) + 8; // Trykt to gange}} hvis (X105) // Registrering af knapper i kolonne 3 {if (Y> 0 && Y <85) {Serial.println ("Button Equal"); Num2 = Tal; resultat = sandt; } hvis (Y> 85 && Y <140) {Serial.println ("Knap 3"); hvis (tal == 0) tal = 3; ellers Tal = (Tal*10) + 3; // Trykt to gange} hvis (Y> 140 && Y <192) {Serial.println ("Knap 6"); hvis (tal == 0) tal = 6; ellers Tal = (Tal*10) + 6; // Tryk to gange} hvis (Y> 192 && Y <245) {Serial.println ("Knap 9"); hvis (tal == 0) tal = 9; ellers Tal = (Tal*10) + 9; // Tryk to gange}} hvis (X165) // Registrering af knapper i kolonne 3 {Num1 = Number; Antal = 0; tft.setCursor (200, 20); tft.setTextColor (RØD); hvis (Y> 0 && Y <85) {Serial.println ("tilføjelse"); handling = 1; tft.println ('+');} hvis (Y> 85 && Y <140) {Serial.println ("Subtraktion"); handling = 2; tft.println ('-');} if (Y> 140 && Y <192) {Serial.println ("Multiplikation"); handling = 3; tft.println ('*');} hvis (Y> 192 && Y <245) {Serial.println ("Devesion"); handling = 4; tft.println ('/');} forsinkelse (300); }} void CalculateResult () {if (action == 1) Number = Num1+Num2; hvis (handling == 2) Tal = Num1-Num2; hvis (handling == 3) Tal = Num1*Num2; hvis (handling == 4) Tal = Num1/Num2; } ugyldig DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // ryd resultatboks tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (SORT); tft.println (tal); // opdater ny værdi} void IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (RØD); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("BEREGNER"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (BLÅ); tft.println ("-Circut Digest"); forsinkelse (1800);} void draw_BoxNButtons () {// Tegn resultatboksen tft.fillRect (0, 0, 240, 80, CYAN); // Tegn første kolonne tft.fillRect (0, 260, 60, 60, RØD); tft.fillRect (0, 200, 60, 60, SORT); tft.fillRect (0, 140, 60, 60, SORT); tft.fillRect (0, 80, 60, 60, SORT); // Tegn tredje kolonne tft.fillRect (120, 260, 60, 60, GRØN); tft.fillRect (120, 200, 60, 60, SORT); tft.fillRect (120, 140, 60, 60, SORT); tft.fillRect (120, 80, 60, 60, SORT); // Tegn sekund og fjerde kolonne for (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLÅ); tft.fillRect (60, b, 60, 60, SORT);} // Tegn vandrette linjer for (int h = 80; h <= 320; h+= 60) tft.drawFastHLine (0, h, 240, WHITE); // Tegn lodrette linjer for (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (v, 80, 240, WHITE); // Vis tastaturetiketter for (int j = 0; j <4; j ++) {for (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i), 100+(60* j)); tft.setTextSize (3); tft.setTextColor (HVID); tft.println (symbol [j] ); }}} Efter upload af koden kan du se lommeregneren køre i din skærm som min, og nu kan du udføre grundlæggende matematikberegninger på dette. Så sjov at lave din egen lommeregner med Arduino UNO.
Anbefalede:
Arduino Flappy Bird - Arduino 2,4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 trin
![Arduino Flappy Bird - Arduino 2,4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 trin Arduino Flappy Bird - Arduino 2,4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 trin](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 var for populært spil derude på få år, og mange mennesker skabte det på deres egen måde, det gjorde jeg også, jeg lavede min version af flappy bird med Arduino og den billige 2,4 " TFT Touchscreen SPFD5408, så lad os komme i gang
BluBerriSix - en TFT TouchScreen / Arduino -vejledning: 12 trin (med billeder)
![BluBerriSix - en TFT TouchScreen / Arduino -vejledning: 12 trin (med billeder) BluBerriSix - en TFT TouchScreen / Arduino -vejledning: 12 trin (med billeder)](https://i.howwhatproduce.com/images/004/image-9256-23-j.webp)
BluBerriSix - en TFT TouchScreen / Arduino Tutorial: 2019 er 20 -årsdagen for RIM Blackberry 850! Denne lille canadiske opfindelse ændrede den måde, verden kommunikerer på. Det er for længst gået, men dets arv fortsætter! I denne instrukser lærer du, hvordan du bruger MCUfriend.com 2.4 " TFT dis
Sådan laver du ur i realtid ved hjælp af Arduino og TFT -skærm - Arduino Mega RTC med 3,5 tommer TFT -skærm: 4 trin
![Sådan laver du ur i realtid ved hjælp af Arduino og TFT -skærm - Arduino Mega RTC med 3,5 tommer TFT -skærm: 4 trin Sådan laver du ur i realtid ved hjælp af Arduino og TFT -skærm - Arduino Mega RTC med 3,5 tommer TFT -skærm: 4 trin](https://i.howwhatproduce.com/images/006/image-16956-9-j.webp)
Sådan laver du ur i realtid ved hjælp af Arduino og TFT-skærm | Arduino Mega RTC med 3,5 tommer TFT-skærm: Besøg min Youtube-kanal. Introduktion:- I dette indlæg skal jeg lave “Real time Clock” ved hjælp af 3,5 tommer TFT touch LCD, Arduino Mega 2560 og DS3231 RTC-modul …. Inden start … tjek videoen fra min YouTube-kanal..Bemærk:- Hvis du bruger Arduin
Arduino TFT Touchscreen dørlås: 5 trin
![Arduino TFT Touchscreen dørlås: 5 trin Arduino TFT Touchscreen dørlås: 5 trin](https://i.howwhatproduce.com/images/006/image-17582-5-j.webp)
Arduino TFT Touchscreen Door Lock: Dette er min første instruerbare. Dette projekt bruger Arduino og en 2,8 " TFT -berøringsskærm med en adgangskitsskitse til aktivering af et relæ, der bryder kredsløbet til en maglåsdør. Baggrund gik RFID -låsen på en dør på arbejde i stedet for at genoprette
Arduino Uno: Bitmap -animation på ILI9341 TFT Touchscreen Display Shield With Visuino: 12 trin (med billeder)
![Arduino Uno: Bitmap -animation på ILI9341 TFT Touchscreen Display Shield With Visuino: 12 trin (med billeder) Arduino Uno: Bitmap -animation på ILI9341 TFT Touchscreen Display Shield With Visuino: 12 trin (med billeder)](https://i.howwhatproduce.com/images/004/image-9541-17-j.webp)
Arduino Uno: Bitmap Animation på ILI9341 TFT Touchscreen Display Shield With Visuino: ILI9341 baserede TFT Touchscreen Display Shields er meget populære billige Display Shields til Arduino. Visuino har haft support til dem i et stykke tid, men jeg har aldrig haft mulighed for at skrive en vejledning om, hvordan man bruger dem. For nylig spurgte dog få mennesker