Arduino 按钮矩阵 原理
接线:
L1---D2
L2---D3
L3---D4
L4---D5
R1---D7
R2---D8
R3---D9
R4---D10
代码:(原理)
void setup() {pinMode(2, INPUT);pinMode(3, INPUT);pinMode(4, INPUT);pinMode(5, INPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);Serial.begin(9600);
}
int va2 = digitalRead(2);
int va3 = digitalRead(3);
int va4 = digitalRead(4);
int va5 = digitalRead(5);
int num = 0;
void loop() {va2 = digitalRead(2);va3 = digitalRead(3);va4 = digitalRead(4);va5 = digitalRead(5);digitalWrite(7, 0);digitalWrite(8, 0);digitalWrite(9, 0);digitalWrite(10, 0);if (va2 == 0 || va3 == 0 || va4 == 0 || va5 == 0){delay(10);if (va2 == 0 || va3 == 0 || va4 == 0 || va5 == 0){// 第一列digitalWrite(7, 0);digitalWrite(8, 1);digitalWrite(9, 1);digitalWrite(10, 1);for (int i = 2; i < 6; i++){if (digitalRead(i) == 0){num = i - 1;}}// 第二列digitalWrite(7, 1);digitalWrite(8, 0);digitalWrite(9, 1);digitalWrite(10, 1);for (int i = 2; i < 6; i++){if (digitalRead(i) == 0){num = i + 3;}}// 第三列digitalWrite(7, 1);digitalWrite(8, 1);digitalWrite(9, 0);digitalWrite(10, 1);for (int i = 2; i < 6; i++){if (digitalRead(i) == 0){num = i + 7;}}// 第四列digitalWrite(7, 1);digitalWrite(8, 1);digitalWrite(9, 1);digitalWrite(10, 0);for (int i = 2; i < 6; i++){if (digitalRead(i) == 0){num = i + 11;}}}}Serial.println(num);
}
实物:
Arduino 按钮矩阵 原理相关推荐
- arduino的矩阵示例程序_用树莓派 Arduino 制造 LED 矩阵彩灯
MAKER:maketvee/ 译:趣无尽 之前我们介绍过一款非常炫酷的<熔岩特效灯>.这期教程中我将为大家介绍一款更易上手的灯. 这款 LED 矩阵彩灯使用标准的 WS2812b LED ...
- 龙芯1b(LS1B200)使用LVGL7.0.1组件 按钮矩阵 实现简易计算器
需求:通过按钮点击实现加减乘除的简易计算器. 1.我们使用矩阵按钮(lv_btnmatrix)快速创建布局,文本框(lv_textarea)显示结果. 2.在按钮回调中将点击结果加入文本框上显示. 矩 ...
- Arduino中矩阵键盘的编程与搭建
矩阵键盘在51单片机的案例中应用较多,但是在Arduino中很少使用,今天小编就特立独行一次,在Arduino中搭建一个3*3的矩阵键盘. 一.什么是矩阵键盘? 矩阵键盘是单片机外部设备中所使用的排布 ...
- arduino雨滴传感器原理_Arduino酸度计(PH计)
关联知识 Arduino 在本项目中,我们将通过将模拟pH传感器与Arduino接口来设计pH计. 介绍 在化学中,pH是用于指定水基溶液的酸性或碱性的标度. 酸性溶液的pH值较低,而碱性溶液的pH值 ...
- arduino 按钮读取_Arduino内置教程-数字-检测按键状态
如果你让按键工作,你经常会想做一些要按下很多次按钮的才有响应的动作.这时你需要知道按钮的从闭合到断开的变化状态,然后记录这个状态发生了多少次.这叫状态变化检测或者边沿检测.在这个教程里我们学习怎样检查 ...
- 逆透视矩阵原理以及应用(平视图转鸟瞰图、俯视图)
参考博客:逆透视变化详解 参考论文:Lane Detector 真实世界的景象转换为数字图片的步骤流程如下图: 1.刚体变换 从下图中可以看到,世界坐标为(X,Y,Z)相机坐标为(Xc,Yc,Zc), ...
- 线性方程组数学原理、矩阵原理及矩阵变换本质、机器学习模型参数求解相关原理讨论...
1. 线性方程组 0x1:无处不在的线性方程组 日常生活或生产实际中经常需要求一些量,用未知数 x1,x2,....,xn表示这些量,根据问题的实际情况列出方程组,而最常见的就是线性方程组(当然并不是 ...
- 【运筹学】匈牙利法 ( 匈牙利法步骤 | 试指派调整矩阵原理分析 | 打 √ | 直线覆盖 )
文章目录 一.指派问题求解步骤 二.打 √ 三.直线覆盖 一.指派问题求解步骤 指派问题求解步骤 : 1 . 使行列出现 000 元素 : 指派问题系数矩阵 (cij)(c_{ij})(cij) 变 ...
- Arduino按钮消抖
本文参考这位大佬文章 有两种按钮消抖的方法,怎么使用看自己 普通按钮代码: int BUTTON = 8;//定义按钮在 12号引脚,连接一个下拉电阻 int val = 0;//变量val 存储按钮 ...
最新文章
- R语言ggplot2可视化多行文本轴标签、轴标签带下标、轴标签数学公式实战
- 天天都在说,无服务器计算到底是什么?
- HTML5---19.地理定位的接口使用
- 零基础代理神器allproxy
- springboot+vue用websocket消息推送和监听端口
- Rust 1.31正式发布,首次引入Rust 2018新功能
- 在android studio中,引用.so文件
- 转载:JAVA获取时间戳,哪个更快
- 原型模式 java 深浅_Java设计模式——原型模式
- docker安装elasticsearch6.5.4
- 2021-08-31 转载 Scala Akka 系列文章
- android创建桌面快捷键shortcut
- coreplayer n79下载_coreplayer
- 最佳材料设计Android应用模板
- c语言存储转置矩阵,C语言实现矩阵转置(附带源码)
- 安装linux播放器mplayer,smplayer
- 烤仔的客厅 | 明晚7:30,KAKA和烤仔在b站等你~
- oracle监听启动无权限,ubuntu 下启动oracle监听失败:TNS-12555: TNS:permission denied
- Incapsula到底是什么
- 20180529-A · Comic book characters · ggplot2 geom_bar geom_text 柱状图 条形图 图例 · R 语言数据可视化 案例 源码
热门文章
- java jasperReports导出PDF字体加粗失效,中文显示不出来
- java计算机毕业设计教学互动跟踪系统源码+mysql数据库+系统+lw文档+部署
- linux查看python解释器位置——及linux虚拟环境中的python解释器位置
- Linux下的IPv6地址、路由以及隧道配置
- wireshark数据包格式的基本介绍
- [数值计算-5]:一元二次非线性方程求解 - 解析法直接求解
- Android上百实例源码分析以及开源分析集合打包
- 深度强化学习CS285 lec13-lec15 (下)
- python ctypes详解-CTypes
- sublime快捷键!+tab键失效