ARDUINO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cách giao tiếp Keypad với màn hình LCD trong Arduino

Trong bài viết này mình sẽ hướng dẫn các bạn cách giao tiếp Keypad với màn hình LCD trong Arduino. Trong thực tế được áp dụng rất nhiều như các ổ khóa cửa, tủ thông mình, máy tính, cây ATM, ... .

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Qua bài viết này các bạn có thể học được cách truyền dữ liệu giữa hai thiết bị khác nhau. Khi đã nắm vững thì việc thực hiện kết nối giữa các thiết bị với nhau rất dễ dàng.

Các thiết bị cần thiết để Keypad giao tiếp với LCD

Để có thể giao tiếp giữa Keypad và màn hình LCD ta cần thêm một số thiết bị khác như sau:

  • 1 x Arduino Uno.
  • 1 x USB 2.0 loại A / B.
  • 1 x LCD I2C 16x2.
  • 1 x Keypad 4x4.
  • 1 x Dây điện nối.

arduino 03 pngarduino 02 png

Ngoài ra các bạn có thể thay thế màn hình LCD I2C 16x2 và Keypad 4x4 bằng loại mà bạn mong muốn. Ở đây mình sử dụng hai loại này để giao tiếp với nhau.

Bài viết này được đăng tại [free tuts .net]

Sơ đồ mạch điện để Keypad giao tiếp với LCD trong Arduino

Dưới đây là sơ đồ mạch điện để Keypad giao tiếp với màn hình LCD trong Arduino.

arduino 01 png

Ta lần lược nối các thiết bị màn hình LCD I2C và Keypad với Arduino. Trên màn hình LCD I2C cho ra 4 chân bao gồm chân GND, VCC và 2 chân tín hiệu SDA, SCL.

Màn hình LCD I2C 16x2.

  • Nối chân GND của LCD I2C với chân GND của Arduino.
  • Nối chân VCC của LCD I2C với chân 5V của Arduino.
  • Nối hai chân tín hiệu SDA, SCL lần lượt với chân A4, A5 của Arduino.

Keypad 4x4.

  • Nối lần lượt các chân điều khiển của Keypad 4x4 vào các chân 2, 3, 4, 5, 6, 7, 8, 9 của Arduino.

Cách giao tiếp Keypad với màn hình LCD trong Arduino

Để có thể sử dụng hai thiết bị Keypad và màn hình LCD ta cần thêm hai thiết bị này vào Arduino. Đầu tiên ta vào Tool -> Manager Libraries.

arduino 04 png

Tiếp đến ta tìm kiếm hai thiết bị này và cài đặt nó.

Keypad 4x4.

arduino 05 png

LCD I2C 16x2.

arduino 06 png

Dưới đây mình có đoạn chương trình xử lý giúp Keypad có thể giao tiếp được với LCD. Khi người dùng nhấn vào bàn phím thì nội dung sẽ được hiển thị lên màn hình LCD.

//khai báo thư viện keypad và liquidCrystal_I2c để sử dụng các hàm hỗ trợ
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
//khai báo số hàng số cột của keypad
const int ROW_NUM    = 4; 
const int COLUMN_NUM = 4;
//khai báo các ký tự trả về từ keypad
char keys[ROW_NUM][COLUMN_NUM] = {
  {'1','2','3', 'A'},
  {'4','5','6', 'B'},
  {'7','8','9', 'C'},
  {'*','0','#', 'D'}
};
//khai báo chân điều khiển keypad trên arduino
byte pin_rows[ROW_NUM] = {9, 8, 7, 6};
byte pin_column[COLUMN_NUM] = {5, 4, 3, 2};
//khai báo sử dụng màn hình lcd với 16 cột và hai hàng
Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );
LiquidCrystal_I2C lcd(0x27, 16, 2);
//khai báo biến để đếm số ký tự trên màn hình lcd
int cursorColumn = 0;

void setup(){
  lcd.init();
  lcd.backlight();
}

void loop(){
  //khai báo và gán giá trị nhận được từ keypad cho biến key
  char key = keypad.getKey();
  //nếu tồn tại ký tự key thì hiển thị nó lên màn hình LCD
  if (key) {
    lcd.setCursor(cursorColumn, 0);
    lcd.print(key); 
    //sau khi hiển thị thì tăng số lượng ký tự lên 1
    cursorColumn++;                
    //nếu số lượng ký tự quá 16 thì xóa đi và reset biến cursorColumn
    if(cursorColumn == 16) { 
      lcd.clear();
      cursorColumn = 0;
    }
  }
}

Kết quả: Khi các bạn đã kết nối các thiết bị và tiến hành nạp code cho Arduino. Bây giờ chỉ cần kiểm tra bằng cách nhấn các phím xem nó có hiển thị lên màn hình hay không.

Kết luận

Như vậy là chúng ta đã tìm hiểu về cách giao tiếp giữa Keypad với màn hình LCD I2C. Khi các bạn đã biết cách kết nối giữa các thiết bị thì có thể tự mua cho mình để khám phá nhé. Bài tiếp theo mình sẽ hướng dẫn các bạn cách điều khiển Touch Sensor trong Arduino.

Cùng chuyên mục:

Cách điều khiển Touch Sensor trong Arduino

Cách điều khiển Touch Sensor trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển button trong Arduino

Cách điều khiển button trong Arduino

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Viết chương trình Arduino đầu tiên

Viết chương trình Arduino đầu tiên

Các kiến thức cần biết trước khi học lập trình với Arduino

Các kiến thức cần biết trước khi học lập trình với Arduino

Hướng dẫn cài đặt và sử dụng Arduino IDE

Hướng dẫn cài đặt và sử dụng Arduino IDE

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Bài này sẽ tổng hợp hơn 1000 bài tập C / C++ có lời giải…

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Top