Arduino| 开发板介绍、编程入门(引脚信号的输入输出)

Arduino开发板介绍、编程入门

  • 开发板介绍
  • 编程入门
    • setup和loop函数
    • 引脚信号输入输出
      • 数字信号
      • 模拟信号

开发板介绍

下面是一张Ardunio Uno R3的引脚图,包含14个数字引脚、6个模拟输入、电源插孔、USB连接和ICSP插头等。
在这里插入图片描述
在这里插入图片描述
14个数字引脚:

  • Serial:0、1,被用于接收和发送串口数据。
  • 外部中断:2、3,可以输入外部中断信号。中断有四种触发模式:低电平触发、电平改变触发、上升沿触发、下降沿触发。
  • PWM输出:3、5、6、9、10、11,可输出8-bit PWM波。
  • SPI:10、11、12、13,可用于SPI通信。
  • L-LED:13,连接了一个LED,高电平打开LED,低电平关闭LED。

6个模拟输入:A0到A5,可以从模拟传感器(例如温度和湿度)读取信号,并转换为数字值。

电源插孔:图中最左上角的插孔。

USB连接:Arduino不可以同通过连接计算机上的USB线供电,获取计算机的脚本。

ICSP引脚:ICSP是一个AVR(自动电压调节器),通常称为SPI(串行外设接口),作为输出的“扩展”,把要输出设备从属到SPI总线的主机,通常由6个引脚。ICSP引脚旁边的“ON”电源LED显示灯表示是否由接通电源。

  • MISO:主控器输入,从芯片输出。
  • MOSI:主控器输出,从芯片输入。
  • SCK:时钟信号,用于同步数据传输。
  • RESET:复位,用于将芯片重置为初始状态。
  • VCC和GND:电源引脚,提供芯片所需的电源和地。

电源连接器:模拟端口左边的一组“POWER”的端口组。

  • IOREF:arduino工作时的电压,5V。
  • RESET:复位,重启arduino。
  • 其余的引脚提供不同的电压:3.3V、5V、GUN(接地0V)、Vin(9V)。

编程入门

打开IDE后可以看到自己生成的代码。
在这里插入图片描述

setup和loop函数

头文件:初始的时候,没有显示任何头文件,是因为已经IDE帮忙把需要头文件引入并隐藏了,如果需要自己引入额外的头文件再自己添加。
setup函数:启动后只会被运行一次,用来初始化串口、引脚、变量。
loop函数:setup后一直运行,不停循环,相当于主函数。

引脚信号输入输出

既然涉及到信号,就要补充一些信号的知识。对于我来说,最早接触信号是在计算机网络物理层的编码和调制的时候,编码能把数据变成模拟信号;调制能把数据变成数字信号。数字信号和模拟信号,数字信号是一些离散的信号,例如0和1;模拟信号是一些连续的信号。

数字信号

Arduino Uno的14个数字输入输出引脚,可使用 pinMode()、digitalWrite() 和 digitalRead() 控制。

pinMode(pin,value)
函数作用:设置引脚用于输入和输出模式。
value:OUTPUT表示输出,INPUT表示输入。

digitalWrite(pin,value)
函数作用:控制该引脚输出高电平或者低电平。
value:HIGH高电平,LOW低电平。

digitalRead(pin,value)
函数作用:判断该引脚输入的电平和value是否一致。
value:HIGH高电平,LOW低电平。

digitalRead(pin)
函数作用:获取该引脚的电平。

程序入门案例

/*
引脚2连接一个按钮,作为信号输入
引脚13号连接的是板子上的led灯,作为信号输出
*/const int ledPin = 13; 
const int inputPin = 2;void setup() 
{ //将引脚13设置为输出模式pinMode(ledPin, OUTPUT); //将引脚2设置为输入模式//引脚2与外部按钮连接pinMode(inputPin, INPUT);
}void loop()
{// 闭合按钮,引脚2为高电平int val = digitalRead(inputPin); if (val == HIGH){digitalWrite(ledPin, HIGH);// 点亮led} else {digitalWrite(ledPin, LOW);// 熄灭led}
}

模拟信号

Arduino Uno的6个模拟输入输出引脚,可使用 analogReference()、analogRead()和analogWrite()控制。

