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

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

Trong bài viết này mình sẽ hướng dẫn các bạn cách điều khiển Keypad trong Arduino. Hiện này bàn phím Keypad được sử dụng rất nhiều trong cuộc sống chúng ta, ví dụ như ở các ổ khóa cửa, 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.

Có rất nhiều loại Keypad, tuy nhiên mình sẽ sử dụng loại Keypad 3x4 và 4x4 làm ví dụ cho các bạn xem. Các loại Keypad khác cũng tương tự nhé !!!

Các thiết bị cần thiết để điều khiển Keypad trong Arduino

Để điều khiển được KeyPad trong Arduino, ta cần thêm một số thiết bị khác sau đây:

  • 1 x Arduino Uno.
  • 1 x Cap USB 2.0 loại A / B.
  • 1 x Keypad 3 x 4.
  • 1 x Keypad 4 x 4.

arduino 01 pngarduino 02 png

Ngoài ra các bạn có thể sử dụng loại Keypad khác mà bạn muốn nhé, trên đây mình chỉ demo hai loại Keypad này.

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

Sơ đồ chân của Keypad trong Arduino

Các chân của Keypad được chia thành hai nhóm là hàng và cột.

arduino 03 png

Bàn phím 3x4 có 7 chân: 4 chân hàng (R1, R2, R3, R4) và 3 chân cột (C1, C2, C3).

Bàn phím 4x4 có 8 chân: 4 chân hàng (R1, R2, R3, R4) và 4 chân cột (C1, C2, C3, C4).

Sơ đồ mạch điện điều khiển Keypad trong Arduino

Sơ đồ mạch điện để điều khiển KeyPad trong Arduino được thể hiện như trong hình dưới đây:

arduino 04 png

Đặc điểm của Keypad là nó không cần chân cấp nguồn, chỉ cần nối các chân điều khiển là có thể sử dụng được nó.

Đối với Keypad 3x4 có tổng cộng 7 chân, do đó ta nối lần lượt 7 chân của Keypad vào Arduino với các chân tương ứng 3, 4, 5, 6, 7, 8, 9.

Đối với Keypad 4x4 có tổng cộng 8 chân, do đó ta nối lần lượt 8 chân của Keypad vào Arduino với các chân tương ứng 2, 3, 4, 5, 6, 7, 8, 9.

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

Để điều khiển Keypad trong Arduino, ta thêm thư viện Keypad để được sử dụng các hàm hỗ trợ.

Các bạn chỉ thêm thư viện, khai báo và sử dụng các hàm mà nó cung cấp hoàn toàn miễn phí. Điều này giúp các bạn lập trình nhanh hơn và hiệu quả hơn, vì các hàm này đã được sử dụng rất nhiều trước đó.

Dưới đây mình có hai đoạn chương trình để điều khiển hai Keypad 3x4 và 4x4.

Keypad 3x4
#include <Keypad.h>

const int ROW_NUM = 4;// 4 hàng
const int COLUMN_NUM = 3; // 3 cột

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};
byte pin_column[COLUMN_NUM] = {5, 4, 3};

Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );

void setup(){
  Serial.begin(9600);
}

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  }
}
Keypad 4x4
#include <Keypad.h>

const int ROW_NUM = 4;
const int COLUMN_NUM = 4;

char keys[ROW_NUM][COLUMN_NUM] = {
  {'1','2','3', 'A'},
  {'4','5','6', 'B'},
  {'7','8','9', 'C'},
  {'*','0','#', 'D'}
};

byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; 
byte pin_column[COLUMN_NUM] = {5, 4, 3, 2};

Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );

void setup(){
  Serial.begin(9600);
}

void loop(){
  char key = keypad.getKey();

  if (key){
    Serial.println(key);
  }
}

Kết quả: Khi các bạn đã nối các thiết khi theo sơ đồ và tiến hành nạp đoạn code ở trên. Khi đó chỉ cần kiểm tra nhấn các phím trên keypad xem có hiển thị ở cổng Serial hay không.

Kết luận

Như vậy là chúng ta đã tìm hiểu cách điều khiển Keypad trong Arduino. Đây là một trong những thiết bị được sử dụng rộng rãi như trong khóa cửa, máy tính, ... . Vì vậy nếu các bạn có thể điều khiển được nó sẽ có thể tự do sáng tạo. Ở bài tiếp theo mình sẽ hướng dẫn các bạn cách hiển thị nội dung lên màn hình LCD bằng Keypad.

Cùng chuyên mục:

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

Cách giao tiếp Keypad với màn hình LCD 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++

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

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

Top