![Arduino TFT LCD érintőképernyős számológép: 3 lépés Arduino TFT LCD érintőképernyős számológép: 3 lépés](https://i.howwhatproduce.com/images/001/image-2156-21-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
![Arduino TFT LCD érintőképernyős számológép Arduino TFT LCD érintőképernyős számológép](https://i.howwhatproduce.com/images/001/image-2156-22-j.webp)
Sziasztok, srácok, ebben az oktatóanyagban megtanuljuk, hogyan kell számológépet készíteni az Arduino Uno segítségével, 3,5 hüvelykes TFT LCD érintőképernyővel. Tehát írunk egy kódot, és feltöltjük az arduino -ba, amely megjeleníti a számológép felületét a kijelzőn, és érintési funkciókkal rendelkezik. adja meg az alapvető matematikai kifejezések kimenetét.
1. lépés: A szükséges dolgok
![A szükséges dolgok A szükséges dolgok](https://i.howwhatproduce.com/images/001/image-2156-23-j.webp)
![A szükséges dolgok A szükséges dolgok](https://i.howwhatproduce.com/images/001/image-2156-24-j.webp)
Ehhez a projekthez a következőkre lesz szüksége: 3,5 hüvelykes TFT LCD DISPLAYARDUINO UNO
2. lépés: A TFT kijelzőkönyvtár telepítése az Arduino IDE -be
![TFT kijelzőkönyvtár telepítése Arduino IDE -be TFT kijelzőkönyvtár telepítése Arduino IDE -be](https://i.howwhatproduce.com/images/001/image-2156-25-j.webp)
Az SPFD5408 könyvtárat használjuk:
hogy ez az arduino számológép kódja működjön. Ez az Adafruit módosított könyvtára, és zökkenőmentesen működhet az LCD TFT modulunkkal. Nagyon fontos, hogy telepítse ezt a könyvtárat az Arduino IDE -be vagy ebbe a programba, hogy hiba nélkül lefordítsa. A könyvtár telepítéséhez egyszerűen kattintson a fenti linkre, amely egy Github oldalra visz. Kattintson a klónozás vagy letöltés lehetőségre, és válassza a „Letöltés ZIP” lehetőséget. Egy zip fájl letöltődik. Most nyissa meg az Arduino IDE -t, és válassza a Sketch -> Include Librarey -> Add. ZIP library lehetőséget. Megnyílik egy böngészőablak, keresse meg a ZIP fájlt, és kattintson az „OK” gombra. Észre kell vennie a „Könyvtár hozzáadva a könyvtárakhoz” lehetőséget az Arduino bal alsó sarkában.
3. lépés: Töltse fel a számológép kódját
![Töltse fel a számológép kódját Töltse fel a számológép kódját](https://i.howwhatproduce.com/images/001/image-2156-26-j.webp)
![Töltse fel a számológép kódját Töltse fel a számológép kódját](https://i.howwhatproduce.com/images/001/image-2156-27-j.webp)
A könyvtár telepítése után csatlakoztassa a kijelzőt az Arduino-hoz, és másolja ki a következő kódot, majd töltse fel az Arduino-ba. library#include "SPFD5408_TouchScreen.h"/*_ Könyvtárak vége _*//*_ Definiálja az LCD csapokat (az alapértelmezett értékeket hozzárendeltem) _*/#define YP A1 // analóg tűnek kell lennie, használjon "An" jelölést!# define XM A2 // analóg pin -nek kell lennie, használjon "An" jelölést! #define YM 7 // lehet digitális pin#define XP 6 // lehet digitális pin#define LCD_CS A3#define LCD_CD A2#define LCD_WR A1#határozza meg LCD_RD A0#határozza meg LCD_RESET A4/*_ A defaníciók vége _*//*_ Nevek hozzárendelése a színekhez és a nyomáshoz _*/#define WHITE 0x0000 // Fekete-> Fehér#define SÁRGA 0x001F // Kék-> Sárga#define CYAN 0xF800 // Piros-> cián#definiál PINK 0x07E0 // zöld-> rózsaszín#definiál RED 0x07FF // cián-> piros#definiál ZÖLD 0xF81F // rózsaszín-> zöld #define BLUE 0xFFE0 // sárga- > Kék#definiál FEKETE 0xFFFF // Fehér-> Fekete#definiál MINPRESSURE 10#define MAXPRESSURE 1000/*_ Hozzárendelve _*//*_ TFT LCD kalibrálása _*/#define TS_MINX 125#define TS_MINY 85#define TS_MAXX 965#define TS_MAXY 905/* _Kalibrálás vége _*/Érintőképernyő ts = Érintőképernyő (XP, YP, XM, YM, 300); // 300 az érzékenységAdafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); // Kommunikáció indítása LCDString szimbólummal [4] [4] = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X, Y; hosszú Num1, Num2, Number; char akció; logikai eredmény = hamis; void setup () {Serial.begin (9600); // Soros monitor használata hibakereséshez tft.reset (); // Mindig alaphelyzetbe állítás tft.begin (0x9341); // Az LCD -m LIL9341 Interface driver IC tft.setRotation (2); // Csak úgy pörögtem, hogy a tápcsatlakozó felfelé nézzen - opcionális tft.fillScreen (WHITE); IntroScreen (); draw_BoxNButtons (); } void loop () {TSPoint p = waitTouch (); X = p.y; Y = p.x; // Sorozatnyomat (X); Serial.print (','); Serial.println (Y); // + "" + Y); DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); delay (300);} TSPoint waitTouch () {TSPoint p; do {p = ts.getPoint (); pinMode (XM, OUTPUT); pinMode (YP, OUTPUT); } while ((p.z MAXPRESSURE)); p.x = térkép (p.x, TS_MINX, TS_MAXX, 0, 320); p.y = térkép (p.y., TS_MINY, TS_MAXY, 0, 240);; return p;} void DetectButtons () {if (X0) // Gombok észlelése az 1. oszlopban {if (Y> 0 && Y <85) // Ha a Mégse gombot megnyomják {Serial.println ("Button Cancel"); Szám = Szám1 = Szám2 = 0; eredmény = hamis;} if (Y> 85 && Y <140) // Ha megnyomja az 1 gombot {Serial.println ("Button 1"); if (Szám == 0) Szám = 1; else Szám = (Szám*10) + 1; // Kétszer megnyomva} if (Y> 140 && Y <192) // Ha megnyomja a 4 gombot {Serial.println ("Button 4"); if (Szám == 0) Szám = 4; else Szám = (Szám*10) + 4; // kétszer megnyomva} if (Y> 192 && Y <245) // Ha megnyomja a 7 gombot {Serial.println ("7 -es gomb"); if (Szám == 0) Szám = 7; else Szám = (Szám*10) + 7; // kétszer megnyomva}} if (X50) // Gombok észlelése a 2. oszlopban {if (Y> 0 && Y <85) {Serial.println ("0 gomb"); // A 0 gombot megnyomja, ha (Szám == 0) Szám = 0; else Szám = (Szám*10) + 0; // kétszer megnyomva} if (Y> 85 && Y <140) {Serial.println ("Button 2"); if (Szám == 0) Szám = 2; else Szám = (Szám*10) + 2; // kétszer megnyomva} if (Y> 140 && Y <192) {Serial.println ("5. gomb"); if (Szám == 0) Szám = 5; else Szám = (Szám*10) + 5; // kétszer megnyomva} if (Y> 192 && Y <245) {Serial.println ("8. gomb"); if (Szám == 0) Szám = 8; else Szám = (Szám*10) + 8; // kétszer megnyomva}} if (X105) // Gombok észlelése a 3. oszlopban {if (Y> 0 && Y <85) {Serial.println ("Button Equal"); Num2 = Szám; eredmény = igaz; } if (Y> 85 && Y <140) {Serial.println ("3. gomb"); if (Szám == 0) Szám = 3; else Szám = (Szám*10) + 3; // kétszer megnyomva} if (Y> 140 && Y <192) {Serial.println ("6. gomb"); if (Szám == 0) Szám = 6; else Szám = (Szám*10) + 6; // kétszer megnyomva} if (Y> 192 && Y <245) {Serial.println ("9. gomb"); if (Szám == 0) Szám = 9; else Szám = (Szám*10) + 9; // kétszer megnyomva}} if (X165) // Gombok észlelése a 3. oszlopban {Num1 = Szám; Szám = 0; tft.setCursor (200, 20); tft.setTextColor (PIROS); if (Y> 0 && Y <85) {Serial.println ("Kiegészítés"); akció = 1; tft.println ('+');} if (Y> 85 && Y <140) {Serial.println ("Kivonás"); akció = 2; tft.println ('-');} if (Y> 140 && Y <192) {Serial.println ("Szorzás"); akció = 3; tft.println ('*');} if (Y> 192 && Y <245) {Serial.println ("Devesion"); akció = 4; tft.println ('/');} késleltetés (300); }} void CalculateResult () {if (action == 1) Number = Num1+Num2; if (akció == 2) Szám = Szám1-Szám2; if (akció == 3) Szám = Szám1*Szám2; if (akció == 4) Szám = Num1/Num2; } void DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // az eredménydoboz törlése tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (FEKETE); tft.println (Szám); // frissítse az új értéket} void IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (PIROS); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("KALKULÁTOR"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (KÉK); tft.println ("-Circut Digest"); delay (1800);} void draw_BoxNButtons () {// Rajzolja meg az eredménydobozt tft.fillRect (0, 0, 240, 80, CYAN); // Első oszlop rajzolása tft.fillRect (0, 260, 60, 60, RED); tft.fillRect (0, 200, 60, 60, FEKETE); tft.fillRect (0, 140, 60, 60, FEKETE); tft.fillRect (0, 80, 60, 60, FEKETE); // Harmadik oszlop rajzolása tft.fillRect (120, 260, 60, 60, GREEN); tft.fillRect (120, 200, 60, 60, FEKETE); tft.fillRect (120, 140, 60, 60, FEKETE); tft.fillRect (120, 80, 60, 60, FEKETE); // Secound & negyedik oszlop rajzolása a következőhöz: (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLUE); tft.fillRect (60, b, 60, 60, BLACK);} // Vízszintes vonalak rajzolása (int h = 80; h <= 320; h+= 60) tft.drawFastHLine (0, h, 240, WHITE); // Függőleges vonalak rajzolása (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (v, 80, 240, WHITE); // A billentyűzet címkéinek megjelenítése (int j = 0; j <4; j ++) {esetén (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i), 100+(60*) j)); tft.setTextSize (3); tft.setTextColor (FEHÉR); tft.println (szimbólum [j] ); }}} A kód feltöltése után az enyémként láthatja a kijelzőn futó számológépet, és most elvégezheti az alapvető matematikai számításokat. Érezze jól magát, hogy saját számológépét készítse el az Arduino UNO segítségével.
Ajánlott:
Arduino érintőképernyős számológép: 7 lépés
![Arduino érintőképernyős számológép: 7 lépés Arduino érintőképernyős számológép: 7 lépés](https://i.howwhatproduce.com/images/001/image-1525-101-j.webp)
Arduino érintőképernyős számológép: Hello! Ez a projekt egy érintőképernyős számológép készítése Arduino Uno és TFT LCD pajzs használatával. Az otthoni iskolai programozási órámhoz találtam ki a koncepciót, és a projekt felépítésében szerzett tapasztalatok nagyon érdekesek voltak. Ez a számológép kb
Arduino Flappy Bird - Arduino 2,4 hüvelykes TFT érintőképernyős SPFD5408 madárjáték -projekt: 3 lépés
![Arduino Flappy Bird - Arduino 2,4 hüvelykes TFT érintőképernyős SPFD5408 madárjáték -projekt: 3 lépés Arduino Flappy Bird - Arduino 2,4 hüvelykes TFT érintőképernyős SPFD5408 madárjáték -projekt: 3 lépés](https://i.howwhatproduce.com/images/001/image-1604-29-j.webp)
Arduino Flappy Bird | Arduino 2,4 hüvelykes TFT érintőképernyős SPFD5408 madárjáték -projekt: A Flappy Bird néhány év alatt túl népszerű játék volt ott, és sokan a maguk módján alkották meg, én is, én készítettem a flappy bird verzióját Arduino -val és az olcsó 2,4 "TFT -vel Érintőképernyő SPFD5408, Tehát kezdjük
Hogyan kell használni a billentyűzetet és az LCD -t az Arduino -val az Arduino számológép elkészítéséhez: 5 lépés
![Hogyan kell használni a billentyűzetet és az LCD -t az Arduino -val az Arduino számológép elkészítéséhez: 5 lépés Hogyan kell használni a billentyűzetet és az LCD -t az Arduino -val az Arduino számológép elkészítéséhez: 5 lépés](https://i.howwhatproduce.com/images/005/image-13111-19-j.webp)
Hogyan kell használni a billentyűzetet és az LCD -t az Arduino -val az Arduino -számológép elkészítéséhez: Ebben az oktatóanyagban megosztom, hogyan használhatja a 4x4 -es mátrix billentyűzetet és a 16x2 -es LCD -t az Arduino -val, és hogyan készítheti el egy egyszerű Arduino -számológépet. Tehát kezdjük
Arduino TFT érintőképernyős ajtózár: 5 lépés
![Arduino TFT érintőképernyős ajtózár: 5 lépés Arduino TFT érintőképernyős ajtózár: 5 lépés](https://i.howwhatproduce.com/images/006/image-17582-5-j.webp)
Arduino TFT érintőképernyős ajtózár: Ez az első utasítható. Ez a projekt az Arduino és egy 2,8 " TFT érintőképernyő jelszavas vázlattal, hogy aktiváljon egy relét, amely megszakítja az áramkört a mágneses ajtóhoz. Háttérben az ajtón lévő RFID zár elromlott ahelyett, hogy újra bekötné az
Arduino Uno: Bitmap animáció az ILI9341 TFT érintőképernyős kijelzővédőn Visuino -val: 12 lépés (képekkel)
![Arduino Uno: Bitmap animáció az ILI9341 TFT érintőképernyős kijelzővédőn Visuino -val: 12 lépés (képekkel) Arduino Uno: Bitmap animáció az ILI9341 TFT érintőképernyős kijelzővédőn Visuino -val: 12 lépés (képekkel)](https://i.howwhatproduce.com/images/004/image-9541-17-j.webp)
Arduino Uno: Bitmap animáció ILI9341 TFT érintőképernyős kijelzővédővel Visuino -val: Az ILI9341 alapú TFT érintőképernyős kijelzőpajzsok nagyon népszerűek olcsó kijelzőpajzsok az Arduino számára. Visuino már régóta támogatja őket, de soha nem volt alkalmam leírást készíteni a használatukról. A közelmúltban azonban kevesen kérdezték