NodeMCU ESP8266 读取按键外部输入信号详解(图文并茂)
NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂)

文章目录
- NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂)
- 前言
- 按键输入
- 常用接口
- pinMode
- digitalRead
- 示例代码
- 结论
前言
ESP8266如何检测外部信号的输入,通常可以检测到TTL电平的高电平和低电平。
TTL(Transistor-Transistor Logic)电平是一种常用的数字电平标准,通常用于数字电路和逻辑电路中。TTL电平具有以下特征和定义:
- 输出状态
- L:低于
0.8V; - H:高于
2.4V;
- L:低于
- 输入状态:
- L:低于
1.2V; - H:高于
2.0V;
- L:低于
下面我们需要通过构造外围的硬件电路来做外部信号输入的测试。
按键输入
通常我们可以使用外部按键作为信号输入的元器件,这里接一个上拉电阻之后连接一个按键,我们可以通过面包板来构建电路,具体电路图如下所示;

常用接口
pinMode
这里我们需要将D2引脚作为输入,具体接口使用如下所示;
pinMode(2, INPUT);
digitalRead
这里需要使用接口digitalRead来获取GPIO输入的信号状态,可以读取高电平和低电平,
int buttonState = 0; // 存储按钮状态,0表示未按下,1表示按下
buttonState = digitalRead(2); // 读取按钮状态
示例代码
这段代码会将D2配置为输入引脚,D4配置为输出引脚。当按下按钮时(D2引脚为高电平),LED(D4引脚)会亮起,当释放按钮时(D2引脚为低电平),LED会熄灭。
const int buttonPin = D2;
const int ledPin = D4;void setup() {pinMode(buttonPin, INPUT);pinMode(ledPin, OUTPUT);
}void loop() {int buttonState = digitalRead(buttonPin);if (buttonState == HIGH) {digitalWrite(ledPin, HIGH);} else {digitalWrite(ledPin, LOW);}
}
结论
本文简单介绍了NodeMCU ESP8266获取外部信号的方法,并给出相应的实验,通过按键控制LED灯的亮和灭。
相关文章:
NodeMCU ESP8266 读取按键外部输入信号详解(图文并茂)
NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂) 文章目录 NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂)前言按键输入常用接口pinModedigitalRead 示例代码结论 前言 ESP8266如何检测外部信号的输入,通常…...
Oracle如何插入图片数据?
1、创建表,注意:插入图片的列要定义成BLOB类型 create table image_lob(t_id varchar2(5) not null,t_image blob not null);2、创建图片目录,images为目录名 create or replace directory "images" as f:\pic\;3、创建存储过程&am…...
C++特性——inline内联函数
1. 内联函数 1.1 C语言的宏 在C语言中,我们学习了用#define定义的宏函数,例如: #define Add(x, y) ((x) (y)) //两数相加相较于函数,我们知道宏替换具有如下比较明显的优点: 性能优势: 宏在预处理阶段…...
pensieve运行的经验
1运行run_videopy时出现如下问题: cmd: Union[List[str], str], ^ SyntaxError: invalid syntax原因是EasyProcess版本与python版本不对应,解决办法可见之前这篇博客:SyntaxError: invalid syntax。 2解决完上述问题后,输…...
Qt实现一个电子相册
一、要实现的功能 在窗口中可以显示图片,并且能够通过两个按钮进行图片的前进和后退的顺序切换。有一个按钮,通过这个按钮可以从所存图片资源中随机选取一个图片进行展示通过按钮可以控制图片自动轮播顺序切换的开始与停止,显示当前系统的时…...
R语言:因子分析 factor analysis
文章目录 因子分析数据集处理步骤主成分法做因子分析最大似然法做因子分析因子分析 因子分析的用途与主成分分析类似,它也是一种降维方法。由于因子往往比主成分更易得到解释,故因子分析比主成分分析更容易成功,从而有更广泛的应用。 从方法上来说,因子分析比主成分分析更为…...
SOFAStack软件供应链安全产品解析——SCA软件成分分析
近年来,软件供应链安全相关攻击事件呈快速增长态势,造成的危害也越来越严重,为了保障软件供应链安全,各行业主管单位也出台了诸多政策及技术标准。基于内部多年的实践,蚂蚁数科金融级云原生PaaS平台SOFAStack发布完整的…...
vue中ElementUi的el-table表格绑定行点击事件
<el-table v-loading"loading" :data"messagesList" row-click"goToMassage">handleRowClick(row, event, column) {// 在这里处理行点击事件console.log(行点击事件:, row, event, column);}...
力扣:盛最多水的容器
题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 …...
3D双目跟踪瞳孔识别
人眼数据集通常用于眼部相关的计算机视觉、眼动追踪、瞳孔检测、情感识别以及生物特征识别等领域的研究和开发。以下是一些常见的人眼数据集: BioID Face Database: 这个数据库包含1,521张近距离的人脸图像,其中包括瞳孔位置的标记。它通常用于瞳孔检测和…...
【java】Java项目从开发到部署生产完整流程梳理
文章目录 前言一、开发环境二、项目搭建2.1 Maven创建项目2.1.1 创建maven项目2.1.2 引入依赖2.1.3 maven常用命令 三、SpringBoot基础配置四、项目打包4.1 打包jar4.2 打包war4.2.1 修改项目打包为war包4.2.2 排除内嵌的tomcat,引入外部tomcat4.2.3 添加servlet-ap…...
Casbin实战经验大揭秘:教育培训领域的创新实践和高效优化策略
策略描述语言(论文) 摘要: 为了保护云资源的安全,防止数据泄露和非授权访问,必须对云平台的资源访问实施访问控制。然而,目前主流云平台通常采用自己的安全策略语言和访问控制机制,从而造成两个问题&#x…...
MyBatis篇---第一篇
系列文章目录 文章目录 系列文章目录一、什么是MyBatis二、说说MyBatis的优点和缺点三、#{}和${}的区别是什么?一、什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、…...
三级分类部分三级目录无法加载,后端接口能在前端返回所有数据
目录 项目场景:三类分类部分不显示问题描述:数据库序号128后的目录不显示原因分析: 数据库&JAVA后端代码:后端接口 解决方案:1 数据库序号问题2 JAVA层面1 递归改成非递归写法2重新写接口: 查询cat_id为…...
Leetcode1839. 所有元音按顺序排布的最长子字符串
Every day a Leetcode 题目来源:1839. 所有元音按顺序排布的最长子字符串 解法1:滑动窗口 要找的是最长美丽子字符串的长度,我们可以用滑动窗口解决。 设窗口内的子字符串为 window,每当 word[right] > window.back() 时&…...
C/C++程序设计和预处理
个人主页:仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客 专题分栏:C语言疑难_仍有未知等待探索的博客-CSDN博客 目录 一、引言 二、程序的翻译环境和执行环境 1、什么是程序 2、程序的翻译环境 3、程序的执行环境 三、预处理 1、预定义符…...
openssl生成自签名证书
原网址:https://blog.csdn.net/weixin_41767181/article/details/121531007 windows下安装openssl后,生成自签名证书并打包为P12文件的命令如下: 需要注意的是: 每一级的证书中,证书的公司名称等尽量不要一样根证书…...
JAVA毕业设计100—基于Java+Springboot+Vue的WMS仓库管理系统+移动端微信小程序(源码+数据库+部署视频)
基于JavaSpringbootVue的WMS仓库管理系统移动端(源码数据库部署视频) 一、系统介绍 本系统前后端分离带小程序 本系统分为管理员、用户角色(角色权限可自行分配) 功能列表: 1、 数据管理:物料数据管理、物料Bom管理、物料组管理、物料分类管理、供应…...
深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
文章目录 🌟 技术架构:深度学习推荐系统的经典技术架构长啥样?🍊 一、深度学习推荐系统的技术架构🍊 二、基于用户行为的推荐🍊 三、基于多模态数据的推荐🍊 四、基于知识图谱的推荐 dz…...
ios UI 基础开发二
第一节:UIPickerView、UIPickerViewDataSource、UIPickerViewDelegate 设置约束,如果要设置两个兄弟的约束,可以按住option键,用鼠标右键把a拖到b上面,表示a按照b来对齐 生成随机数 如果后面列的数据,依赖前…...
山东楼顶广告字技术白皮书:从选材到安装的完整实践指南
楼顶广告字的行业地位与价值在户外广告领域,山东楼顶广告字作为城市天际线的重要组成部分,不仅承担着商业宣传的功能,更成为区域经济发展的风向标。这类广告字通常安装在建筑物顶部,具有视野开阔、传播范围广的特点。随着城市建设…...
保姆级教程:用Python和DepthAI库快速上手OAK-D,实现双目摄像头画面拼接
Python与DepthAI实战:OAK-D双目画面拼接全流程解析 刚拿到OAK-D设备的开发者常会遇到这样的困境:硬件连接完成了,官方文档也浏览过,但面对DepthAI的管道概念和代码结构仍感到无从下手。本文将以双目画面拼接这个具体目标为切入点…...
选SSD别再只看品牌了!搞懂SLC、MLC、TLC的物理区别,省电又耐用
选SSD别再只看品牌了!搞懂SLC、MLC、TLC的物理区别,省电又耐用 每次打开电商平台的SSD商品页面,总能看到各种让人眼花缭乱的参数:读写速度、TBW寿命、IOPS性能...但最核心的NAND闪存类型却往往被淹没在营销话术中。作为一位经历过…...
如何快速部署GLM-5-w4a8:Atlas 800T A3上的终极AI推理解决方案
如何快速部署GLM-5-w4a8:Atlas 800T A3上的终极AI推理解决方案 【免费下载链接】GLM-5-w4a8 GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术&#x…...
从一次线上告警讲起:Go/Python服务中HTTP Client连接池配置不当引发的TIME_WAIT风暴
从TIME_WAIT风暴到高效连接管理:Go/Python微服务实战解析 凌晨3点,监控系统突然发出刺耳的告警声——某核心服务的响应延迟从50ms飙升到2000ms。登录机器执行netstat -ant | grep TIME_WAIT | wc -l后,终端显示的数字让人心头一紧:…...
从U-Net到ResNet:拆解TFNet双流网络,看遥感图像融合模型如何‘进化’
从U-Net到ResNet:拆解TFNet双流网络,看遥感图像融合模型如何‘进化’ 遥感图像处理领域的技术演进,就像一场精心设计的接力赛。当U-Net的跳跃连接遇上ResNet的残差思想,在双流网络架构中碰撞出新的火花。TFNet的出现绝非偶然&…...
OpenUtau:一站式免费开源虚拟歌手制作平台,开启音乐创作新纪元
OpenUtau:一站式免费开源虚拟歌手制作平台,开启音乐创作新纪元 【免费下载链接】OpenUtau Open singing synthesis platform / Open source UTAU successor 项目地址: https://gitcode.com/gh_mirrors/op/OpenUtau 你是否曾经梦想过创作属于自己的…...
Obsidian 多端同步最佳实践:基于坚果云的同步插件的增量同步与版本控制方案
作为一名经常在多台 PC、Mac 和移动端之间切换的技术人员,Obsidian(简称 OB)几乎是我的外脑系统。其本地化、纯 Markdown 格式以及高度可定制性无可挑剔。但唯一的痛点,一直卡在“数据同步与一致性”上。 传统的 iCloud 方案跨平…...
NVIDIA GPU学习复盘2-半精度、单精度与双精度运算
理解数据类型和大小,就像在工具箱中选择合适的工具一样。1、整数(integer):使用8 16 32 64位,位数越多,存储的数值就越大。例如:8位整数在无符号情况下可以存储0-255之间的值;有符号…...
告别手动挖洞:用Acunetix 13.0自动化扫描你的Pikachu靶场(附详细配置与报告解读)
从零到精通的Acunetix实战:Pikachu靶场自动化安全评估指南 在网络安全学习的过程中,靶场环境就像武术训练中的木人桩,而自动化扫描工具则是帮助我们快速发现弱点的"火眼金睛"。本文将带你深入探索如何将Acunetix这款专业级扫描工具…...
