
Arduino Uno R3开发板系列学习教程(第0章:绪论)
本篇介绍了什么是Arduino,认识Uno开发板、Arduino如何与外界相连等知识,本篇旨在先带领大家先去认识Arduino,只有认识了,才可能更好的入门并逐步深入Arduino,只有真正系统的学习过一遍知识后才能有所感悟,这句话对任何你想学习的东西都适用。本文也介绍了Uno开发板的控制原理和Uno开发板的本质,Uno开发板的学习离不开IO口的学习,可以说学习Arduino就是在不断学习IO口的
Arduino uno的系列教程目录
预告篇:Arduino uno的系列教程之教程食用指南 link
Arduino Uno R3开发板系列学习教程(第0章:绪论) 本文
···
···
第 0 章:绪论
文章目录
一、Arduino是什么?
Arduino本质上可以理解为: 开源的硬件(包括单片机的各个参数)与配套的环境(Arduino IDE),它是连接软件与硬件的桥梁, 其最本质的功能是处理 IO信号 ,其中 IO 是 INPUT 与 OUTPUT 的简称(即控制与处理输入与输出的信号)
其中 输入 是指向开发板传输信号,开发板接收并处理这些信号;
输出 是指开发板向外界发送的信号;
开源产品:可以指一个产品从研发、设计、出品的所有细节全部公布与众的这类产品叫做开源产品,同理用户可以根据自己的需求来自己修改开源项目成一个新的项目,但开源不代表免费,可能需要购买得到
1、Arduino 如何连接世界?
Input : 光线、声音、压力、湿度···
Output : LED、各类电机、蜂鸣器···
Arduino:这里的Arduino可以理解为各类编译工具
各类编译工具 | 优缺点 |
---|---|
Arduino IDE(初学者必备) | 万能的工具,但前提是必须使用C或者C++编写,因为IDE实现是基于C++来实现的 ,可以脱机使用 |
Ardublock | 图形化编程语言,可以脱机使用 |
Processing | 图形设计类语言,是Java延伸的语言,展示数据最好 |
Snap | 图形化编程语言 |
S2A | 基于scratch语言,版本落后 |
S4A | 基于scratch语言,版本落后 |
M4A | 基于scratch语言,且需要买额外的硬件(较为昂贵),版本落后 |
Mind+ | 基于scratch语言,可以关注,且是唯一一个基于结果,而非过程的编译软件,2021年新更新 |
PlatformIO(进阶推荐) | IDE的最好替代者,并且编译效率高于IDE,自动补全等功能也比IDE出色 |
scratch语言也是图形化编程语言
脱机运行指开发板可以脱离数据线运行的,即直接将代码烧录进芯片
芯片或者计算机只能读懂机器语言,也叫低级语言(二进制),但C或C++等语言是高级语言,机器无法直接听懂,需要IDE这类工具将高级语言翻译为低级语言,机器才能读懂,并执行程序
其中Arduino的IO包括: 数字IO || 模拟IO || 串口IO
输入设备 Input | 功能 | 类型 |
---|---|---|
开关 | 某种状态下连通电路 | 数字输入 ( 开或关 ) |
电位器 | 调节旋转程度 | 模拟输入 ( 旋转不同值不同 ) |
蓝牙从 | 无线接收数据 ( 无线串口 ) | 串口输入 ( 向Arduino 发送信息 ) |
输出设备 Output | 功能 | 类型 |
---|---|---|
LED | 指示亮或灭 | 数字输出 |
马达 | 转动 | 模拟输出(调整转速) |
蓝牙主 | 无线发送数据 | 串口输出 |
其中蓝牙传输(串口的输入或输出)用的便是ASCII码,与数字和模拟信号均不同
2、输入输出设备如何与 Arduino 连接
使用环境中已经封装好的函数去控制各个端口,让各个端口获得相应的功能,以Arduino单片机的芯片作为中介来接收并处理各个端口输入的信号,或者直接让芯片控制某个端口输出相应信号,这两个功能既可以单独使用也可以进行联动形成更多有意思的功能
下图可以更好的体现这句话
后期如果有能力,我们可以自己设计自己的库函数,并封装在环境中,以便我们使用,目前我们只要对这些概念有所了解即可,在后续不断的实践中可以更好的理解这些功能,并且自己尝试去创作
二、Uno 板硬件介绍
1、板子上的硬件知识
编号 | 名称 | 介绍 |
---|---|---|
12 | Atmel Atmega 328 微控制器 | 开发板中最核心的元件,其中两边的金属片叫做引脚,是用于通讯的关键 |
1 | 数字输入输出端口 | 除特殊端口外只能处理高低电平的信号的端口,其中0与1是最特殊的端口,是Arduino与电脑传输数据时使用的,要保证这两个端口要最后使用;而PWM既支持数字的输入与输出,也支持模拟输出 |
2 | 模拟输入端口 | 存在除高低电平外的其他信号读入时使用 |
8 | 电源端口 | GND代表接地(类似于负极),5V代表5V电压,3V3或3.3V代表3.3V电压、Vin代表DC输入 |
4 | USB接口 | 用于供电与烧录程序或传输数据 |
5 | DC插头 | 外置12V供电 |
7 | 复位按键 | 当电子产品或单片机的时候按下此键,能够在不断电的情况下,使其重新启动。 |
13 | 电源指示灯 | 通电时会亮 |
10 | 13号引脚指示灯 | 13号引脚通高电平时会亮 |
通讯可以指芯片与芯片通讯、芯片与计算机通信、芯片与单片机通讯、单片机与单片机通讯等等
以下为拓展知识,教程中可能用不到,用到在学就行
拓展名称 | 介绍 |
---|---|
Vin端口 | 当使用外部电源通过DC电源座供电时,这个引脚可以输出电源电压 |
IOREF端口 | I/O参考电压。其他设备可通过该引脚识别开发板I/O参考电压 |
Reset端口 | 复位端口,接低电平会使Arduino复位,复位按键按下时,会使该端口接到低电平,从而让Arduino复位 |
AREF | 给AD转换提供外部参考电压,模拟输入参考电压输入引脚 |
推荐两位博主的文章:
学习Uno板的具体参数:文章链接
学习Uno板引脚的功能:文章链接
2、认识端口的 IO功能
高低电平可以用逻辑运算符布尔的 true 和 false、或二进制的 0 和 1
模拟输入中0至1023是Uno板的接收精度,如果想要提高精度,唯一的办法就是换其他板子,Uno板只支持到1023
模拟输出的值为0到255,例如马达的转速,如果超过则会返回0值开始
板子上插口旁边的代号就是每个串口的名字,其中端口代号如果标注 "~" 那么就说明此端口支持 PWM 信号的传输功能,板中印有 “PWM~” 指~是用于替换PWM的
三、学习建议
1、如何学习Arduino?
接触更多的 IO设备 ,了解更多 IO设备 的功能,多做总结,多做积累
2、Arduino Uno R3 版本选择?
如果是小白或者时间很紧张的同学,我推荐国产的官方板,即保证了最完美的环境,也有最具性价比的价钱,避免了试错成本和时间成本,克隆版可能由于自身的电路设计问题,导致无法正常学习;如果经验丰富,已经上手过很多开发板,那么可以尝尝鲜,多去探索,可以学到很多东西;
总结
本节到这里就结束了,本篇介绍了什么是Arduino,认识Uno开发板、Arduino如何与外界相连等知识,本篇旨在先带领大家先去认识Arduino,只有认识了,才可能更好的入门并逐步深入Arduino,只有真正系统的学习过一遍知识后才能有所感悟,这句话对任何你想学习的东西都适用。
例如某一学科在学习的时候可能一头雾水,但当你系统的学习过一遍后,回头在重走一遍这段路,也许你会发现一些始终理解不了的知识,就是曾经遗漏了一个小小的知识点所造成的,所以多回头走一走,你能看到很多曾经遗漏的美景,本篇值得在学习过一遍基础知识后再回顾一次,也许你就有新的启发。这也是好书为什么值得反复阅读的原因,第一次阅读可能是为了探路,尝试去设计一座通向远方的桥梁,那么第二次阅读就是完善了这座桥,反复阅读,反复重构,这座桥终将会变得越来越完美。
感谢大家的观看,如果对本系列文章感兴趣的朋友也请多多点赞分享,收藏关注不迷路,如有疑问可以在文章下方评论或者直接私聊我,我会在第一时间回复大家,大家的支持也是我第一动力。
更多推荐
所有评论(0)