Arduino UNO R4 LCD Keypad Shield

Trong hướng dẫn này, chúng ta sẽ khám phá cách sử dụng Arduino Uno R4 với LCD Keypad Shield, một thiết bị nhỏ gọn thú vị kết hợp màn hình LCD 16x2 với sáu nút nhấn (Right, Up, Down, Left, Select và Reset). Bạn sẽ học cách nó hoạt động, cách kết nối với Arduino Uno R4, và cách lập trình từng bước. Chúng tôi có sơ đồ đấu nối và ví dụ code để giúp bạn dễ dàng theo dõi!

Linh Kiện Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×LCD Keypad Shield
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

LCD Keypad Shield Là Gì?

LCD Keypad shield này là sự kết hợp của:

  • Một màn hình LCD 16x2 (hiển thị 2 dòng, mỗi dòng 16 ký tự) sử dụng thư viện LiquidCrystal.
  • 5 nút nhấn (Up, Down, Left, Right, Select) tất cả được kết nối đến một chân duy nhất (A0).
  • Một nút Reset để khởi động lại Arduino Uno R4.
  • Một núm xoay nhỏ (potentiometer) để điều chỉnh độ tương phản của màn hình.

Sơ Đồ Chân

lcd bàn phím ma trận shield sơ đồ chân

Bảng sau đây cho thấy cách LCD Keypad Shield kết nối với Arduino Uno R4 khi được cắm chồng lên trên.

Chân Shield Chức Năng Chân Arduino Uno R4
DB4 Dữ Liệu 4
DB5 Dữ Liệu 5
DB6 Dữ Liệu 6
DB7 Dữ Liệu 7
RS Register Select 8
E Enable 9
Analog A0 Đầu Vào Nút Nhấn A0

Nút Reset: Nhấn vào đó, và Arduino Uno R4 của bạn sẽ khởi động lại.

Núm Xoay (Potentiometer): Xoay nó nếu màn hình quá mờ hoặc quá tối.

Sơ Đồ Đấu Nối

Không cần đấu nối phức tạp ở đây! Chỉ cần cắm LCD Keypad Shield trực tiếp lên Arduino Uno R4 của bạn. Các chân sẽ tự động khớp với nhau.

Arduino UNO R4 lcd bàn phím ma trận shield sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Code Arduino Uno R4

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-lcd-keypad-shield */ #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); void setup() { Serial.begin(9600); Serial.println("Started"); // Debugging lcd.begin(16, 2); lcd.print("Hello!"); delay(3000); } void loop() { int key = analogRead(A0); //Serial.println(key); // Debugging lcd.clear(); if (key < 50) lcd.print("RIGHT"); else if (key < 200) lcd.print("UP"); else if (key < 400) lcd.print("DOWN"); else if (key < 600) lcd.print("LEFT"); else if (key < 800) lcd.print("SELECT"); else if (key < 1000) lcd.print("RST"); // If RST has a value, add here else lcd.print("Press key!"); delay(200); }

Các Bước Nhanh

  • Cắm LCD Keypad Shield lên Arduino Uno R4
  • Kết nối Arduino Uno R4 với máy tính bằng cáp USB.
  • Mở Arduino IDE, chọn board và cổng trong IDE.
  • Sao chép code trên, dán vào Arduino IDE
  • Nhấn nút Upload trên Arduino IDE để tải code lên Arduino Uno R4
  • Nhấn từng nút trên shield một cách tuần tự.
  • Quan sát màn hình LCD hiển thị nút nào bạn đã nhấn

Màn Hình Trống? Hãy Thử Cách Này:

  • Kiểm tra kỹ xem shield đã được cắm chặt chưa.
  • Xoay núm để điều chỉnh độ tương phản.
  • Đảm bảo code đúng và Arduino Uno R4 đã được cấp nguồn.

Bonus: Code Gọn Gàng Hơn

Muốn code của bạn trông chuyên nghiệp? Đây là phiên bản nâng cao hơn với các hàm được tổ chức gọn gàng:

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-lcd-keypad-shield */ #include <LiquidCrystal.h> // Define constants for key representations const int KEY_RIGHT = 0; const int KEY_UP = 1; const int KEY_DOWN = 2; const int KEY_LEFT = 3; const int KEY_SELECT = 4; const int KEY_NONE = 5; LiquidCrystal lcd(8, 9, 4, 5, 6, 7); int getKey() { int analogValue = analogRead(A0); //Serial.println(analogValue); // Debugging if (analogValue < 50) return KEY_RIGHT; else if (analogValue < 200) return KEY_UP; else if (analogValue < 400) return KEY_DOWN; else if (analogValue < 600) return KEY_LEFT; else if (analogValue < 800) return KEY_SELECT; else return KEY_NONE; } void setup() { Serial.begin(9600); Serial.println("Started"); // Debugging lcd.begin(16, 2); lcd.print("Hello!"); delay(3000); } void loop() { lcd.clear(); int key = getKey(); switch (key) { case KEY_RIGHT: lcd.print("RIGHT"); break; case KEY_UP: lcd.print("UP"); break; case KEY_DOWN: lcd.print("DOWN"); break; case KEY_LEFT: lcd.print("LEFT"); break; case KEY_SELECT: lcd.print("SELECT"); break; default: lcd.print("Press key!"); break; } delay(200); }

Trợ Giúp Thêm

Cần thêm các thủ thuật LCD? Hãy xem hướng dẫn Arduino LiquidCrystal LCD này để có thêm ý tưởng thú vị.

Vậy là xong! Bạn đã sẵn sàng để chơi với LCD Keypad Shield. Chúc bạn vui vẻ khi xây dựng dự án!