Satura rādītājs:
- 1. darbība. Nepieciešamās lietas
- 2. darbība: TFT displeja bibliotēkas instalēšana Arduino IDE
- 3. darbība: augšupielādējiet kalkulatora kodu
Video: Arduino TFT LCD skārienekrāna kalkulators: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Sveiki, puiši, šajā pamācībā mēs iemācīsimies izveidot kalkulatoru, izmantojot Arduino Uno ar 3,5 collu TFT LCD skārienekrāna displeju. Tāpēc mēs uzrakstīsim kodu un augšupielādēsim to arduino, kas displejā parādīs kalkulatora saskarni un izmantos skārienfunkcijas. sniedz matemātisko pamata izteiksmju rezultātu.
1. darbība. Nepieciešamās lietas
Šim projektam jums būs nepieciešamas šādas lietas: 3,5 collu TFT LCD DISPLAYARDUINO UNO
2. darbība: TFT displeja bibliotēkas instalēšana Arduino IDE
Mēs izmantojam SPFD5408 bibliotēku:
lai šis arduino kalkulatora kods darbotos. Šī ir modificēta Adafruit bibliotēka, un tā var nevainojami strādāt ar mūsu LCD TFT moduli. Jums ir ļoti svarīgi instalēt šo bibliotēku savā Arduino IDE vai šajā programmā, lai apkopotu bez kļūdām. Lai instalētu šo bibliotēku, varat vienkārši noklikšķināt uz iepriekš esošās saites, kas jūs aizvedīs uz Github lapu. Tur noklikšķiniet uz klona vai lejupielādējiet un atlasiet “Lejupielādēt ZIP”. Tiks lejupielādēts zip fails. Tagad atveriet Arduino IDE un atlasiet Skice -> Iekļaut Librarey -> Pievienot. ZIP bibliotēku. Tiks atvērts pārlūkprogrammas logs, dodieties uz ZIP failu un noklikšķiniet uz “Labi”. Jums vajadzētu pamanīt “Bibliotēka pievienota jūsu bibliotēkām” Arduino apakšējā kreisajā stūrī.
3. darbība: augšupielādējiet kalkulatora kodu
Pēc bibliotēkas instalēšanas savienojiet displeju ar Arduino un nokopējiet šo kodu un augšupielādējiet to programmā Arduino. bibliotēka#include "SPFD5408_TouchScreen.h"/*_ Bibliotēku beigas _*//*_ Definējiet LCD tapas (esmu piešķīris noklusējuma vērtības) _*/#define YP A1 // jābūt analogajai tapai, izmantojiet apzīmējumu "An"!# definēt XM A2 // jābūt analogajai tapai, izmantojiet apzīmējumu "An"! #define YM 7 // var būt digitālā tapa#definēt XP 6 // var būt digitālā tapa#definēt LCD_CS A3#definēt LCD_CD A2#definēt LCD_WR A1#definēt LCD_RD A0#definēt LCD_RESET A4/*_ Defamācijas beigas _*//*_ Piešķirt nosaukumus krāsām un spiedienam _*/#define WHITE 0x0000 // Black-> White#define YELLOW 0x001F // Blue-> Yellow#define CYAN 0xF800 // Sarkans-> Ciāns#definēt RŪZĪGU 0x07E0 // Zaļš-> Rozā#definēt RED 0x07FF // Ciāns-> Sarkans#definēt GREEN 0xF81F // Rozā-> Zaļš #define BLUE 0xFFE0 // Dzeltens- > Zils#definēt MELNU 0xFFFF // Balts-> Melns#definēt MINPRESSURE 10#definēt MAXPRESSURE 1000/*_ Piešķirts _*//*_ TFT LCD kalibrēšana _*/#definēt TS_MINX 125#definēt TS_MINY 85#definēt TS_MAXX 965#definēt TS_MAXY 905/* _Kalibrēšanas beigas _*/skārienekrāns ts = skārienekrāns (XP, YP, XM, YM, 300); // 300 ir sensitivitāteAdafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); // Sāciet saziņu ar LCDString simbolu [4] [4] = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X, Y; garš Num1, Num2, Skaitlis; char darbība; Būla rezultāts = nepatiess; void setup () {Serial.begin (9600); // Atkļūdošanai izmantojiet seriālo monitoru tft.reset (); // Vienmēr atiestatīt sākumā tft.begin (0x9341); // Mans LCD izmanto LIL9341 saskarnes draiveri IC tft.setRotation (2); // Es tikko rosinājos tā, lai strāvas ligzda būtu vērsta uz augšu - pēc izvēles tft.fillScreen (WHITE); IntroScreen (); draw_BoxNButtons (); } void loop () {TSPoint p = waitTouch (); X = p.y; Y = p.x; // Sērijas nospiedums (X); Serial.print (','); Serial.println (Y); // + "" + Y); DetectButtons (); ja (rezultāts == true) CalculateResult (); DisplayResult (); kavēšanās (300);} TSPoint waitTouch () {TSPoint p; do {p = ts.getPoint (); pinMode (XM, OUTPUT); pinMode (YP, OUTPUT); } while ((p.z MAXPRESSURE)); p.x = karte (p.x, TS_MINX, TS_MAXX, 0, 320); p.y = karte (p.y, TS_MINY, TS_MAXY, 0, 240);; return p;} void DetectButtons () {if (X0) // Pogas noteikšana 1. slejā {if (Y> 0 && Y <85) // Ja atcelšanas poga tiek nospiesta {Serial.println ("Button Cancel"); Skaitlis = Num1 = Num2 = 0; rezultāts = nepatiess;} ja (Y> 85 && Y <140) // Ja tiek nospiesta poga 1 {Serial.println ("Button 1"); ja (Skaitlis == 0) Skaitlis = 1; cits Skaitlis = (Skaitlis*10) + 1; // Nospiež divreiz}, ja (Y> 140 && Y <192) // Ja tiek nospiesta poga 4 {Serial.println ("Poga 4"); ja (Skaitlis == 0) Skaitlis = 4; cits Skaitlis = (Skaitlis*10) + 4; // Nospiež divreiz}, ja (Y> 192 && Y <245) // Ja tiek nospiesta 7. poga {Serial.println ("7. poga"); ja (Skaitlis == 0) Skaitlis = 7; cits Skaitlis = (Skaitlis*10) + 7; // Divreiz nospiests}} if (X50) // Pogas noteikšana 2. slejā {if (Y> 0 && Y <85) {Serial.println ("Poga 0"); // Poga 0 tiek nospiesta, ja (Skaitlis == 0) Skaitlis = 0; cits Skaitlis = (Skaitlis*10) + 0; // Divreiz nospiests} if (Y> 85 && Y <140) {Serial.println ("Poga 2"); ja (Skaitlis == 0) Skaitlis = 2; cits Skaitlis = (Skaitlis*10) + 2; // Divreiz nospiests} if (Y> 140 && Y <192) {Serial.println ("Poga 5"); ja (Skaitlis == 0) Skaitlis = 5; cits Skaitlis = (Skaitlis*10) + 5; // Nospiests divreiz}, ja (Y> 192 && Y <245) {Serial.println ("8. poga"); ja (Skaitlis == 0) Skaitlis = 8; cits Skaitlis = (Skaitlis*10) + 8; // Nospiests divreiz}} if (X105) // Pogas noteikšana 3. slejā {if (Y> 0 && Y <85) {Serial.println ("Button Equal"); Num2 = skaitlis; rezultāts = taisnība; } ja (Y> 85 && Y <140) {Serial.println ("Poga 3"); ja (Skaitlis == 0) Skaitlis = 3; cits Skaitlis = (Skaitlis*10) + 3; // Divreiz nospiests} if (Y> 140 && Y <192) {Serial.println ("6. poga"); ja (Skaitlis == 0) Skaitlis = 6; cits Skaitlis = (Skaitlis*10) + 6; // Divreiz nospiests} if (Y> 192 && Y <245) {Serial.println ("Poga 9"); ja (Skaitlis == 0) Skaitlis = 9; cits Skaitlis = (Skaitlis*10) + 9; // Divreiz nospiests}} if (X165) // Pogas noteikšana 3. slejā {Num1 = Number; Skaitlis = 0; tft.setCursor (200, 20); tft.setTextColor (RED); ja (Y> 0 && Y <85) {Serial.println ("Papildinājums"); darbība = 1; tft.println ('+');} ja (Y> 85 && Y <140) {Serial.println ("Atņemšana"); darbība = 2; tft.println ('-');} ja (Y> 140 && Y <192) {Serial.println ("Reizināšana"); darbība = 3; tft.println ('*');} ja (Y> 192 && Y <245) {Serial.println ("Devesion"); darbība = 4; tft.println ('/');} aizkave (300); }} void CalculateResult () {if (action == 1) Number = Num1+Num2; ja (darbība == 2) Skaitlis = Num1-Num2; ja (darbība == 3) Skaitlis = Num1*Num2; ja (darbība == 4) Skaitlis = Num1/Num2; } void DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // notīrīt rezultātu lodziņu tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (BLACK); tft.println (Skaitlis); // atjaunināt jaunu vērtību} void IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (RED); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("KALKULATORS"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (ZILA); tft.println ("-Circut Digest"); delay (1800);} void draw_BoxNButtons () {// Uzzīmējiet rezultātu lodziņu tft.fillRect (0, 0, 240, 80, CYAN); // Zīmēt pirmo kolonnu tft.fillRect (0, 260, 60, 60, RED); tft.fillRect (0, 200, 60, 60, BLACK); tft.fillRect (0, 140, 60, 60, BLACK); tft.fillRect (0, 80, 60, 60, BLACK); // Zīmēt trešo kolonnu tft.fillRect (120, 260, 60, 60, GREEN); tft.fillRect (120, 200, 60, 60, BLACK); tft.fillRect (120, 140, 60, 60, BLACK); tft.fillRect (120, 80, 60, 60, BLACK); // Zīmēt Secound & Ceturto kolonnu (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLUE); tft.fillRect (60, b, 60, 60, BLACK);} // Zīmēt horizontālās līnijas (int h = 80; h <= 320; h+= 60) tft.drawFastHLine (0, h, 240, WHITE); // Zīmēt vertikālas līnijas (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (v, 80, 240, WHITE); // Parādīt tastatūras etiķetes (int j = 0; j <4; j ++) {priekš (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i), 100+(60*) j)); tft.setTextSize (3); tft.setTextColor (BALTS); tft.println (simbols [j] ); }}} Pēc koda augšupielādes displejā darbosies kā manējais kalkulators, un tagad jūs varat veikt matemātikas pamata aprēķinus. Tāpēc izklaidējieties izveidot savu kalkulatoru, izmantojot Arduino UNO.
Ieteicams:
Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru: 4 soļi
Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru: Sveiki, puiši, šajā instrukcijā mēs izveidosim kalkulatoru, izmantojot Arduino, kas var veikt pamata aprēķinus. Tātad būtībā mēs ņemsim ievadi no 4x4 tastatūras un izdrukāsim datus 16x2 lcd displejā, un arduino veiks aprēķinus
Arduino skārienekrāna kalkulators: 7 soļi
Arduino skārienekrāna kalkulators: Sveiki! Šis ir projekts, lai izveidotu skārienekrāna kalkulatoru, izmantojot Arduino Uno un TFT LCD ekrānu. Es izdomāju savas mājas skolas programmēšanas klases koncepciju, un pieredze šī projekta veidošanā bija ļoti interesanta. Šis kalkulators ir
Arduino Flappy Bird - Arduino 2,4 collu TFT skārienekrāna SPFD5408 putnu spēles projekts: 3 soļi
Arduino Flappy Bird | Arduino 2,4 collu TFT skārienekrāna SPFD5408 putnu spēles projekts: Flappy Bird dažu gadu laikā bija pārāk populāra spēle, un daudzi cilvēki to izveidoja savā veidā, tāpat kā es, es izveidoju savu flappy putna versiju ar Arduino un lēto 2,4 "TFT Skārienekrāns SPFD5408, tāpēc sāksim darbu
Arduino TFT skārienekrāna durvju slēdzene: 5 soļi
Arduino TFT skārienekrāna durvju slēdzene: šī ir mana pirmā pamācība. Šis projekts izmanto Arduino un 2.8 " TFT skārienekrāns ar paroles skici, lai aktivizētu releju, kas pārtrauc ķēdi līdz magnētiskās slēdzenes durvīm. Fons, durvju RFID slēdzene darbā salūza, nevis pārinstalēja
Arduino Uno: Bitmap animācija uz ILI9341 TFT skārienekrāna displeja vairoga ar Visuino: 12 soļi (ar attēliem)
Arduino Uno: Bitmap animācija uz ILI9341 TFT skārienekrāna displeja vairoga ar Visuino: uz ILI9341 balstītie TFT skārienekrāna displeja vairogi ir ļoti populāri Arduino displeja vairogi. Visuino jau ilgu laiku ir viņus atbalstījis, bet man nekad nav bijusi iespēja uzrakstīt pamācību par to izmantošanu. Tomēr nesen daži cilvēki jautāja