Daftar Isi:
- Langkah 1: Hal-hal yang Anda Butuhkan
- Langkah 2: Memasang TFT Display Library di Arduino IDE
- Langkah 3: Unggah Kode Kalkulator
Video: Kalkulator Layar Sentuh LCD TFT Arduino: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Hai Teman-teman dalam instruksi ini kita akan belajar cara membuat kalkulator menggunakan Arduino Uno dengan tampilan Layar Sentuh LCD TFT 3,5 . Jadi kita akan menulis kode dan mengunggahnya ke arduino yang akan menampilkan antarmuka kalkulator pada layar dan akan mengambil fungsi sentuh memberikan output dari ekspresi matematika dasar.
Langkah 1: Hal-hal yang Anda Butuhkan
Untuk proyek ini, Anda memerlukan hal-hal berikut: LCD TFT 3,5 DISPLAYARDUINO UNO
Langkah 2: Memasang TFT Display Library di Arduino IDE
Kami menggunakan Perpustakaan SPFD5408:
agar kode kalkulator arduino ini berfungsi. Ini adalah perpustakaan Adafruit yang dimodifikasi dan dapat bekerja dengan lancar dengan Modul TFT LCD kami. Sangat penting bagi Anda untuk menginstal pustaka ini di Arduino IDE Anda atau program ini untuk dikompilasi tanpa kesalahan. Untuk menginstal pustaka ini, Anda cukup mengklik tautan di atas yang akan membawa Anda ke halaman Github. Di sana klik klon atau unduh dan pilih "Unduh ZIP". File zip akan diunduh. Sekarang, buka Arduino IDE dan pilih Sketch -> Include Librarey -> Add. ZIP library. Jendela browser akan terbuka, arahkan ke file ZIP dan klik "OK". Anda akan melihat "Perpustakaan ditambahkan ke Perpustakaan Anda" di sudut kiri bawah Arduino.
Langkah 3: Unggah Kode Kalkulator
Setelah menginstal perpustakaan, hubungkan tampilan ke Arduino dan salin kode berikut & unggah ke Arduino./*_Impor Perpustakaan_*/#include "SPFD5408_Adafruit_GFX.h" // Pustaka grafis inti#include "SPFD5408_Adafruit_TFTLCD.h" // Khusus perangkat keras library#include "SPFD5408_TouchScreen.h"/*_End of Libraries_*//*_Tentukan pin LCD (Saya telah menetapkan nilai default)_*/#define YP A1 // harus pin analog, gunakan notasi "An"!# define XM A2 // harus pin analog, gunakan notasi "An"!#define YM 7 // bisa jadi pin digital#define XP 6 // bisa jadi pin digital#define LCD_CS A3#define LCD_CD A2#define LCD_WR A1#define LCD_RD A0#define LCD_RESET A4/*_End of defanitions_*//*_Tetapkan nama untuk warna dan tekanan_*/#define WHITE 0x0000 //Hitam->Putih#define KUNING 0x001F //Biru->Kuning#define CYAN 0xF800 //Merah->Cyan#define PINK 0x07E0 //Green-> Pink#define RED 0x07FF //Cyan -> Red#define GREEN 0xF81F //Pink -> Green #define BLUE 0xFFE0 //Yellow- >Biru#menentukan HITAM 0xFFFF //Putih-> Hitam#menentukan MINPRESSURE 10#menentukan MAXPRESSURE 1000/*_Ditugaskan_*//*_Kalibrasi TFT LCD_*/#define TS_MINX 125#define TS_MINY 85#define TS_MAXX 965_#define TS_MAXX 965 _Akhir Kalibrasi_*/Layar Sentuh ts = Layar Sentuh(XP, YP, XM, YM, 300); //300 adalah sensitivitasAdafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); //Memulai komunikasi dengan simbol LCDString[4][4] = { { "7", "8", "9", "/" }, { "4", "5", "6", "*" }, { "1", "2", "3", "-" }, { "C", "0", "=", "+" }}; int X, Y; angka panjang1, angka2, angka; tindakan karakter; hasil boolean = false;pengaturan batal() { Serial.begin(9600); //Gunakan monitor serial untuk men-debug tft.reset(); //Selalu reset saat start tft.begin(0x9341); // LCD saya menggunakan IC driver Antarmuka LIL9341 tft.setRotation(2); // Saya baru saja memutar sehingga colokan listrik menghadap ke atas - opsional tft.fillScreen(WHITE); Layar Pendahuluan(); draw_BoxNButtons(); }void loop() {TSPoint p = waitTouch();X = p.y; Y = p.x;// Serial.print(X); Serial.print(', '); Serial.println(Y);// + " " + Y);DetectButtons();if (hasil==benar)CalculateResult();DisplayResult(); delay(300);}TSPoint waitTouch() { TSPoint p; lakukan { p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); } while((p.z MAXPRESSURE)); p.x = peta(p.x, TS_MINX, TS_MAXX, 0, 320); p.y = peta(p.y, TS_MINY, TS_MAXY, 0, 240);; return p;}void DetectButtons(){ if (X0) //Mendeteksi Tombol pada Kolom 1 { if (Y>0 && Y<85) //Jika Tombol batal ditekan {Serial.println ("Tombol Batal"); Angka=Bilangan1=Bilangan2=0; result=false;} if (Y>85 && Y<140) //Jika Tombol 1 ditekan {Serial.println ("Tombol 1"); if (Angka==0) Angka=1; else Angka = (Nomor*10) + 1; //Ditekan dua kali } if (Y>140 && Y<192) //Jika Tombol 4 ditekan {Serial.println ("Tombol 4"); if (Angka==0) Angka=4; else Angka = (Nomor*10) + 4; //Ditekan dua kali } if (Y>192 && Y<245) //Jika Tombol 7 ditekan {Serial.println ("Tombol 7"); if (Angka==0) Angka=7; else Angka = (Nomor*10) + 7; //Tekan dua kali } } if (X50) //Mendeteksi Tombol pada Kolom 2 { if (Y>0 && Y<85) {Serial.println ("Tombol 0"); //Tombol 0 Ditekan jika (Angka==0) Angka=0; else Angka = (Nomor*10) + 0; //Tekan dua kali } if (Y>85 && Y<140) {Serial.println ("Tombol 2"); if (Angka==0) Angka=2; else Angka = (Nomor*10) + 2; //Tekan dua kali } if (Y>140 && Y<192) {Serial.println ("Tombol 5"); if (Angka==0) Angka=5; else Angka = (Nomor*10) + 5; //Tekan dua kali } if (Y>192 && Y<245) {Serial.println ("Tombol 8"); if (Angka==0) Angka=8; else Angka = (Nomor*10) + 8; //Tekan dua kali } } if (X105) //Mendeteksi Tombol pada Kolom 3 { if (Y>0 && Y<85) {Serial.println ("Tombol Sama"); Angka2=Angka; hasil = benar; } if (Y>85 && Y<140) {Serial.println ("Tombol 3"); if (Angka==0) Angka=3; else Angka = (Nomor*10) + 3; //Tekan dua kali } if (Y>140 && Y<192) {Serial.println ("Tombol 6"); if (Angka==0) Angka=6; else Angka = (Nomor*10) + 6; //Tekan dua kali } if (Y>192 && Y<245) {Serial.println ("Tombol 9"); if (Angka==0) Angka=9; else Angka = (Nomor*10) + 9; //Tekan dua kali } } if (X165) //Mendeteksi Tombol pada Kolom 3 { Angka1 = Angka; Nomor = 0; tft.setCursor(200, 20); tft.setTextColor(MERAH); if (Y>0 && Y<85) {Serial.println ("Penambahan"); tindakan = 1; tft.println('+');} if (Y>85 && Y<140) {Serial.println ("Pengurangan"); tindakan = 2; tft.println('-');} if (Y>140 && Y<192) {Serial.println ("Perkalian"); tindakan = 3; tft.println('*');} if (Y>192 && Y<245) {Serial.println ("Pengembangan"); tindakan = 4; tft.println('/');} delay(300); } }void HitungResult(){ if (action==1) Number = Num1+Num2; if (aksi==2) Angka = Angka1-Num2; if (aksi==3) Angka = Angka1*Bilangan2; if (aksi==4) Angka = Angka1/Bilangan2; }void DisplayResult(){ tft.fillRect(0, 0, 240, 80, CYAN); //mengosongkan kotak hasil tft.setCursor(10, 20); tft.setTextSize(4); tft.setTextColor(HITAM); tft.println(Nomor); //update nilai baru}void IntroScreen(){ tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor(MERAH); tft.println("ARDUINO"); tft.setCursor (30, 160); tft.println("KALKULATOR"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor(BIRU); tft.println("-Intisari Sirkuit"); delay(1800);}void draw_BoxNButtons(){ //Menggambar Kotak Hasil tft.fillRect(0, 0, 240, 80, CYAN); //Gambar Kolom Pertama tft.fillRect (0, 260, 60, 60, RED); tft.fillRect (0, 200, 60, 60, HITAM); tft.fillRect (0, 140, 60, 60, HITAM); tft.fillRect (0, 80, 60, 60, HITAM); //Gambar Kolom Ketiga tft.fillRect (120, 260, 60, 60, HIJAU); tft.fillRect (120, 200, 60, 60, HITAM); tft.fillRect (120, 140, 60, 60, HITAM); tft.fillRect (120, 80, 60, 60, HITAM); //Gambar Kolom Detik & Keempat untuk (int b=260; b>=80; b-=60) { tft.fillRect (180, b, 60, 60, BIRU); tft.fillRect (60, b, 60, 60, BLACK);} //Menggambar Garis Horizontal untuk (int h=80; h<=320; h+=60) tft.drawFastHLine(0, h, 240, WHITE); //Menggambar Garis Vertikal untuk (int v=0; v<=240; v+=60) tft.drawFastVLine(v, 80, 240, WHITE); //Menampilkan label keypad untuk (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(PUTIH); tft.println(simbol[j]); } }}Setelah meng-upload kode, Anda akan dapat melihat kalkulator berjalan di layar Anda sebagai milik saya dan sekarang Anda dapat melakukan perhitungan matematika dasar pada ini. Jadi bersenang-senanglah membuat kalkulator sendiri dengan Arduino UNO.
Direkomendasikan:
Macintosh layar sentuh - Mac Klasik Dengan iPad Mini untuk Layar: 5 Langkah (dengan Gambar)
Macintosh layar sentuh | Mac Klasik Dengan IPad Mini untuk Layar: Ini adalah pembaruan dan desain revisi saya tentang cara mengganti layar Macintosh vintage dengan iPad mini. Ini adalah yang ke-6 yang saya buat selama bertahun-tahun dan saya cukup senang dengan evolusi dan desain yang satu ini! Kembali pada tahun 2013 ketika saya membuat
Kalkulator Layar Sentuh Arduino: 7 Langkah
Kalkulator Layar Sentuh Arduino: Halo! Ini adalah proyek untuk membuat kalkulator layar sentuh menggunakan Arduino Uno dan pelindung LCD TFT. Saya datang dengan konsep untuk kelas pemrograman homeschool saya, dan pengalaman dalam membangun proyek ini sangat menarik. Kalkulator ini bisa
Layar LCD I2C / IIC - Gunakan LCD SPI ke Layar LCD I2C Menggunakan Modul SPI ke IIC Dengan Arduino: 5 Langkah
Layar LCD I2C / IIC | Menggunakan LCD SPI ke Layar LCD I2C Menggunakan Modul SPI ke IIC Dengan Arduino: Hai teman-teman karena LCD SPI 1602 yang normal memiliki terlalu banyak kabel untuk dihubungkan sehingga sangat sulit untuk menghubungkannya dengan arduino tetapi ada satu modul yang tersedia di pasaran yang dapat ubah tampilan SPI menjadi tampilan IIC sehingga Anda hanya perlu menghubungkan 4 kabel
Layar LCD I2C / IIC - Mengonversi LCD SPI ke Layar LCD I2C: 5 Langkah
Layar LCD I2C / IIC | Mengkonversi LCD SPI ke Layar LCD I2C: menggunakan layar lcd spi membutuhkan terlalu banyak koneksi yang sangat sulit untuk dilakukan jadi saya menemukan modul yang dapat mengubah lcd i2c ke lcd spi jadi mari kita mulai
BluBerriSix - Layar Sentuh TFT / Tutorial Arduino: 12 Langkah (dengan Gambar)
BluBerriSix - Layar Sentuh TFT / Tutorial Arduino: 2019 adalah hari jadi ke-20 RIM Blackberry 850! Penemuan kecil Kanada ini mengubah cara dunia berkomunikasi. Sudah lama berlalu, tetapi warisannya terus berlanjut! Dalam instruksi ini, Anda akan belajar cara menggunakan MCUfriend.com 2.4" TFT di