【Arduino】数字I/O的使用

目录

1、引脚工作模式

2、写入引脚digitaWrite()

3、读取引脚digitalRead(pin);

4、示例

跑马灯


1、引脚工作模式

Arduino通过pinMode()设置引脚的io工作模式,一共有4种模式

工作模式

Mode

说明

输出模式

OUTPUT

引脚为低阻抗状态,用于驱动LED和电机等外设

输入模式

INPUT

引脚为高阻抗状态(100兆欧)。此时该引脚可用于读取传感器信号或开关信号。

输入上拉模式

INPUT_PULLUP

仅支持Arduino 1.0.1以后版本,开启引脚的内部上拉电阻,实现上拉输入功能

输入下拉模式

INPUT_PULLDOWN

GPIO设置为具有内部下拉功能的输入。

内部上拉和下拉

ESP32 SoC 系列支持通过 45kR 电阻器实现内部上拉和下拉,该电阻可在将 GPIO 模式配置为模式时启用。 如果未定义上拉或下拉模式,则引脚将保持在高阻抗模式

pinMode(mode,pin);
//mdoe:OUTPUT、INPUT、INPUT_PULLUP
//pin:需要设置工作模式的引脚编号

2、写入引脚digitaWrite()

如果设置引脚为输出模式后,可以通过该函数将数字引设置为HIGH(高电平)或LOW(低电平)。

如果设置引脚为输入模式后,通过digitalWrite()语句将该引脚设置为HIGH时,
与将该引脚将被设置为输入上拉(INPUT_PULLUP)模式相同。

digitalWrite(pin, value)
//pin:引脚号码
//value: HIGH 或 LOW

3、读取引脚digitalRead(pin);

设置引脚为输入模式后digitalRead(pin);()读取数字输入引脚的状态

digitalRead(pin);
//pin:指定要读取的引脚的编号

digtRead用来读取数字输入引脚的状态的函数。返回引脚的状态,即HIGH或LOW,该函数可以用于读取开关、按钮、传感器等数字输入设备的状态。

Serial.println():

需要注意的事:D4引脚内部和开发板LED灯同步,给D4低电平,LED亮,串口监视器输出0,给D4高电平,LED熄灭。

4、示例

  • 电路图以及开发板对应内部芯片io引脚

跑马灯

