【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.hqwc.cn/news/696203.html

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

相关文章

Docker入门指南:Docker容器的使用(三)

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 在本章节中,将深入探讨 Docker 容器的概念,以及容器的使用。 📖 正文 1 什么是容器 1.1 Docker容器的介绍 Docker 容…

RT-Thread事件集

文章目录 前言一、RT-Thread事件集的概念二、事件集函数的使用1.创建事件集函数2.事件集发送函数3.事件集接收函数4.事件集删除函数 三、事件集使用例程总结 前言 本篇文章将给大家讲解RT-Thread中事件集的概念,了解什么是事件集及事件集的函数使用方法。 一、RT-…

uni-app跨端兼容

1.样式兼容 小程序端不支持*选择器,可以使用(view,text) 页面视口差异(tabar页、普通页) H5端默认开始scoped 例如骨架屏样式出现问题,需要将之前的样式拷贝到骨架屏中 提示:H5端是单页面应用,scoped隔离…

【AI大模型】自动生成红队攻击提示--GPTFUZZER

本篇参考论文为: Yu J, Lin X, Xing X. Gptfuzzer: Red teaming large language models with auto-generated jailbreak prompts[J]. arXiv preprint arXiv:2309.10253, 2023. https://arxiv.org/pdf/2309.10253 一 背景 虽然LLM在今天的各个领域得到了广泛的运用…

LeetCode343:整数拆分

题目描述 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 代码 动态规划 class Solution { public:int integerBreak(int n) {/*dp[i]:表示对…

用 Supabase CLI 进行本地开发环境搭建

文章目录 (零)前言(一)Supabase CLI(1.1)安装 Scoop(1.2)用 Scoop 安装 Supabase CLI (二)本地项目环境(2.1)初始化项目(2…

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

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

【XSRP软件无线电】基于软件无线电平台的QPSK频带通信系统设计

目录: 目录: 一、绪论 1.1 设计背景 1.2 设计目的 二、系统总体方案 2.1 专题调研题目 2.2 调研背景 2.3 设计任务解读 2.4 设计原理 2.4.1 原理框图 2.4.2 功能验证 三、软件设计 3.1 程序解读 3.2 程序设计 3.3 仿真结果: 四、程序代码分析…

【spark RDD】spark 之 Kryo高性能序列化框架

文章目录 一. RDD序列化的原因二. Kryo序列化框架三. spark 配置 kryo 序列化1. 设定kryo序列化2. 注册序列化类(非必须,但是强烈建议做)3. 配置 spark.kryoserializer.buffer 一. RDD序列化的原因 Spark初始化工作是在Driver端进行的&#…

JAVA智慧工地管理系统源码,智慧工地扬如何实现对工地扬尘的实时监测

智慧工地扬尘监测系统概述 智慧工地扬尘监测系统是一种利用现代信息技术,如光电传感技术和无线传输技术,对工地扬尘污染进行实时监测和管理的高效工具。该系统的目的是为了保护环境,减少因建筑施工产生的扬尘对周边地区的影响,同…

2024生日快乐祝福HTNL源码修复版

源码介绍 2024生日快乐祝福HTNL源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面, 源码截图 源码下载 2024生日快乐祝福HTNL源码

C语言(指针)3

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…