Arduino 按键实验
来源:互联网 发布:ae2018cc破解版mac 编辑:程序博客网 时间:2024/05/21 17:52
一、功能
实现按键控制LED亮灭。按下点亮,再次按下熄灭。
二、原理图
三、代码
int ButtonState;int ButtonLastState;int ButtonCounter;void setup() { // put your setup code here, to run once: pinMode(13,OUTPUT); pinMode(11,INPUT_PULLUP); Serial.begin(9600);}void loop() { // put your main code here, to run repeatedly: ButtonState = digitalRead(11); if(ButtonState != ButtonLastState) { if(ButtonState) { Serial.println("on"); ButtonCounter++; } else { Serial.println("off"); } delay(100); } ButtonLastState = ButtonState; if(ButtonCounter%2) { //Serial.println(ButtonCounter); digitalWrite(13,1); } else { digitalWrite(13,0); }}
四、解析
- 1、开关通过一个数字接口连接到 arduino,端口配置为上拉输入。在默认情况下,端口电平为高,按键按下时,端口被拉低。
- 2、理想情况下,一次按键对应着一个下降沿,一段低电平,一个上升沿。程序通过
ButtonState
和ButtonLastState
两个标志位来判断电平情况,通过这两个标志位实现了下降沿和上升沿进入第一个判断语句,即if(ButtonLastState != ButtonState)
,只不过下降沿和上升沿所处理的操作不同,下降沿不做处理,仅打印一条语句,上升沿时候则代表按键被按下并且已经放开了,则对按键次数进行加一。 - 3、要实现,按下点亮,再次按下熄灭,只需要对按键次数进行模2操作。
阅读全文
0 0
- Arduino 按键实验
- Arduino Mega_ADK 按键检测
- Arduino使用“按键传感器”
- Arduino按键软硬件实现
- 按键实验
- Arduino 按键控制有源蜂鸣器
- 【Arduino】1.2 按键的使用
- arduino实验日记
- Arduino 单位数码管实验
- Arduino Uno + 电位器实验
- arduino+oled测试实验
- Arduino NFC实验,Arduino读取RFID信息
- Arduino第一次实验—扫盲
- Arduino使用光敏电阻实验
- Arduino学习(五) 蜂鸣器实验
- Arduino学习(六) 继电器实验
- Arduino Uno 火焰传感器实验
- Arduino 编程相关 中断实验
- 【集训Day3 单调队列】最大子序列和
- 百度开发工程师的面试题(导航部门)
- 面试精选:链表问题集锦
- 外部程序访问SQL Server
- 数据结构Java版的排序算法的简单实现
- Arduino 按键实验
- Codeforces Round #429 (Div. 2)
- 百练 2075: Tangled in Cables
- 汉诺塔
- 学习经验总结(二)
- 2017年8月19日训练日记
- Java 线程池(ThreadPoolExecutor)原理分析与使用
- JVM加载class文件的原理机制简单总结
- CCPC2017网络赛8月19日总结