analogReference(type)
函数作用:配置模拟输入引脚的基准电压,也就是电压最大范围。
type:

  • DEFAULT:默认5v或者3.3v为基准电压。
  • INTERNAL:低电压模式,使用片内基准电压。
  • INTERNAL1v1:低电压模式,使用1v为基准电压。
  • INTERNAL2v256:低电压模式,使用2.56v为基准电压。
  • EXTERNAL:扩展接口,施加到AREF引脚的电压(仅限0至5V)用作基准电压源。

analogRead(pin)
函数作用:获取指定的模拟引脚读取模拟量,读取周期为100微秒,即最大速度为每秒读取10000次,函数返回值为int型(0~1023)。

analogWrite (pin, value)
函数作用:通过PWM的模式将模拟值输入到pin,调用analogWrite()后,相应的pin会产生一个指定占空比的稳定方波。
value:PWM占空比,PWM输出位数为8,其范围在0到255对应占空比为0到100%,带PWM功能的引脚标会有波浪线。

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

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

相关文章

React项目搭建流程

第一步 利用脚手架创建ts类型的react项目: 执行如下的命令:create-react-app myDemo --template typescript ; 第二步 清理项目目录结构: src/ index.tsx, app.txs, react-app-env.d.ts public/index.ht…

oss挂载ECS

非EMR集群接入OSS-HDFS服务的快速入门_对象存储(OSS)-阿里云帮助中心使用JindoFuse实现以标准的文件系统接口读写OSS-HDFS数据_对象存储(OSS)-阿里云帮助中心 下载最新版本的JindoSDK JAR包。下载地址,请参见GitHubhttps://github.com/aliyun/alibabacloud-jindodat…

基于树莓派5(Raspberry Pi 5)的高性能工业平板电脑升级版!

​ 上海晶珩继推出首个搭载 Raspberry Pi 5 的平板电脑ED-HMI3010系列后,又推出了具备高性能和多功能特性的 Raspberry Pi 5 的平板电脑ED-HMI3020系列。ED-HMI3020支持选择7英寸和10.1英寸两种尺寸的触摸屏,可选配 M.2 NVMe SSD 存储扩展,提…

Ubuntu配置基本环境以及docker安装基本中间件

提示:ip地址请改为自己的本地ip 为了安全性,建议都给一些中间件设置密码(本文也会教大家如何设置密码) 安装vim sudo apt install vim此处如果安装失败,apt要换源。 安装docker docker版本为24.0.2 首先&#xff…

CSS实现元素水平垂直居中几种方案

方案一&#xff1a;利用 display: inline-block; vertical-align: middle; <div class"box"> <div></div> <span></span> </div> .box { width: 500px; height: 500px; background-color: red; text-align: center; } .box div …

修改vscode内置Vue VSCode Snippets(代码片段)

打开插件文件夹 文件夹名是 "作者名.vscode-插件名-版本号"组成的. C:\Users\Administrator\.vscode\extensions\sdras.vue-vscode-snippets-3.1.1\snippets 打开vue.json "prefix": "vbase" 就是代码块的关键词,输入vbase就会提示代码块 …

UML2.0 14种图简单介绍

UML 2.0包括14种图&#xff0c;分别列举如下&#xff1a; &#xff08;1&#xff09;类图&#xff08;class diagram&#xff09;。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中&#xff0c;最常见的图就是类图。类图给出了系统的静态设计视图&#xff0c;活…

调试ad5245的总结

调试ad5245的总结 这个ad5245是通过IIC与FPGA进行通信的&#xff0c;首先要理解IIC协议。 经验总结&#xff1a; 1、SCL和SDA端的要有上拉电阻&#xff0c;且上拉电阻能正常工作&#xff1b; 2、要往SDA数据线上写三个字节才能调节ad5245的电阻值&#xff0c;第三个字节就是…

「云渲染科普」3dmax室内装修效果图怎么高效制作

3dmax室内装修效果图拥有丰富的家具、光影、材质纹理等&#xff0c;在渲染过程过程中如果室内的场景过大&#xff0c;个人电脑通常需要渲染几个小时或者好几天&#xff0c;这对于比较急的项目来说&#xff0c;往往会影响项目的进度。下面一起来看看3dmax室内装修效果图的&#…

linux如何按月统计日志中的接口访问数量

