一、下载安装
Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE)。它适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。
1.Arduino IDE下载
官网下载地址:https://www.arduino.cc/en/Main/Software
官网下载有时打不开可以直接下载老师网盘中的软件。
将网页界面改成中文模式后选择合适的安装包。我的系统为win10,64位,所以选择下载Windows安装包。当然也可以选择英文模式中的Windows installer。下载完成后,直接双击exe文件开始安装。
2.安装
(1)许可协议
点击 I Agree。
(2)安装选项
从上到下依次是:
安装Arduino软件
安装USB驱动
创建开始菜单快捷方式
创建桌面快捷方式
关联ino文件
安装保持默认即可
(3)安装文件夹
选择安装位置,其中默认安装位置为C:\Program Files(x86)\Arduino,可以根据自己的需要调整安装位置。
(4)安装过程
安装完成后点击close
(5)安装完成
这时桌面上出现Arduino图标
(6)界面介绍
菜单栏包括:文件,编辑,项目,工具,帮助
文件菜单:
写好的程序通过文件的形式保存在计算机时,需要使用文件菜单,文件菜单常用的选项包括:新建文件,打开文件,保存,另存为,关闭,示例,编辑菜单:
紧邻文件菜单右侧的是编辑菜单,编辑菜单顾名思义是编辑文本时常用的选项集合。常用的编辑选项为恢复、重做、剪切、复制、粘贴 、全选和查找 。这些选项的快捷键也和Microsoft Windows 应用程字的编辑快捷键相同。恢复为Ctrl+Z、剪切为Ctrl+X、复制为Ctrl+C、粘贴为Ctrl+V、全选为Ctrl+A、查找为Ctrl+F。此外,编辑菜单还提供了其他选项,如“注释”和“取消注释”,Arduino编辑器中使用“//” 代表注释。还有“增加缩进”和“减少缩进”选项、“复制到论坛”和“复制为HTML”等选项。项目菜单
程序菜单包括与程序相关功能的菜单项。主要包括:
验证/编译:用以完成程序的检查与编译,通过使用编译器编译程序来检查代码的语法错误。
显示项目文件夹:会打开当前程序的文件夹。
加载库:导入所引用的Arduino库文件。
添加文件:可以将一个其他程序复制到当前程序中,并在编辑器窗口的新选项卡中打开。工具菜单
工具菜单是一个与Arduino开发板相关的工具和设置集合。主要包括:
自动格式化:可以整理代码的格式,包括缩进、括号,使程序更易读和规范。
项目存档: 将程序文件夹中的所有文件均整合到一个压缩文件中,以便将文件备份或者分享。
修正编码并重新装载:在打开一个程序时发现由于编码问题导致无法显示程序中的非英文字符时使用的,如一些汉字无法显示或者出现乱码时,可以使用另外的编码方式重新打开文件。
串口监视器:是一个非常实用而且常用的选项,类似即时聊天的通讯工具,PC与Arduino 开发板连接的串口-交谈1的内容会在该串口显示器中显示出来。在串口监视器运行时,如果要与Arduino 开发板通信,需要在串口监视器顶部的输入栏中输入相应的字符或字符串,再单击发送按钮就能发送信息给Arduino.在使用串口监视器时,需要先设置串口波特率,当Arduino与PC的串口波特率相同时,两者才能够进行通讯。Windows PC的串口波特率的设置在计算机设备管理器中的端口属性中设置。
开发板:用来选泽串口连接的Arduino开发板型号,当连接不同型号的开发板时需要根据开发板的型号到“板卡1选项中选择相应的开发板。
端口:需要手动设置系统中可用的串口时选择的,在每次插拔一个Arduino电路板时,这个菜单的菜单项都会自动更新,也可手动选择哪个串口接开发板。
串口:需要手动设置系统中可用的串口时选择的,在每次插拔一个Arduino电路板时,这个菜单的菜单项都会自动更新,也可手动选择哪个串口接开发板。
板卡:用来选泽串口连接的Arduino开发板型号,当连接不同型号的开发板时需要根据开发板的型号到“板卡1选项中选择相应的开发板。
菜单栏下方按钮包括:验证,上传,新建,打开程序,保存程序,串口监视器
- 校验:用以完成程序的检查与编译,通过使用编译器编译程序来检查代码的语法错误。
- 上传:即通常所说的下载或烧写功能,将编译后的程序文件上传到Arduino板中,用于更新Arduino板中的程序。
- 新建:新建一个程序文件。
- 打开:打开一个存在的程序文件
- 保存,保存当前的程序文件。
- 串口监视窗,可监视开发环境使用的串口收发的数据,打开一个串口终端窗口,通过这个窗口可以使用ISP串口与Arduino通信。
二、Arduino编程语言特点
1.Arduino语言
arduino使用C/C++语言编写程序,虽然C++兼容C语言,但是这两种语言又有所区别。C语言是一种面向过程的编程语言,C++是一种面向对象的语言。早期的arduino核心库使用C语言编写,后来引进了面向对象的思维,目前最新的arduino核心库使用C与C++混合编程。
通常所说的Arduino语言,是指Arduino核心库所提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。这些API是对更底层的单片机支持库进行二次封装所形成的。这些封装好的API使得程序中的语句更容易被理解,因此可以不用理会单片机中繁杂的寄存器配置就能直观的控制Aeduino,在增强了程序可读性的同时,也提高了开发效率。
2.Arduino程序结构
Arduino程序结构与传统的C/C++的程序结构有所不同——Arduino程序中没有main()函数。
其实并不是Arduino程序中没有main()函数,而是main()函数定义隐藏在了Arduino的核心库文件中。在进行Arduino开发时一般不直接操作main函数,而是使用setup()和loop()两个函数。
Arduino程序的基本结构如下:
void setup
{
//在这里填写setup()函数代码,它只会运行一次
}
void loop
{
//在这里填写loop()函数代码,它会不断重复运行
}
- setup()
Arduino控制器通电或复位后,即会开始执行setup()函数中的程序,改程序只会执行一次。
通常是在setup()函数中完成Arduino的初始化设置,如配置I/O口状态和初始化串口等操作 - loop()
setup()函数中的程序执行完毕后,Arduino会接着执行loop()函数中的程序。而loop()函数是一个死循环,其中的程序会不断地重复执行。
通常loop()函数中完成程序的主要功能,如驱动各种模块和采集数据等。
3.Arduino C/C++语言部分基础
(1)数据类型
- 常量
在程序运行过程中其值不能改变的量,常量可以是字符也可以是数字,通常使用语句 ↓ 定义常量
#define 常量名 常量值
比如在Arduino核心库中已定义的常量PI,即是使用语句 ↓ 定义的
#define PI 3.1415926535897932384626433832795
- 变量
程序中可变的值称为变量,其定义方法是:
类型 变量名;
例如:
int i;
int i =95;
int i;
i=95
①整型
②浮点型
浮点数就是平常所说的实数,在Arduino中有float和double两种浮点类型,但在使用AVR座位核心的Arduino上两者的精度是一样的,都占用4字节内存空间。在Arduino Due中,double类型占用8字节内存空间。
浮点型数据的运算较慢且有一定的误差,因此通常会把浮点类型转换为整型来处理相关运算。如9.8cm通常会换算为98mm来计算。
③字符型
即char类型,占用1字节,存储字符变量。存储字符变量时,字符需要用单引号引用,如
char col='C'
④布尔型
即boolean类型。它的值只用两个:false(假)和true(真)。占用一字节。
(2)选择结构
- if 语句
①简单分支结构
if(表达式)
{
语句;
}
②双分支语句
if(表达式)
{
语句1;
}
else
{
语句2;
}
③多分支语句
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else if(表达式3)
{
语句3;
}
else if(表达式4)
{
语句4;
}
……
- switch...case语句
switch(表达式)
{
case 常量表达式1:
语句1
break;
case 常量表达式2:
语句2
break;
case 常量表达式3:
语句3
break;
……
default:
语句n
break;
}
(3)循环结构
- 循环语句
①while循环
while(表达式)
{
语句;
}
②do...while循环
do
{
语句;
}
while(表达式);
③for循环
for(表达式1;表达式2;表达式3)
{
语句;
}
- 循环控制语句
①break
if(表达式)
{
break;
}
②continue
if(表达式)
{
continue;
}
4.基础语句
1.配置引脚的模式为输入模式或输出模式
pinMode(pin,mode);
pin为指定配置的引脚编号,mode为指定的配置模式——input(输入),output(输出)
2.设置引脚输出高电平或低电平
digitalWrite(pin,value);
pin为指定输出的引脚编号,value为要指定的输出电平——high(高电平),low(低电平)
3.读取外部输入的数字信号
digitalRead(pin);
pin为指定读取状态的引脚编号。
4.延时函数
delay(ms);
单位为ms
三、学习资源
- Arduino 官网 https://www.arduino.cn/
- 10个任何人都可以做的Arduino http://m.elecfans.com/article/680627.html
- [Beginning.Arduino].Michael.McRoberts.文字版.pdf
https://pan.baidu.com/s/1KT2Un3KL6w7Dx3imf0069Q - archivetemp《爱上Arduino》中文版https://pan.baidu.com/s/1SvCnKXPIoepz1fBKpTnC2w