void setup() {//定义引脚pinMode(16,OUTPUT);  pinMode(14,OUTPUT);pinMode(12,OUTPUT);pinMode(13,OUTPUT);pinMode(5,INPUT);}
void loop() {digitalWrite(16,LOW);delay(500);digitalWrite(16,HIGH);digitalWrite(14,LOW);delay(500);digitalWrite(14,HIGH);digitalWrite(12,LOW);delay(500);digitalWrite(12,HIGH);digitalWrite(13,LOW);delay(500);digitalWrite(13,HIGH);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv9改进策略目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制

👑 YOLOv9有效涨点专栏目录 👑 专栏视频介绍:包括专栏介绍、得到的项目文件、模型二次创新、权重文件的使用问题,点击即可跳转。 前言 Hello,各位读者们好 本专栏自开设两个月以来已经更新改进教程50余篇其中包含Re…

foxmail简介

Foxmail是一款电子邮件客户端软件,它最初由中国的程序员张小龙开发,后来被腾讯公司收购并继续开发。Foxmail以其轻量级、易于使用和强大的邮件管理功能而受到用户的喜爱。 1. **起源**:Foxmail在1997年由张小龙开发,最初是作为一…

自动攻丝机进出料激光检测 进料出料失败报警循环手动及关闭报警退出无限循环

/**************进料检测********************/ /***缺料无限次循环 手动退出 超时报警*******/ void check_Pon() // { zstatus0; //报警计数器归零 Signauto1; …

Pytorch 与 Tensorflow:深度学习的主要区别(1)

引言 目前,Python 深度学习领域已经涌现出多个由科技界巨头如 Google、Facebook 和 Uber 等公司公开发布的框架,这些框架旨在帮助开发者构建先进的计算架构。对于刚接触这一领域的你来说,深度学习是计算机科学中的一个分支,它通过…

如何查看centos7是否安装nginx

要查看 CentOS 7 系统上是否安装了 Nginx,您可以使用多种方法来检查。以下是一些常见的方法: 通过 RPM 包管理器查询 在 CentOS 系统上,可以使用 RPM 包管理器来查询已安装的软件包。要查看是否安装了 Nginx,您可以在终端中运行以…

福建在线教育系统搭建,培训班如何宣传招生?有几种方法?

培训行业近年发展的十分快速,现在很多孩子都会报几个兴趣培训班,教培行业门槛比较低,市场需求比较大,越来越多的人涌入这个行业,培训班之间竞争也越来越激烈,那培训班如何宣传招生? 传统线下招生…

元学习基础概念

元学习 Meta-Learning 1.基础概念 学习如何学习,目标是让模型能够通过学习任务的经验,更好地适应新任务。 元学习试图使模型能够在面对新任务时更快、更有效地学习,以便在少量的样本上达到良好的性能。 主要思想:将学习任务视为…

编写Scala工具函数,将leetcode多维数组的String表现形式转换为Array

文章目录 思路convertOneDimconvertTwoDim完整代码 前言: 笔者最近在学习Scala,通过Scala刷leetcode算法来掌握语法。但leetcode对Scala极不友好,且测试样例所需时间非常多。因此需要使用idea进行辅助。但idea并没有封装输入,因此…

【深度学习目标检测】二十六、基于深度学习的垃圾检测系统-含数据集、GUI和源码(python,yolov8)

设计垃圾检测系统的意义在于多个方面,这些方面不仅关乎环境保护和城市管理,还涉及到技术进步和社会效益。以下是设计垃圾检测系统的主要意义: 环境保护与资源回收: 垃圾检测系统能够有效地识别不同种类的垃圾,帮助人们…

linux 个人用户设置默认shell为tcsh

笔者的shell在进入时就是bash,使用了一种常规方法如下 在.bashrc中填入代码 exec tcsh exit 主要是进行了替换而不是修改默认的shell Generated by gpt4 在UNIX或Linux系统中,要将默认的shell更改为tcsh,你需要更改用户帐户的登录shell设置…

工作玩手机监测识别摄像机

工作场所的员工玩手机已经成为了一种常见的现象,特别是在办公室、生产车间等地方。而这种现象不仅仅影响了员工的工作效率,还可能会对工作安全造成一定的隐患。为了监测和识别员工玩手机的情况,工作玩手机监测识别摄像机应运而生。工作玩手机…

Linux sndconfig命令教程:如何在Linux下设置声卡(附实例详解和注意事项)

Linux sndconfig命令介绍 sndconfig(Sound Configuration)是一个用于设置声卡的命令。它支持即插即用(Plug and Play,PnP)设置,可以自动检测并设置PnP声卡。sndconfig命令可以帮助用户在Linux系统中配置声…

旧物回收小程序开发:打造绿色生活,共筑美好未来

随着环保意识的逐渐增强,我们越来越意识到旧物回收的重要性。为了响应这一趋势,我们精心研发了一款旧物回收小程序,旨在通过科技的力量,让每个人都能够轻松参与到旧物回收的行动中来,共同为地球环保贡献一份力量。 一…

第187题| 快速学会“阿贝尔定理”| 无穷级数(十五)|武忠祥老师每日一题

解题思路:这道题没有告诉我们是多少,没办法求出收敛半径,所以我们只能根据题目给的两个条件来解题(选项代入法)。 1.x-1,说明收敛的中心点是1,观察下列选项,显然答案在C和D之中。 …

【数据结构】详解栈且实现

一.栈 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:…

【鸿蒙开发】第二十四章 IPC与RPC进程间通讯服务

1 IPC与RPC通信概述 IPC(Inter-Process Communication)与RPC(Remote Procedure Call)用于实现跨进程通信,不同的是前者使用Binder驱动,用于设备内的跨进程通信,后者使用软总线驱动,…

matlab如何画一个全屏和半屏的figure

figure(WindowState, maximized); plot(x, y);如何画一个上半个屏幕的figure screenSize get(0, ScreenSize); upperHalfPosition [screenSize(1), screenSize(2) screenSize(4)/2, screenSize(3), screenSize(4)/2]; figure(Position, upperHalfPosition);

【笔记】EF_PNN获取及运营商名称显示(待完善)

问题背景 当设备无法成功解析EONS(PNN)的值(即SIM卡EF文件内容),则会用次优先级的NITZ去refresh了SPN。(问题代码如下,是通过Phone对象拿到plmn为空) 运营商名称一般显示优先级:Eons > NITZ > XML OPL id 0 对应的是PNN第一条 功能逻辑 (定制)当卡中的spn为空…

如何进行并行执行的诊断与调优 —— 《OceanBase 并行执行》系列 6

在诊断并行执行问题时,我们可以从两个主要方面展开分析。首先,从整体系统层面进行考量,比如检查网络是否畅通、磁盘IO是否过载、CPU资源是否已用满;其次,针对具体的SQL语句进行深入剖析,定位问题SQL&#x…

HTML炫酷的相册

目录 写在前面 HTML简介 完整代码 代码分析 系列推荐 写在最后 写在前面 本期小编给大家带来一个炫酷的旋转相册,快来解锁属于你的独家记忆吧! HTML简介 HTML(全称为超文本标记语言)是一种用于创建网页结构和内容的标记语…