背景 有时候需要帮运营去统计一些数据,不论是活动产生的数据还是日常的数据。因为并没有功能来支撑&#xff0c;所以只能从日志中进行统计。 今天是需要通过在日志中按月统计用户登录的次数&#xff1a; 我们的日志格式大概如下: [2023-04-21 17:45:22.500] [1681985022047] …

使用 gitee+sphinx+readthedocs 搭建个人博客

给大家安利如何快速搭建个人博客网站&#xff01; 前言 这是我本地运行的一个使用sphinx构建的博客服务&#xff0c;这些文章&#xff0c;都是用markdown写的。 一直有个想法&#xff0c;就是把自己写的这些文件&#xff0c;搞成一个博客网站&#xff0c;放到网上&#xff0c…

【C++】__declspec含义

目录 一、__declspec(dllexport)如果这篇文章对你有所帮助&#xff0c;渴望获得你的一个点赞&#xff01; 一、__declspec(dllexport) __declspec(dllexport) 是 Microsoft Visual C 编译器提供的一个扩展&#xff0c;用于指示一个函数或变量在 DLL&#xff08;动态链接库&…

学习SSM框架第四天

学习目标&#xff1a; 基于XML三层架构开发小实验 学习时间&#xff1a; 学习SSM框架第四天 周三下午 开始实验前需要理解的几个知识点&#xff1a; 0.&#x1f356;生成对象方法 a.使用静态工程类 b.实例工厂类 c.空构造方法&#xff08;IOC&#xff09;所有属性的set方…

边缘计算的挑战和机遇:数据的安全性和隐私性问题

边缘计算的挑战和机遇&#xff1a;数据的安全性和隐私性问题 随着边缘计算技术的迅猛发展&#xff0c;数据的安全性和隐私性问题变得愈发重要。在分布式计算环境中&#xff0c;如何确保边缘计算中的数据安全性和隐私性成为亟待解决的问题。本文将深入讨论在边缘计算中设计有效…

Redis命令 - Sets命令组常用命令

Set集合&#xff0c;无序&#xff0c;一堆不重复值的组合。利用redis提供的set数据结构&#xff0c;可以存储一些集合性的数据。 使用场景&#xff1a;例如&#xff0c;实现如共同关注、共同喜好、二度好友等 1、SADD key member [member …] 向集合中添加一个或者多个成员 …

mybatisMysql分页查询,以及SQL_CALC_FOUND_ROWS与count(*) 性能对比

温故而知新&#xff0c;这里记录一下 一、引言 分页查询每个人程序猿几乎都使用过&#xff0c;但是有部分同学不懂什么是物理分页和逻辑分页。 物理分页&#xff1a; 相当于执行了limit分页语句&#xff0c;返回部分数据。物理分页只返回部分数据占用内存小&#xff0c;能够获取…

如何在simulink中怎么获取足端轨迹代码解释?

在使用Java代码框架统计用户获取足端轨迹时&#xff0c;我们可以使用Simulink的外部接口功能和Java的网络编程来实现。 首先&#xff0c;我们需要在Simulink中配置外部接口以便与Java进行通信。可以使用Simulink中的TCP/IP或UDP模块来实现网络通信。假设我们选择TCP/IP模块。 …

#AIGC##VDB# 【一篇入门VDB】矢量数据库-从技术介绍到选型方向

文章概览&#xff1a; 这篇文章深入探讨了矢量数据库的基本概念、工作原理以及在人工智能领域的广泛应用。 首先&#xff0c;文章解释了矢量的数学和物理学概念&#xff0c;然后引入了矢量在数据科学和机器学习中的应用。随后&#xff0c;详细介绍了什么是矢量数据库&#xff0…

文件包含漏洞原理以及修复方法

漏洞名称&#xff1a;文件include漏洞、文件包含 漏洞描述&#xff1a;文件包含是指程序代码在处理包含文件的时候没有严格控制。导致用户可以构造参数包含远程代码在服务器上执行&#xff0c;并得到网站配置或者敏感文件&#xff0c;进而获取到服务器权限&#xff0c;造成网站…

Java Web程序设计任务教程第2版课后题答案

ai的答案有些错误&#xff0c;从其他博主的资源和网上的资料共同结合整理出的一份课后题答案 一个word格式&#xff0c;一个PDF格式 防止因为打开的软件或者其他原因导致显示的错误