arduino 矩阵肩膀_怎样连接4×4带Arduino的矩阵键盘以及如何从键盘获取数据

本文介绍如何连接4×4矩阵键盘到Arduino并解析按键输入。通过理解矩阵键盘的工作原理,使用特定库读取键值,并在16×2 LCD显示器上显示。应用包括基于Arduino的计算器、门锁系统和家庭自动化。
摘要由CSDN通过智能技术生成

在本教程中,我们将学习4×4矩阵键盘以及Arduino键盘接口的工作原理。键盘是一种输入设备,用于输入密码,拨打号码,浏览菜单甚至控制机器人。

您可能已经看到ATM上使用了键盘,安全系统,电话等,允许用户向系统输入数据。键盘可与微控制器和原型平台(如Arduino)一起使用,以实现各种项目。

因此,在本文中,我将向您展示如何连接4×4带Arduino的矩阵键盘以及如何从键盘获取数据。

概述

矩阵键盘只不过是水平和垂直方式的按钮系统排列。例如,4×4键盘由16个按键或按钮组成,按4行和4列排列。下图显示了典型的按键类型4×4矩阵键盘。

有目前有两种类型的矩阵键盘可用。一种是传统的按键式键盘,如上图所示,另一种是膜式键盘,它不包含任何按钮,但由于按键表面和底层电路之间的电接触而起作用。

另请阅读:如何构建简单的Arduino计算器?

键盘如何工作?

如前所述,4×4矩阵键盘由16个按键或按钮组成,分为4行4列。带有所有16个按钮的4×4键盘的内部电路如下图所示。

我将在不考虑任何特定微控制器的情况下解释4×4矩阵键盘的工作原理。这项工作可以应用于任何微控制器,甚至是Arduino和Rasp

以下是一个简单的示例代码,可以实现Arduino Uno和超声波传感器在显示器上进行电量显示和距离显示: ``` // 定义电池电压采样引脚和超声波传感器引脚 #define BATTERY_PIN A0 #define TRIGGER_PIN 9 #define ECHO_PIN 10 // 定义显示器相关的库和引脚 #include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() { // 初始化串口通信和显示器 Serial.begin(9600); lcd.begin(16, 2); // 设置超声波传感器引脚为输出和输入模式 pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); } void loop() { // 读取电池电压并转换为百分比 int batteryReading = analogRead(BATTERY_PIN); float batteryPercentage = (float)batteryReading / 1023.0 * 100.0; // 读取超声波传感器距离 digitalWrite(TRIGGER_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER_PIN, LOW); float distance = pulseIn(ECHO_PIN, HIGH) / 58.0; // 将结果输出到串口和显示器上 Serial.print("Battery Percentage: "); Serial.print(batteryPercentage); Serial.print("%, "); Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); lcd.setCursor(0, 0); lcd.print("Battery: "); lcd.print(batteryPercentage); lcd.print("%"); lcd.setCursor(0, 1); lcd.print("Distance: "); lcd.print(distance); lcd.print(" cm"); // 等待一段时间后重复执行 delay(1000); } ``` 请注意,这只是一个简单的示例代码,并且可能需要根据您的具体硬件配置进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值