Mục lục:
- Bước 1: Những thứ bạn cần
- Bước 2: Cài đặt Thư viện hiển thị TFT trong Arduino IDE
- Bước 3: Tải lên mã máy tính
Video: Máy tính màn hình cảm ứng LCD TFT Arduino: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Xin chào các bạn trong phần hướng dẫn này, chúng ta sẽ học cách tạo máy tính bằng Arduino Uno với màn hình cảm ứng LCD 3,5 TFT. Vì vậy, chúng ta sẽ viết mã và tải nó lên arduino, nó sẽ hiển thị giao diện máy tính trên màn hình và sẽ có chức năng cảm ứng và đưa ra kết quả của các biểu thức toán học cơ bản.
Bước 1: Những thứ bạn cần
Đối với dự án này, bạn sẽ cần những thứ sau: 3.5 TFT LCD DISPLAYARDUINO UNO
Bước 2: Cài đặt Thư viện hiển thị TFT trong Arduino IDE
Chúng tôi đang sử dụng Thư viện SPFD5408:
để mã máy tính arduino này hoạt động. Đây là một thư viện đã sửa đổi của Adafruit và có thể hoạt động liền mạch với Mô-đun TFT LCD của chúng tôi. Điều rất quan trọng là bạn phải cài đặt thư viện này trong Arduino IDE của mình hoặc chương trình này để biên dịch mà không gặp bất kỳ lỗi nào. Để cài đặt thư viện này, bạn chỉ cần nhấp vào liên kết ở trên sẽ đưa bạn đến trang Github. Ở đó nhấp vào sao chép hoặc tải xuống và chọn “Tải xuống ZIP”. Một tệp zip sẽ được tải xuống. Bây giờ, hãy mở Arduino IDE và chọn Sketch -> Bao gồm Librarey -> Thêm thư viện. ZIP. Một cửa sổ trình duyệt sẽ mở, điều hướng đến tệp ZIP và nhấp vào “OK”. Bạn sẽ thấy “Thư viện được thêm vào Thư viện của bạn” ở góc dưới bên trái của Arduino.
Bước 3: Tải lên mã máy tính
Sau khi cài đặt thư viện, hãy kết nối màn hình với Arduino và sao chép đoạn mã sau và tải nó lên Arduino./*_ Thư viện nhập khẩu _ * / # include "SPFD5408_Adafruit_GFX.h" // Thư viện đồ họa cốt lõi # bao gồm "SPFD5408_Adafruit_TFTLCD.h" // Phần cứng-cụ thể thư viện # bao gồm "SPFD5408_TouchScreen.h" / * _ End of Libraries _ * // * _ Xác định các chân LCD (Tôi đã đánh dấu các giá trị mặc định) _ * / # xác định YP A1 // phải là một chân analog, sử dụng ký hiệu "An"! # xác định XM A2 // phải là chân tương tự, sử dụng ký hiệu "An"! #define YM 7 // có thể là chân kỹ thuật số # xác định XP 6 // có thể là chân kỹ thuật số # định nghĩa LCD_CS A3 # định nghĩa LCD_CD A2 # xác định LCD_WR A1 # xác định LCD_RD A0 # xác định LCD_RESET A4 / * _ End of defanitions _ * // * _ Gán tên cho màu sắc và áp suất _ * / # xác định TRẮNG 0x0000 // Đen-> Trắng # xác định VÀNG 0x001F // Xanh lam-> Vàng # xác định CYAN 0xF800 // Đỏ-> Lục lam # xác định HỒNG 0x07E0 // Xanh lá-> Hồng # xác định ĐỎ 0x07FF // Lục lam -> Đỏ # xác định XANH 0xF81F // Hồng -> Xanh lá #define XANH 0xFFE0 // Vàng- > Màu xanh lam # xác định ĐEN 0xFFFF // Trắng-> Đen # xác định MINPRESSURE 10 # xác định TỐI ĐA 1000 / * _ Đã chỉ định _ * // * _ Hiệu chỉnh TFT LCD _ * / # xác định TS_MINX 125 # xác định TS_MINY 85 # xác định TS_MAXX 965 # xác định TS_MAXY 905 / * _End of Calibration _ * / TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300); // 300 là độ nhạy Adafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); // Bắt đầu giao tiếp với ký hiệu LCDString [4] [4] = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X, Y; dài Num1, Num2, Number; hành động char; boolean result = false; void setup () {Serial.begin (9600); // Sử dụng màn hình nối tiếp để gỡ lỗi tft.reset (); // Luôn đặt lại khi bắt đầu tft.begin (0x9341); // Màn hình LCD của tôi sử dụng IC điều khiển giao diện LIL9341 tft.setRotation (2); // Tôi vừa định vị để giắc cắm hướng lên - tùy chọn 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) CalculResult (); DisplayResult (); delay (300);} TSPoint waitTouch () {TSPoint p; làm {p = ts.getPoint (); pinMode (XM, OUTPUT); pinMode (YP, OUTPUT); } while ((p.z MAXPRESSURE)); p.x = map (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) // Phát hiện các nút trên cột 1 {if (Y> 0 && Y <85) // Nếu nút hủy được nhấn {Serial.println ("Nút Hủy"); Số = Num1 = Num2 = 0; result = false;} if (Y> 85 && Y <140) // Nếu Nút 1 được nhấn {Serial.println ("Nút 1"); if (Số == 0) Số = 1; else Số = (Số * 10) + 1; // Được nhấn hai lần} if (Y> 140 && Y <192) // Nếu Nút 4 được nhấn {Serial.println ("Nút 4"); if (Số == 0) Số = 4; else Số = (Số * 10) + 4; // Được nhấn hai lần} if (Y> 192 && Y <245) // Nếu Nút 7 được nhấn {Serial.println ("Nút 7"); if (Số == 0) Số = 7; else Số = (Số * 10) + 7; // Được nhấn hai lần}} if (X50) // Phát hiện các nút trên cột 2 {if (Y> 0 && Y <85) {Serial.println ("Nút 0"); // Nút 0 được nhấn if (Number == 0) Number = 0; else Số = (Số * 10) + 0; // Được nhấn hai lần} if (Y> 85 && Y <140) {Serial.println ("Nút 2"); if (Số == 0) Số = 2; else Số = (Số * 10) + 2; // Được nhấn hai lần} if (Y> 140 && Y <192) {Serial.println ("Nút 5"); if (Số == 0) Số = 5; else Số = (Số * 10) + 5; // Đã nhấn twic} if (Y> 192 && Y <245) {Serial.println ("Nút 8"); if (Số == 0) Số = 8; else Số = (Số * 10) + 8; // Đã nhấn twic}} if (X105) // Phát hiện các nút trên cột 3 {if (Y> 0 && Y <85) {Serial.println ("Nút bằng"); Num2 = Số; kết quả = true; } if (Y> 85 && Y <140) {Serial.println ("Nút 3"); if (Số == 0) Số = 3; else Số = (Số * 10) + 3; // Được nhấn hai lần} if (Y> 140 && Y <192) {Serial.println ("Nút 6"); if (Số == 0) Số = 6; else Số = (Số * 10) + 6; // Được nhấn hai lần} if (Y> 192 && Y <245) {Serial.println ("Nút 9"); if (Số == 0) Số = 9; else Số = (Số * 10) + 9; // Được nhấn hai lần}} if (X165) // Phát hiện các nút trên cột 3 {Num1 = Number; Số = 0; tft.setCursor (200, 20); tft.setTextColor (ĐỎ); if (Y> 0 && Y <85) {Serial.println ("Phép cộng"); hành động = 1; tft.println ('+');} if (Y> 85 && Y <140) {Serial.println ("Phép trừ"); hành động = 2; tft.println ('-');} if (Y> 140 && Y <192) {Serial.println ("Phép nhân"); hành động = 3; tft.println ('*');} if (Y> 192 && Y <245) {Serial.println ("Devesion"); hành động = 4; tft.println ('/');} delay (300); }} void CalculResult () {if (action == 1) Number = Num1 + Num2; if (action == 2) Number = Num1-Num2; if (action == 3) Number = Num1 * Num2; if (action == 4) Number = Num1 / Num2; } void DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // xóa ô kết quả tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (ĐEN); tft.println (Số); // cập nhật giá trị mới} void IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (ĐỎ); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("MÁY TÍNH TOÁN"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (BLUE); tft.println ("- Thông báo về Circut"); delay (1800);} void draw_BoxNButtons () {// Vẽ Hộp Kết quả tft.fillRect (0, 0, 240, 80, CYAN); // Vẽ Cột đầu tiên 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); // Vẽ Cột thứ Ba tft.fillRect (120, 260, 60, 60, XANH); tft.fillRect (120, 200, 60, 60, BLACK); tft.fillRect (120, 140, 60, 60, BLACK); tft.fillRect (120, 80, 60, 60, BLACK); // Vẽ Cột bí mật & Cột thứ tư for (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLUE); tft.fillRect (60, b, 60, 60, BLACK);} // Vẽ Đường Ngang for (int h = 80; h <= 320; h + = 60) tft.drawFastHLine (0, h, 240, WHITE); // Vẽ Đường dọc for (int v = 0; v <= 240; v + = 60) tft.drawFastVLine (v, 80, 240, WHITE); // Hiển thị các nhãn bàn phím for (int j = 0; j <4; j ++) {for (int i = 0; i <4; i ++) {tft.setCursor (22 + (60 * i), 100 + (60 * NS)); tft.setTextSize (3); tft.setTextColor (TRẮNG); tft.println (ký hiệu [j] ); }}} Sau khi tải mã lên, bạn sẽ có thể thấy máy tính đang chạy trên màn hình của mình như của tôi và bây giờ bạn có thể thực hiện các phép tính toán học cơ bản về việc này. Vì vậy, hãy vui vẻ khi tạo máy tính của riêng bạn với Arduino UNO.
Đề xuất:
Màn hình cảm ứng Macintosh - Máy Mac cổ điển với IPad Mini cho màn hình: 5 bước (có hình ảnh)
Màn hình cảm ứng Macintosh | Máy Mac cổ điển với IPad Mini cho màn hình: Đây là bản cập nhật và thiết kế sửa đổi của tôi về cách thay thế màn hình của máy Macintosh cổ điển bằng iPad mini. Đây là cái thứ 6 trong số những cái này tôi đã làm trong nhiều năm và tôi khá hài lòng với sự phát triển và thiết kế của cái này! Trở lại năm 2013 khi tôi làm
Máy tính màn hình cảm ứng Arduino: 7 bước
Máy tính màn hình cảm ứng Arduino: Xin chào! Đây là dự án chế tạo máy tính màn hình cảm ứng sử dụng Arduino Uno và tấm chắn TFT LCD. Tôi đã đưa ra ý tưởng cho lớp học lập trình tại nhà của mình và trải nghiệm xây dựng dự án này rất thú vị. Máy tính này ca
Chuyển đổi màn hình LCD máy tính xách tay của bạn sang màn hình ngoài: 8 bước (có hình ảnh)
Chuyển đổi màn hình LCD máy tính xách tay của bạn sang màn hình bên ngoài: Hướng dẫn này dành cho những người đam mê đang có ý định sử dụng máy tính xách tay cũ của họ có một số vấn đề khác mà sự cố LCD như MB bị hỏng. Lưu ý: Tôi sẽ không chịu trách nhiệm về bất kỳ tổn thất hoặc thiệt hại nào dưới bất kỳ hình thức nào nếu do dự án này gây ra. Tôi có một chiếc Acer A
Arduino Uno: Hình ảnh động bitmap trên Tấm chắn hiển thị màn hình cảm ứng TFT ILI9341 Với Visuino: 12 bước (có Hình ảnh)
Arduino Uno: Ảnh động bitmap trên Tấm chắn hiển thị màn hình cảm ứng TFT ILI9341 Với Tấm chắn màn hình cảm ứng TFT dựa trên Visuino: ILI9341 là Tấm chắn hiển thị chi phí thấp rất phổ biến cho Arduino. Visuino đã hỗ trợ chúng trong một thời gian khá dài, nhưng tôi chưa bao giờ có cơ hội viết Hướng dẫn về cách sử dụng chúng. Tuy nhiên, gần đây có rất ít người hỏi
Màn hình cảm ứng Đồng bộ hóa gia đình & Bảng điều khiển gia đình gắn trên màn hình: 7 bước (có Hình ảnh)
Bảng điều khiển Home & Family Sync & Home trên màn hình cảm ứng: Chúng tôi có lịch được cập nhật hàng tháng với các sự kiện nhưng lịch được thực hiện theo cách thủ công. Chúng ta cũng có xu hướng quên những việc đã làm hết hoặc những việc vặt khác. Ở thời đại này, tôi nghĩ sẽ dễ dàng hơn nhiều nếu có một hệ thống đồng bộ lịch và sổ ghi chú mà c