Mục lục:
- Bước 1: Bắt đầu
- Bước 2: Sử dụng bàn phím 12 chữ số
- Bước 3: Sử dụng bàn phím 16 chữ số
- Bước 4: Dự án mẫu - Hệ thống truy cập mã PIN
Video: Sử dụng bàn phím số với Arduino: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Bàn phím số có thể cung cấp một giải pháp thay thế đơn giản cho người dùng cuối cho các giao diện khác nhau cho các dự án của bạn. Hoặc nếu bạn cần nhiều nút, chúng có thể giúp bạn tiết kiệm rất nhiều thời gian liên quan đến việc xây dựng. Chúng tôi sẽ chạy thông qua việc kết nối chúng, sử dụng thư viện Arduino và sau đó kết thúc bằng một bản phác thảo ví dụ hữu ích.
Bước 1: Bắt đầu
Cho dù bạn lấy bàn phím từ đâu, hãy đảm bảo rằng bạn có thể lấy bảng dữ liệu - vì điều này sẽ giúp cuộc sống dễ dàng hơn khi kết nối chúng. Ví dụ - hình ảnh trong bước này.
Bảng dữ liệu rất quan trọng vì nó sẽ cho bạn biết chân hoặc đầu nối nào trên bàn phím dành cho các hàng và cột. Nếu bạn không có bảng dữ liệu - bạn sẽ cần xác định thủ công địa chỉ liên hệ nào dành cho các hàng và cột.
Điều này có thể được thực hiện bằng cách sử dụng chức năng liên tục của đồng hồ vạn năng (bộ rung). Bắt đầu bằng cách đặt một đầu dò vào chân 1, đầu dò còn lại vào chân 2 và nhấn các phím lần lượt. Ghi lại thời điểm một nút hoàn thành mạch, sau đó chuyển sang chân tiếp theo. Chẳng bao lâu bạn sẽ biết cái nào là cái nào. Ví dụ: trên bàn phím ví dụ, chân 1 và 5 dành cho nút “1”, 2 và 5 cho “4”, v.v.
Tại thời điểm này, vui lòng tải xuống và cài đặt thư viện bàn phím Arduino. Bây giờ chúng tôi sẽ trình bày cách sử dụng cả hai bàn phím trong các ví dụ đơn giản.
Bước 2: Sử dụng bàn phím 12 chữ số
Chúng tôi sẽ sử dụng bàn phím nhỏ màu đen, tương thích với Arduino Uno và màn hình LCD có giao diện I2C cho mục đích hiển thị. Nếu không có màn hình LCD, bạn luôn có thể gửi văn bản đến màn hình nối tiếp.
Nối dây màn hình LCD của bạn, sau đó kết nối bàn phím với Arduino theo cách sau: Bàn phím hàng 1 với Arduino kỹ thuật số 5Keypad hàng 2 với Arduino kỹ thuật số 4Keypad hàng 3 với Arduino kỹ thuật số 3Keypad hàng 4 với Arduino kỹ thuật số 2Keypad cột 1 đến Arduino kỹ thuật số 8Keypad cột 2 đến Arduino kỹ thuật số 7Keypad cột 3 đến Arduino kỹ thuật số 6 Nếu bàn phím của bạn khác với bàn phím của chúng tôi, hãy lưu ý các dòng trong bản phác thảo từ:
// định nghĩa loại bàn phím
Khi bạn cần thay đổi các số trong mảng rowPins [ROWS] và colPins [COLS]. Bạn nhập số pin kỹ thuật số được kết nối với các hàng và cột của bàn phím tương ứng.
Hơn nữa, các phím mảng lưu trữ các giá trị được hiển thị trên màn hình LCD khi một nút cụ thể được nhấn. Bạn có thể thấy chúng tôi đã khớp nó với bàn phím vật lý được sử dụng, tuy nhiên bạn có thể thay đổi nó thành bất kỳ thứ gì bạn cần. Nhưng bây giờ, hãy nhập và tải lên bản phác thảo sau khi bạn hài lòng với việc phân bổ số hàng / số pin:
/ * Bàn phím số và I2C LCD https://tronixstuff.com Sử dụng thư viện Bàn phím cho Arduino https://www.arduino.cc/playground/Code/Keypad của Mark Stanley, Alexander Brevig * /
#include "Keypad.h"
#include "Wire.h" // cho I2C LCD #include "LiquidCrystal_I2C.h" // cho mô-đun LCD bus I2C // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) Màn hình LCD LiquidCrystal_I2C (0x27, 16, 2); // đặt địa chỉ LCD thành 0x27 để hiển thị 16 ký tự và 2 dòng
// định nghĩa loại bàn phím
const byte ROWS = 4; // bốn hàng const byte COLS = 3; // khóa ký tự ba cột [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins [ROWS] = {
5, 4, 3, 2}; // kết nối với sơ đồ hàng của byte bàn phím colPins [COLS] = {8, 7, 6}; // kết nối với sơ đồ cột của bàn phím
int count = 0;
Bàn phím bàn phím = Bàn phím (makeKeymap (phím), rowPins, colPins, ROWS, COLS);
void setup ()
{lcd.init (); // khởi tạo lcd lcd.backlight (); // bật đèn nền LCD}
void loop ()
{char key = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); tính ++; if (count == 17) {lcd.clear (); đếm = 0; }}}
Và kết quả của bản phác thảo được hiển thị trong video. Vì vậy, bây giờ bạn có thể thấy cách các lần nhấn nút có thể được chuyển thành dữ liệu để sử dụng trong bản phác thảo. Bây giờ chúng ta sẽ lặp lại phần trình diễn này với bàn phím lớn hơn.
Bước 3: Sử dụng bàn phím 16 chữ số
Chúng tôi sẽ sử dụng bàn phím 4 × 4 lớn hơn, tương thích với Arduino Uno và để thay đổi I2C LCD từ Akafugu cho mục đích hiển thị. Một lần nữa, nếu bạn không có màn hình LCD, bạn luôn có thể gửi văn bản đến màn hình nối tiếp. Nối dây màn hình LCD và sau đó kết nối bàn phím với Arduino theo cách sau:
- Bàn phím hàng 1 (chân tám) đến Arduino kỹ thuật số 5
- Bàn phím hàng 2 (chân 1) đến Arduino kỹ thuật số 4
- Bàn phím hàng 3 (chân 2) đến Arduino kỹ thuật số 3
- Bàn phím hàng 4 (chân 4) đến Arduino kỹ thuật số 2
- Cột bàn phím 1 (chân 3) đến Arduino kỹ thuật số 9
- Cột bàn phím 2 (chân 5) đến Arduino kỹ thuật số 8
- Bàn phím cột 3 (chân 6) đến Arduino kỹ thuật số 7
- Bàn phím cột 4 (chân 7) sang Arduino kỹ thuật số 6
Bây giờ đối với bản phác thảo - hãy lưu ý cách chúng ta đã điều chỉnh cho bàn phím số lớn hơn: cột phụ trong các phím ký tự mảng ghim phụ trong mảng colPins và byte COLS = 4.
/ * Bàn phím số và I2C LCD https://tronixstuff.com Sử dụng thư viện Bàn phím cho Arduino https://www.arduino.cc/playground/Code/Keypad của Mark Stanley, Alexander Brevig * /
#include "Keypad.h"
#include "Wire.h" // cho I2C LCD #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // bốn hàng
const byte COLS = 4; // khóa ký tự bốn cột [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // kết nối với sơ đồ hàng của byte bàn phím colPins [COLS] = {9, 8, 7, 6}; // kết nối với sơ đồ cột của bàn phím int count = 0;
Bàn phím bàn phím = Bàn phím (makeKeymap (phím), rowPins, colPins, ROWS, COLS);
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Kiểm tra bàn phím!"); chậm trễ (1000); lcd.clear (); }
void loop ()
{char key = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); Serial.print (key); tính ++; if (count == 17) {lcd.clear (); đếm = 0; }}}
Và một lần nữa bạn có thể xem kết quả của bản phác thảo ở trên trong video.
Bây giờ đối với một dự án ví dụ, một dự án có lẽ là cách sử dụng bàn phím số được yêu cầu nhiều nhất…
Bước 4: Dự án mẫu - Hệ thống truy cập mã PIN
Việc sử dụng được yêu cầu nhiều nhất cho bàn phím số dường như là một ứng dụng kiểu “PIN”, nơi Arduino được hướng dẫn thực hiện điều gì đó dựa trên một số chính xác được nhập vào bàn phím. Bản phác thảo sau sử dụng phần cứng được mô tả cho bản phác thảo trước và triển khai hệ thống nhập mã PIN gồm sáu chữ số.
Các hành động cần thực hiện có thể được chèn vào các hàm đúngPIN () và saiPIN (). Và mã PIN được đặt trong mảng char PIN [6]. Với một chút công việc bổ sung, bạn cũng có thể tạo chức năng thay đổi mã PIN của riêng mình.
// Công tắc mã PIN với bàn phím số 16 chữ số // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // bốn hàng
const byte COLS = 4; // khóa ký tự bốn cột [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // kết nối với sơ đồ hàng của byte bàn phím colPins [COLS] = {9, 8, 7, 6}; // kết nối với sơ đồ cột của bàn phím
Bàn phím bàn phím = Bàn phím (makeKeymap (phím), rowPins, colPins, ROWS, COLS);
char PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // số char try (!) bí mật của chúng tôi [6] = {'0', '0', '0', '0', '0', '0'}; // dùng để so sánh int z = 0;
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Khóa mã PIN"); chậm trễ (1000); lcd.clear (); lcd.print ("Nhập mã PIN…"); }
void truePIN () // thực hiện việc này nếu nhập đúng mã PIN
{lcd.print ("* Mã PIN chính xác *"); chậm trễ (1000); lcd.clear (); lcd.print ("Nhập mã PIN…"); }
void saiPIN () // thực hiện việc này nếu nhập sai mã PIN
{lcd.print ("* Thử lại *"); chậm trễ (1000); lcd.clear (); lcd.print ("Nhập mã PIN…"); }
void checkPIN ()
{int đúng = 0; int i; for (i = 0; i <6; i ++) {
if (cố gắng == PIN )
{đúng ++; }} if (đúng == 6) {đúngPIN (); } else {saiPIN (); }
for (int zz = 0; zz <6; zz ++) {try [zz] = '0'; }}
void readKeypad ()
{char key = keypad.getKey (); if (key! = NO_KEY) {try [z] = key; z ++; switch (phím) {case '*': z = 0; nghỉ; case '#': z = 0; chậm trễ (100); // để gỡ lỗi thêm lcd.clear (); checkPIN (); nghỉ; }}}
void loop ()
{readKeypad (); }
Dự án được chứng minh trong video.
Vì vậy, bây giờ bạn có khả năng sử dụng bàn phím mười hai và mười sáu nút với hệ thống Arduino của mình. Tôi chắc chắn rằng bạn sẽ nghĩ ra điều gì đó hữu ích và thú vị bằng cách sử dụng bàn phím trong tương lai gần.
Bài đăng này được mang đến cho bạn bởi pmdway.com - mọi thứ dành cho các nhà sản xuất và những người đam mê điện tử, với giao hàng miễn phí trên toàn thế giới.
Đề xuất:
Cách sử dụng phím tắt của bàn phím MacBook Air: 6 bước
Cách sử dụng phím tắt của bàn phím MacBook Air: Các phím tắt mà chúng tôi sử dụng trong Class
Giao diện bàn phím với 8051 và hiển thị số bàn phím trong 7 phân đoạn: 4 bước (có hình ảnh)
Giao diện bàn phím với 8051 và hiển thị số bàn phím trong 7 phân đoạn: Trong hướng dẫn này, tôi sẽ cho bạn biết về cách chúng ta có thể giao diện bàn phím với 8051 và hiển thị số bàn phím trong màn hình 7 đoạn
Giao diện Bàn phím LCD 16x2 chữ và số và bàn phím ma trận 4x4 với Raspberry Pi3: 5 bước (có hình ảnh)
Giao diện Bàn phím ma trận màn hình LCD và 4x4 16x2 chữ và số với Raspberry Pi3: Trong phần hướng dẫn này, chúng tôi giải thích cách giao diện bàn phím ma trận 16x2 LED và 4x4 với Raspberry Pi3. Chúng tôi sử dụng Python 3.4 để phát triển phần mềm. Bạn cũng có thể chọn Python 2.7, với ít thay đổi
Bàn phím Das nhanh và bẩn (Bàn phím trống): 3 bước
Bàn phím Das nhanh và bẩn (Bàn phím trống): Bàn phím A Das là tên của bàn phím phổ biến nhất không có chữ khắc trên các phím (bàn phím trống). Bàn phím Das được bán lẻ với giá 89,95 đô la. Tài liệu hướng dẫn này sẽ hướng dẫn bạn cách tự làm một cái bằng bất kỳ bàn phím cũ nào mà bạn có
Làm sạch bàn phím nhôm Apple . hoặc bất kỳ bàn phím cảm ứng mềm nào khác: 5 bước
Vệ sinh Bàn phím nhôm Apple …. hoặc Bất kỳ Bàn phím cảm ứng mềm nào khác: Dù bạn hay tôi cũng có thể cố gắng giữ cho những bàn phím Apple nhôm của chúng tôi trở nên bẩn thỉu sau một năm hoặc lâu hơn. Hướng dẫn này là để giúp bạn làm sạch nó. Hãy cẩn thận, bởi vì tôi không chịu trách nhiệm nếu bàn phím của bạn bị vỡ trong khi làm việc này …. SUCKS F