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…

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

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

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就会提示代码块 …

调试ad5245的总结

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

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

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

使用 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方…

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

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

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

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

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

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

能见度传感器有什么特点-交通安全的保障

能见度传感器是一种用于测量能见度的设备&#xff0c;通常安装在高速公路、城市道路、桥梁等交通路段&#xff0c;以及隧道、停车场等封闭空间。这种传感器能够实时监测能见度值&#xff0c;并通过数据传输系统将数据发送到控制中心或相关管理部门&#xff0c;为交通安全管理、…

C++结合OpenCV:图像的加法运算

一、图像运算 针对图像的加法运算、位运算都是比较基础的运算。但是&#xff0c;很多复杂的图像处理功能正是借助这些基础的运算来完成的。所以&#xff0c;牢固掌握基础操作&#xff0c;对于更好地实现图像处理是非常有帮助的。本章简单介绍了加法运算、位运算&#xff0c;并…

自学Python笔记总结(更新中……)

自学Python笔记总结 网址数据类型类型查看类型&#xff0c;使用type内置类标识符 输出输入语句format函数的语法及用法数据类型的转换运算符算数运算符赋值运算符的特殊场景拆包 比较运算符逻辑运算符 与 短路位运算符运算符优先级 程序流程控制分支语句pass 占位 循环语句 whi…

DFT新手入门:VASPKIT生成模版INCAR

新手学习VASP计算时一般需要自行准备好VASP所需要的四个输入文件:INCAR POSCAR KPOINTS POTCAR。 其中POSCAR为计算任务的模型文件&#xff0c;POTCAR为与POSCAR中元素所对应的赝势&#xff0c;可根据要求选取。 KPOINTS的设置需要根据精度确定&#xff0c;一般通过vaspkit的1…

实现STM32烧写程序-(4) BIN文件结构

简介 BIN文件是一种二进制文件格式&#xff0c;用于存储和传输二进制数据。它包含了计算机或设备可以直接读取和执行的原始二进制数据。BIN文件通常用于存储程序、固件或其他二进制数据&#xff0c;例如嵌入式系统的固件、操作系统的映像文件等。 BIN文件的起源可以追溯到计算机…

获取本地IP网卡信息

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、获取本地IP&#xff0c;以及全部网卡信息总结 前言 一、获取本地IP&#xff0c;以及全部网卡信息 const os require(node:os) function getIPAdress(){/…

node-red实现ModBus-RTU 通信协议(RS485信号输出)的数据交互

node-red实现485型 - 温湿度变表数据转换 一、介绍二、 通讯协议2.1 通讯基本参数2.2 数据帧格式定义2.3 寄存器地址2.4 通讯协议示例以及解释 三、 node-red实现数据交互3.1 node-red读取数据3.2 node-red写回数据 本文参考《86 壳液晶温湿度变送器使用说明书&#xff08;485 …

html5+css3+bootstrap+js 新闻网页

新闻网页练习打卡&#xff01; 一、首页 二、社会 三、财经 四、视频展示 简易新闻网站&#xff08;期末作业&#xff09;