Mục lục:
- Bước 1: Hóa đơn nguyên vật liệu
- Bước 2: Sơ đồ và Cicruit
- Bước 3: Mã
- Bước 4: Hiệu chỉnh giá trị
- Bước 5: Dự án Sau khi Phê bình và Đánh giá
- Bước 6: Sau một số công việc bán ra
- Bước 7: Khoảnh khắc của sự thật
- Bước 8: Kết thúc
Video: Bàn phím một pin 4 × 4: 10 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Mỗi khi tôi nhìn thấy một bàn phím, nó có rất nhiều chân cắm, thật lãng phí số lượng chân cắm Arduino của bạn, vậy chúng ta có thể chạy bàn phím với một và chỉ một chân không? Câu trả lời là đây.
Bước 1: Hóa đơn nguyên vật liệu
Phần cứng:
01 Arduino UNO
02 bảng bánh mì
01 LCD với I2C
16 nút ấn
04 điện trở 1,5 kΩ
04 điện trở 620 Ω
04 điện trở 220 Ω
08 điện trở 100 Ω
01 điện trở 1 kΩ
07 dây nhảy
Phần mềm:
Arduino IDE được cài đặt trên PC của bạn
Bước 2: Sơ đồ và Cicruit
Ý tưởng tất cả là chúng ta có ma trận 4 * 4 của các nút nhấn được kết nối theo chiều dọc với Mặt đất bằng dây dẫn bên phải và theo chiều ngang của dây dẫn khác (dây dẫn nút) và các điện trở 1,5 kΩ, 620Ω, 220Ω và 100Ω, các đầu của 4 hàng được kết nối bằng bốn điện trở 100Ω như trong sơ đồ.
Mỗi khi bạn nhấn một nút, bạn sẽ đóng mạch và dòng điện đi qua một đường khác và chuỗi điện trở khác nhau, đó là lý do tại sao chân A0 nhận được một số đọc tương tự khác nhau cho mỗi nút nhấn. Tất cả những gì bạn cần bây giờ là mã hóa.
Bước 3: Mã
#bao gồm
#bao gồm
Màn hình LCD LiquidCrystal_I2C (0x3f, 20, 4);
int Nút = A0;
int readvalue;
void setup ()
{
Serial.begin (9600);
lcd.begin ();
pinMode (Nút, NGÕ VÀO);
LCD đèn nền();
lcd.print ("Xin chào Thế giới");
chậm trễ (2000);
lcd.clear ();
lcd.print ("Một bàn phím 4 * 4");
chậm trễ (2000); }
void loop ()
{
readvalue = analogRead (Nút);
Serial.println (giá trị đọc);
if (readvalue == 852) {lcd.clear (); lcd.print ("A");}
else {if (readvalue == 763) {lcd.clear (); lcd.print ("B");}
else {if (readvalue == 685) {lcd.clear (); lcd.print ("C");}
else {if (readvalue == 965) {lcd.clear (); lcd.print ("D");}
else {if (readvalue == 565) {lcd.clear (); lcd.print ("9");}
else {if (readvalue == 614) {lcd.clear (); lcd.print ("6");}
else {if (readvalue == 360) {lcd.clear (); lcd.print ("3");}
else {if (readvalue == 335) {lcd.clear (); lcd.print ("#");}
else {if (readvalue == 396) {lcd.clear (); lcd.print ("8");}
else {if (readvalue == 349) {lcd.clear (); lcd.print ("5");}
else {if (readvalue == 235) {lcd.clear (); lcd.print ("2");}
else {if (readvalue == 279) {lcd.clear (); lcd.print ("0");}
else {if (readvalue == 452) {lcd.clear (); lcd.print ("7");}
else {if (readvalue == 271) {lcd.clear (); lcd.print ("4");}
else {if (readvalue == 170) {lcd.clear (); lcd.print ("1");}
else {if (readvalue == 92) {lcd.clear (); lcd.print ("*");} else {}}}}}}}}}}}}}}}}}
Bước 4: Hiệu chỉnh giá trị
Khi bạn mở moniter nối tiếp, nó sẽ hiển thị giá trị là 1023, nếu bạn nhấn một nút, nó sẽ cung cấp cho bạn một lần đọc khác, bạn phải lấy các giá trị đó và thực hiện một số thay đổi trong mã
Bước 5: Dự án Sau khi Phê bình và Đánh giá
Không nghi ngờ gì khi tất cả chúng ta ở đây để học hỏi và chia sẻ kiến thức của mình, nhờ một số nhận xét của một số người trong cộng đồng rất hữu ích, tôi quyết định thực hiện một số điều chỉnh và cải tiến cho dự án của mình:
Phần cứng:
Tôi quyết định hàn tất cả các thành phần trong PCB để tránh vấn đề kết nối kém trong bảng mạch.
Mật mã:
Một người bạn khuyên tôi nên sử dụng phần mềm gỡ lỗi và nó chỉ là một vòng lặp (ví dụ: vòng lặp "for") để làm cho chương trình mất một khoảng thời gian để chọn một bài đọc. chỉ cái cuối cùng.
for (i = 1; i <= 500; i ++) {// chỉ lấy chuỗi tương tự thứ 500
value = analogRead (Button);} // điều đó giúp bạn bớt chút thời gian để tránh việc đọc sai
Một người bạn khác nhờ anh ta khuyên tôi nên so sánh "giá trị đọc" với một phạm vi giá trị không phải là một vì "giá trị đọc" nhận rất nhiều giá trị cho cùng một nút nhấn. Ví dụ "A" cho giá trị là: 849, 850, 851 852, 853, 854, 855 vì vậy nó là một phạm vi gồm 7 giá trị: một ngưỡng (852) và 3 giá trị trái và phải. những gì chúng ta phải làm ở đây là so sánh giá trị tuyệt đối của sự khác biệt giữa "giá trị đọc" và "852" với "3".
if (abs (readvalue-852) <= 8) {lcd.clear (); lcd.print ("A");}
Bước 6: Sau một số công việc bán ra
Bước 7: Khoảnh khắc của sự thật
Như bạn có thể thấy chương trình đôi khi nhầm lẫn các nút nhưng nó vẫn hoạt động, về lý thuyết thì mạch không có vấn đề gì nhưng mã cần hiệu chỉnh thêm.
Bước 8: Kết thúc
Tôi hy vọng bạn thích dự án này và bạn cố gắng thực hiện nó, có thể bạn sẽ làm tốt hơn tôi.
Hãy hỏi tôi nếu bạn có thắc mắc, hãy để lại bình luận và đừng quên bình chọn cho tôi nếu bạn thích điều đó.
Đề xuất:
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ó
Cách mô tả một bộ phim truyền hình cho một người bạn mù.: 4 bước (có hình ảnh)
Cách mô tả phim truyền hình cho người bạn mù: Một số phim truyền hình được mô tả (DVS), nhưng nhiều phim thì không và nếu bạn bị mù hoặc khiếm thị, mọi thứ có thể hơi khó hiểu. Bạn có thể yêu cầu một người bạn nhập mô tả (điều này nói rằng người bạn đó sẽ bắt đầu thấy hơi mất thời gian), nhưng hãy ghi lại
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