Arduino UNO R4 Keypad LCD

Hướng dẫn này sẽ chỉ bạn cách lập trình Arduino UNO R4 để đọc phím được nhấn từ keypad và hiển thị lên màn hình LCD.

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 I2C
1×Bàn phím ma trận 3x4
1×breadboard
1×Dây Jumper
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)

Về Keypad và LCD

Nếu bạn chưa quen thuộc với keypad và LCD, bao gồm sơ đồ chân, chức năng và lập trình, vui lòng tham khảo các hướng dẫn sau để tìm hiểu thêm:

Sơ Đồ Kết Nối

sơ Đồ kết nối Arduino UNO R4 bàn phím ma trận lcd

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-keypad-lcd */ #include <DIYables_Keypad.h> // DIYables_Keypad library #include <LiquidCrystal_I2C.h> const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 3; // three columns char keys[ROW_NUM][COLUMN_NUM] = { { '1', '2', '3' }, { '4', '5', '6' }, { '7', '8', '9' }, { '*', '0', '#' } }; byte pin_rows[ROW_NUM] = { 9, 8, 7, 6 }; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = { 5, 4, 3 }; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows int cursorColumn = 0; void setup(){ lcd.init(); // initialize the lcd lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(cursorColumn, 0); // move cursor to (cursorColumn, 0) lcd.print(key); // print key at (cursorColumn, 0) cursorColumn++; // move cursor to next position if(cursorColumn == 16) { // if reaching limit, clear LCD lcd.clear(); cursorColumn = 0; } } }

※ Lưu ý:

Địa chỉ I2C cho LCD có thể thay đổi tùy thuộc vào nhà sản xuất. Trong chương trình của chúng tôi, chúng tôi đã sử dụng địa chỉ 0x27 như được cung cấp bởi nhà sản xuất DIYables.

Các Bước Nhanh

Làm theo hướng dẫn từng bước sau:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Kết nối bo mạch Arduino Uno R4 với keypad và LCD I2C theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi động Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Nhấp vào biểu tượng Libraries ở phía bên trái của Arduino IDE.
  • DIYables_Keypad trong hộp tìm kiếm, và tìm thư viện keypad của DIYables.io.
  • Nhấp vào nút Install để thêm thư viện keypad vào IDE của bạn.
thư viện bàn phím ma trận Arduino UNO R4
  • Tìm kiếm "LiquidCrystal I2C" và tìm thư viện LiquidCrystal_I2C của Frank de Brabander.
  • Nhấp vào nút Install để cài đặt thư viện LiquidCrystal_I2C.
thư viện liquidcrystal i2c Arduino UNO R4
  • Sao chép code và mở nó trong Arduino IDE.
  • Nhấp vào nút Upload trong Arduino IDE để tải code lên Arduino UNO R4.
tải mã lên Arduino IDE
  • Nhấn các phím trên keypad
  • Kiểm tra LCD để xem kết quả

Nếu màn hình LCD không hiển thị gì, hãy kiểm tra Khắc phục sự cố LCD I2C để được trợ giúp.

Giải Thích Code

Hãy xem các giải thích trong phần comment bên trong source code!

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.