【Arduino】 4×4薄膜键盘的使用

参考网址:
https://swf.com.tw/?p=917

接线方式:
在这里插入图片描述

arduino示例程序:
编译并上传,打开串口监视器,按键盘任意键会出现任意数字
在这里插入图片描述

可参考文章:
《完美图解Arduino互动设计入门》
Arduino 4×4薄膜鍵盤模組實驗(二):減少佔用Arduino的數位接腳
https://swf.com.tw/?p=921
Arduino 4×4薄膜鍵盤模組實驗(三):結合LCD顯示器的密碼輸入介面
https://swf.com.tw/?p=924

使用薄膜键盘控制四位数码管
接线方式:

clk3
dio2

代码:

#include <TM1637.h>
#include <Wire.h>

#include <Keypad.h>    // 引用Keypad程式庫
#define CLK 3  
#define DIO 2
TM1637 tm1637(CLK, DIO);
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};

#define KEY_ROWS 4 // 按鍵模組的列數
#define KEY_COLS 4 // 按鍵模組的行數

// 依照行、列排列的按鍵字元(二維陣列)
char keymap[KEY_ROWS][KEY_COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte colPins[KEY_COLS] = {9, 8, 7, 6};     // 按鍵模組,行1~4接腳。
byte rowPins[KEY_ROWS] = {13, 12, 11, 10}; // 按鍵模組,列1~4接腳。 

// 初始化Keypad物件
// 語法:Keypad(makeKeymap(按鍵字元的二維陣列), 模組列接腳, 模組行接腳, 模組列數, 模組行數)
Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, KEY_ROWS, KEY_COLS);

void setup(){
  Serial.begin(9600);
    tm1637.init();
  tm1637.set(1);

}
  
void loop(){
  // 透過Keypad物件的getKey()方法讀取按鍵的字元
  char key = myKeypad.getKey();

  if (key){  // 若有按鍵被按下…
//        tm1637.display(0, key);
  TimeDisp[3] = int(key)-48;//把char转化为int类型,然后变成ascII码,再-48
Serial.println(TimeDisp[3]);
    tm1637.display(TimeDisp);

//  tm1637.display(1, b1);
//  tm1637.display(2, b2);
//  tm1637.display(3, b3);
//Serial.println(key);  // 顯示按鍵的字元
  }
}
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Arduino是一种开源电子原型平台,可以用来搭建各种智能设备和项目。它的灵活性和可编程性,使得它成为制作密码锁的理想选择。要构建一个基于Arduino的4*4矩阵键盘密码锁非常简单。 首先,我们需要一个4*4矩阵键盘,它包括16个按键,可以输入0-9的数字和一些特殊符号。然后,我们将键盘与Arduino连接起来,通过Arduino的引脚来读取按键的状态。接下来,我们需要编写Arduino代码,来实现密码锁的功能。 在代码中,我们可以定义一个密码,当用户按下正确的密码时,密码锁就会解锁。我们需要使用一些变量来存储用户输入的密码和当前的密码状态。当用户按下按键时,我们需要将按键的值添加到密码中,并且每次按下按键都需要更新密码锁的状态。当密码输入完成后,我们可以将输入的密码与预设的密码进行比对,如果一致,则密码锁就会解锁。 另外,我们还可以在代码中加入一些安全功能,比如设置最大输入次数和输入超时功能,以防止密码被暴力破解。最后,我们将代码上传到Arduino上,连接电源,密码锁就可以正常使用了。 通过使用Arduino和4*4矩阵键盘,我们可以很容易地制作一个简单的密码锁,保护我们的物品和隐私。同时,Arduino的可编程性也使得我们可以根据自己的需求来定制密码锁的功能和设计。这种DIY的方式不仅有趣,而且可以提高我们的电子制作能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值