当前位置: 首页 > news >正文

Arduino入门教程:5、按键输入

飞书文档https://x509p6c8to.feishu.cn/docx/HrdjdmclEobLNPxQvzqc29zNned

一、应用场景:

轻触开关、按键、电容开关、光栅传感器、微动、关电开关

二、原理:

通过IO读取引脚的电平,判断是否有信号触发。

什么是电压?什么是电平?高电平?低电平?

以TTL电路为例:

TTL电源电压是3.3V,高电平是2.4V--3.3V,低电平0V--0.8V,按照惯例,使用1来表示高电平,使用0表示低电平。

按键输入

接线:

参考代码:
#include <Arduino.h>//34 35 36 39仅可以作为输入INPUT,不支持INPUT_PULLUP
#define PIN_KEY 5void setup() {// put your setup code here, to run once:Serial.begin(9600);//设置为上拉输入,初始化后默认电平为高pinMode(PIN_KEY, INPUT_PULLUP); Serial.print("setup\n");
}void loop() {// put your main code here, to run repeatedly:// 此处进行按键去抖if(digitalRead(PIN_KEY)==LOW){Serial.print("KEY Click\n");delay(1000);}
}

按键消抖

#include <Arduino.h>//34 35 36 39仅可以作为输入INPUT,不支持INPUT_PULLUP
#define PIN_KEY 5void setup() {// put your setup code here, to run once:Serial.begin(9600);//设置为上拉输入,初始化后默认电平为高pinMode(PIN_KEY, INPUT_PULLUP); Serial.print("setup\n");
}void loop() {// put your main code here, to run repeatedly:// 此处进行按键去抖if(digitalRead(PIN_KEY)==LOW){delay(10);if(digitalRead(PIN_KEY)==LOW){Serial.print("KEY Click\n");delay(1000);}}
}

LED联动

接线:

参考代码:
#include <Arduino.h>//34 35 36 39仅可以作为输入INPUT,不支持INPUT_PULLUP
#define PIN_KEY 5
#define PIN_LED 18uint8_t button_presses = 0;void setup() {// put your setup code here, to run once:Serial.begin(9600);pinMode(PIN_KEY, INPUT_PULLUP); pinMode(PIN_LED, OUTPUT);Serial.print("setup\n");
}void loop() {// put your main code here, to run repeatedly:if(digitalRead(PIN_KEY)==LOW){digitalWrite(PIN_LED, HIGH);}else{digitalWrite(PIN_LED, LOW);}
}
http://www.lryc.cn/news/570606.html

相关文章:

  • 利用apache实现URL地址隐藏跳转(301跳转)
  • vlan客户端_VLAN攻击如何有效防范?搞定虚拟局域网就在网工知识角
  • python文件操作--复制
  • CFD仿真硬件选型建议
  • 网站ICP备案和公安备案教程
  • NOD32升级ID获取器For流星无语
  • cojs 疯狂的粉刷匠 疯狂的斐波那契 题解报告
  • Android 短信发送监控
  • 【Bug:docker】--docker的wsl版本问题
  • android apk反编译(Doapk工具和dex2jar工具介绍)
  • 网络正常,浏览器无法连接到代理服务器
  • C语言状态机:从入门到精通
  • 通用embedding模型和通用reranker模型,观测调研
  • 太阳花浏览器_钙钛矿太阳能电池精准测量 线上直播课程报名步骤详解
  • C语言 整数与字符串的相互转换
  • 抖音蓝牙遥控器芯片方案、自拍器蓝牙芯片方案 简易版 io控制
  • 2024年最全【入门级C语言小游戏】——“三子棋
  • 三态门有一个信号控制端en_数字电路可控门电路原理(三态/同相/反相、缓冲/驱动电路)...
  • 以初学者角度介绍TestComplete的使用
  • 使用md5校验文件
  • 综述|探究深度学习在园艺研究中的应用
  • Turbo C 3.0安装及使用说明
  • Spring是如何实现有代理对象的循环依赖
  • linux操作系统各版本直接的区别?
  • Junit Test a getter
  • Spring+Quartz实现定时任务的配置方法
  • 拯救OIBH总部
  • 甘特图工具和资源。你了解多少?
  • 62、数据访问-druid数据源starter整合方式
  • Python小酷库系列:Python中的JSON工具库(3)