Mündəricat:
- Addım 1: Lazım olan şeylər
- Addım 2: Arduino IDE -də TFT Ekran Kitabxanasının quraşdırılması
- Addım 3: Kalkulyator Kodunu Yükləyin
Video: Arduino TFT LCD Toxunma Ekranı Kalkulyatoru: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Salam Uşaqlar, bu təlimatlarda Arduino Uno ilə 3.5 TFT LCD Toxunma Ekranı olan bir kalkulyatorun necə qurulacağını öyrənəcəyik. Buna görə bir kod yazacağıq və ekranda kalkulyator interfeysini göstərəcək və toxunma funksiyasını alacaq arduino -ya yükləyəcəyik. əsas riyazi ifadələrin çıxışını verin.
Addım 1: Lazım olan şeylər
Bu layihə üçün aşağıdakılara ehtiyacınız olacaq: 3,5 TFT LCD DISPLAYARDUINO UNO
Addım 2: Arduino IDE -də TFT Ekran Kitabxanasının quraşdırılması
SPFD5408 Kitabxanasından istifadə edirik:
Bu arduino kalkulyator kodunun işləməsini təmin etmək üçün. Bu Adafruit -in dəyişdirilmiş bir kitabxanasıdır və LCD TFT Modulu ilə sorunsuz işləyə bilər. Bu kitabxananı Arduino IDE -yə yükləməyiniz və ya səhv etmədən tərtib etmək üçün bu proqramı yükləməyiniz çox vacibdir. Bu kitabxananı qurmaq üçün yuxarıdakı linki tıklayaraq sizi Github səhifəsinə aparacaqsınız. Orada klon vurun və ya yükləyin və "ZIP yüklə" seçin. Bir zip faylı yüklənəcək, indi Arduino IDE -ni açın və Sketch -> Kitabxanaya Daxil et -> ZIP kitabxanası əlavə edin. ZIP faylına gedən bir brauzer pəncərəsi açılacaq və "OK" düyməsini basın. Arduinonun sol alt küncündə "Kitabxanalarınıza əlavə edilmiş kitabxana" qeyd etməlisiniz.
Addım 3: Kalkulyator Kodunu Yükləyin
Kitabxananı qurduqdan sonra ekranı Arduino-ya bağlayın və aşağıdakı kodu kopyalayın və Arduino-ya yükləyin./**_ Kitabxanaları idxal edin _*/#"SPFD5408_Adafruit_GFX.h" daxildir // Əsas qrafik kitabxanası#daxildir "SPFD5408_Adafruit_TFTLCD.h" // Hardware-specific kitabxana#daxildir "SPFD5408_TouchScreen.h"/*_ Kitabxanaların Sonu _*//*_ LCD sancaqlarını təyin edin (standart dəyərləri təyin etdim) _*/#tanımlayın YP A1 // analog pin olmalıdır, "An" işarəsini istifadə edin!# XM A2 təyin edin // analog pin olmalıdır, "An" işarəsini istifadə edin!#YM 7 təyin edin // rəqəmsal pin ola bilər#XP 6 təyin edin / rəqəmsal pin ola bilər#LCD_CS A3 təyin edin#LCD_CD A2 təyin edin#LCD_WR təyin edin A1#müəyyən LCD_RD A0#LCD_RESETini təyin A4/*_ Defanitionların sonu _*//*_ Rənglərə və təzyiqə ad təyin edin _*/#BEYAZ 0x0000 təyin edin // Qara-> Ağ#SARI 0x001F təyin edin // Mavi-> Sarı#CYAN 0xF800 təyin edin // Qırmızı-> Cyan#PINK təyin 0x07E0 // Yaşıl-> Çəhrayı#QIRMIZI 0x07FF təyin edin // Cyan-> Qırmızı#YEŞİL 0xF81F təyin edin // Çəhrayı-> Yaşıl#MAVİ 0xFFE0 // Sarı- > Mavi#müəyyən QARA 0xFFFF // Ağ-> Qara#təyin MINPRESSURE 10#təyin MAXPRESSURE 1000/*_ Təyin edilmiş _*//*_ TFT LCD-ni kalibr edin _*/#TS_MINX 125 təyin edin#TS_MINY 85 təyin edin#TS_MAXX 965#TS_MAXX 965#müəyyən edin _ Kalibrləmə sonu _*/TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300); // 300 həssaslıqdırAdafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); // LCDString simvolu ilə ünsiyyətə başlayın [4] [4] = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X, Y; uzun Num1, Num2, Number; char hərəkəti; boolean nəticə = yalan; void setup () {Serial.begin (9600); // tft.reset () ayıklama üçün serial monitordan istifadə edin; // Həmişə tft.begin (0x9341) başlanğıcında sıfırlayın; // Mənim LCD -də LIL9341 Arayüz sürücüsü IC tft.setRotation (2) istifadə olunur; // Mən sadəcə güc yuvasının yuxarıya baxması üçün gəzdim - isteğe bağlı tft.fillScreen (BEYAZ); IntroScreen (); draw_BoxNButtons (); } void loop () {TSPoint p = waitTouch (); X = p.y; Y = p.x; // Serial. çap (X); Serial.print (','); Serial.println (Y); // + "" + Y); DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); gecikmə (300);} TSPoint waitTouch () {TSPoint p; etmək {p = ts.getPoint (); pinMode (XM, Çıxış); pinMode (YP, ÇIXIŞ); } isə ((p.z MAXPRESSURE)); p.x = xəritə (p.x, TS_MINX, TS_MAXX, 0, 320); p.y = xəritə (p.y, TS_MINY, TS_MAXY, 0, 240);; qayıt p;} void DetectButtons () {if (X0) // Sütun 1 -də Düymələri Algılama {if (Y> 0 && Y <85) // Ləğv etsəniz Buttona basarsanız {Serial.println ("Button Cancel"); Sayı = Sayı1 = Nüm2 = 0; result = false;} if (Y> 85 && Y <140) // Əgər Button 1 -ə basılırsa {Serial.println ("Button 1"); əgər (Sayı == 0) Sayı = 1; başqa Sayı = (Sayı*10) + 1; // iki dəfə basıldı} if (Y> 140 && Y <192) // If Button 4 is pressed {Serial.println ("Button 4"); əgər (Sayı == 0) Sayı = 4; başqa Sayı = (Sayı*10) + 4; // iki dəfə basıldı} if (Y> 192 && Y <245) // If Button 7 is pressed {Serial.println ("Button 7"); əgər (Sayı == 0) Sayı = 7; başqa Sayı = (Sayı*10) + 7; // İki dəfə basıldı}} if (X50) // Sütun 2 -də Düymələrin Alınması {if (Y> 0 && Y <85) {Serial.println ("Button 0"); // 0 sayı düyməsinə basılır, əgər (Sayı == 0) Sayı = 0; başqa Sayı = (Sayı*10) + 0; // iki dəfə basıldı} if (Y> 85 && Y <140) {Serial.println ("Button 2"); əgər (Sayı == 0) Sayı = 2; başqa Sayı = (Sayı*10) + 2; // iki dəfə basıldı} if (Y> 140 && Y <192) {Serial.println ("Button 5"); əgər (Sayı == 0) Sayı = 5; başqa Sayı = (Sayı*10) + 5; // Basılan twic} if (Y> 192 && Y <245) {Serial.println ("Button 8"); əgər (Sayı == 0) Sayı = 8; başqa Sayı = (Sayı*10) + 8; // Basılan twic}} if (X105) // Sütun 3 -də Düymələrin Alınması {if (Y> 0 && Y <85) {Serial.println ("Button Equal"); Num2 = Sayı; nəticə = doğru; } if (Y> 85 && Y <140) {Serial.println ("Button 3"); əgər (Sayı == 0) Sayı = 3; başqa Sayı = (Sayı*10) + 3; // iki dəfə basıldı} if (Y> 140 && Y <192) {Serial.println ("Button 6"); əgər (Sayı == 0) Sayı = 6; başqa Sayı = (Sayı*10) + 6; // iki dəfə basıldı} if (Y> 192 && Y <245) {Serial.println ("Button 9"); əgər (Sayı == 0) Sayı = 9; başqa Sayı = (Sayı*10) + 9; // İki dəfə basıldı}} if (X165) // Sütun 3 -də Düymələrin Alınması {Num1 = Sayı; Sayı = 0; tft.setCursor (200, 20); tft.setTextColor (QIRMIZI); if (Y> 0 && Y <85) {Serial.println ("Əlavə"); hərəkət = 1; tft.println ('+');} if (Y> 85 && Y <140) {Serial.println ("Çıkarma"); hərəkət = 2; tft.println ('-');} if (Y> 140 && Y <192) {Serial.println ("Çarpma"); hərəkət = 3; tft.println ('*');} if (Y> 192 && Y <245) {Serial.println ("Devesion"); hərəkət = 4; tft.println ('/');} gecikmə (300); }} etibarsız CalculateResult () {if (action == 1) Number = Num1+Num2; if (hərəkət == 2) Sayı = Num1-Num2; if (action == 3) Number = Num1*Num2; if (action == 4) Number = Num1/Num2; } boş DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // nəticə qutusunu sil tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (SİYAH); tft.println (Sayı); // yeni dəyəri yeniləyin} void IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (QIRMIZI); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("HESABLAYICI"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (MAVİ); tft.println ("-Circut Digest"); gecikmə (1800);} void draw_BoxNButtons () {// Nəticə qutusunu çəkin tft.fillRect (0, 0, 240, 80, CYAN); // Birinci Sütunu çəkin tft.fillRect (0, 260, 60, 60, RED); tft.fillRect (0, 200, 60, 60, SİYAH); tft.fillRect (0, 140, 60, 60, SİYAH); tft.fillRect (0, 80, 60, 60, SİYAH); // Üçüncü Sütunu çəkin tft.fillRect (120, 260, 60, 60, GREEN); tft.fillRect (120, 200, 60, 60, SİYAH); tft.fillRect (120, 140, 60, 60, SİYAH); tft.fillRect (120, 80, 60, 60, SİYAH); // (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLUE) üçün Secound & Dördüncü Sütun çəkin; tft.fillRect (60, b, 60, 60, BLACK);} // Üfüqi Xəttlər çəkin (int h = 80; h <= 320; h+= 60) tft.drawFastHLine (0, h, 240, BEYAZ); // (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (v, 80, 240, BEYAZ) üçün Şaquli Xəttlər çəkin; // (int j = 0; j <4; j ++) {üçün (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i), 100+(60*) üçün klaviatura etiketlərini göstərin j)); tft.setTextSize (3); tft.setTextColor (BEYAZ); tft.println (simvol [j] ); }}} Kodu yüklədikdən sonra ekranınızda işləyən kalkulyatoru mənim kimi görürsünüz və indi bununla bağlı əsas riyazi hesablamalar apara bilərsiniz. Arduino UNO ilə öz kalkulyatorunuzu hazırlamaqdan zövq alın.
Tövsiyə:
Raspberry Pi Ekranı və Toxunma Ekranı: 4 Addım
Raspberry Pi Ekranı və Toxunma Ekranı Döndür: Bu, Buster Raspbian əməliyyat sistemi ilə işləyən hər hansı bir Raspberry Pi üçün ekranı və toxunma girişini necə döndərəcəyinizi göstərmək üçün əsas bir təlimatdır, amma Jessie -dən bəri bu üsuldan istifadə edirəm. Burada istifadə olunan şəkillər bir Raspberry Pi -dən
Arduino Flappy Bird - Arduino 2.4 "TFT Toxunma Ekranı SPFD5408 Quş Oyunu Layihəsi: 3 addım
Arduino Flappy Bird | Arduino 2.4 "TFT Toxunma Ekranı SPFD5408 Quş Oyunu Layihəsi: Flappy Bird bir neçə il ərzində çox populyar bir oyun idi və bir çox insanlar öz yolu ilə yaratdılar, mən də Arduino ilə flappy quşun mina versiyasını və 2.4 'TFT -ni yaratdım. Dokunmatik ekran SPFD5408, buna görə başlayaq
Üç Toxunma Sensor Dövrü + Toxunma Taymeri Dövrü: 4 Addım
Üç Toxunma Sensorlu Dövrə + Toxunma Zamanlayıcısı Dövrü: Toxunma Sensoru, Toxunma Pimlərinə toxunma algıladıqda AÇIŞ edən bir dövrədir. Bu keçid əsasında işləyir, yəni yük yalnız sancaqlar üzərində toxunma zamanı AÇIQ olacaq.Burada sizə toxunmaq üçün üç fərqli yol göstərəcəyəm
Arduino Toxunma Ekranı: 4 addım
Arduino Toxunma Ekranı: Salam! Bu gün sizə Arduino Uno ilə toxunma ekranını necə istifadə edəcəyinizi göstərəcəyəm. Sitat və ya şəkillər və ya hər cür digər şeylər üçün kiçik bir ekran olaraq istifadə edə bilərsiniz
Arduino TFT Toxunma Ekranı Qapı Kilidi: 5 addım
Arduino TFT Touchscreen Qapı Kilidi: Bu mənim ilk təlimatımdır. Bu layihə Arduino və 2.8 " Şifrənin eskizi olan TFT toxunma ekranı mag kilidli qapının dövranını pozan bir röleyi aktivləşdirir. Arxa planda, iş yerində bir qapıdakı RFID kilidi yenidən bağlamaq əvəzinə pozuldu