创客关键词-6-Arduino开发环境

一、下载安装

Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE)。它适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。

1.Arduino IDE下载

官网下载地址:https://www.arduino.cc/en/Main/Software
官网下载有时打不开可以直接下载老师网盘中的软件。

官网下载界面.png

将网页界面改成中文模式后选择合适的安装包。我的系统为win10,64位,所以选择下载Windows安装包。当然也可以选择英文模式中的Windows installer。下载完成后,直接双击exe文件开始安装。

2.安装

(1)许可协议

许可协议.png

点击 I Agree。

(2)安装选项

安装选项.png

从上到下依次是:
安装Arduino软件
安装USB驱动
创建开始菜单快捷方式
创建桌面快捷方式
关联ino文件
安装保持默认即可

(3)安装文件夹

选择安装位置.png

选择安装位置,其中默认安装位置为C:\Program Files(x86)\Arduino,可以根据自己的需要调整安装位置。

(4)安装过程

安装过程中.png

USB驱动安装1.png

USB驱动安装2.png

LLC端口安装.png

安装完成后点击close

(5)安装完成

这时桌面上出现Arduino图标

logo.png

(6)界面介绍

软件界面.png

菜单栏包括:文件,编辑,项目,工具,帮助

  • 文件菜单:
    写好的程序通过文件的形式保存在计算机时,需要使用文件菜单,文件菜单常用的选项包括:新建文件,打开文件,保存,另存为,关闭,示例,

  • 编辑菜单:
    紧邻文件菜单右侧的是编辑菜单,编辑菜单顾名思义是编辑文本时常用的选项集合。常用的编辑选项为恢复、重做、剪切、复制、粘贴 、全选和查找 。这些选项的快捷键也和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()函数代码,它会不断重复运行
}
  1. setup()
    Arduino控制器通电或复位后,即会开始执行setup()函数中的程序,改程序只会执行一次。
    通常是在setup()函数中完成Arduino的初始化设置,如配置I/O口状态和初始化串口等操作
  2. 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可用的整数类型及取值范围如下表所示。在ArduinoDue中int型及unsigned int 型占用四字节。
Arduino可用整数类型及其取值范围.jpg

②浮点型

浮点数就是平常所说的实数,在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

三、学习资源

  1. Arduino 官网 https://www.arduino.cn/
  2. 10个任何人都可以做的Arduino http://m.elecfans.com/article/680627.html
  3. [Beginning.Arduino].Michael.McRoberts.文字版.pdf
    https://pan.baidu.com/s/1KT2Un3KL6w7Dx3imf0069Q
  4. archivetemp《爱上Arduino》中文版https://pan.baidu.com/s/1SvCnKXPIoepz1fBKpTnC2w
    Arduino+传感器 玩转电子制作.jpg
Arduino编程.jpg
Arduino编程从零开始.jpg
Arduino从基础到实践.jpg
Arduino入门基础教程.jpg
Arduino实战指南AVR篇.jpg
爱上Arduino.jpg
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • 十一组:李超 张欣萌 下载安装 Arduino主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino...
    0222李超阅读 594评论 1 2
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_X自主阅读 15,969评论 3 119
  • 被一个陌生电话吵醒,女子无法再入眠,但也不愿起床做点什么,索性闭上眼睛,听车子经过的汽笛声、小贩的叫卖声、...
    种花的小丫头阅读 340评论 0 0
  • 你有没有这样的体验?生命里总是不断出现同样的问题,不停地换工作,老板却变得愈发苛刻。不停地换男朋友,却总是遇到渣男...
    Jenny乔阅读 775评论 1 4
  • 昨天晚上偷了懒,没有写东西,给自己找借口这些天睡不好,要早点休息,明早早点起来再写。 早上醒来,不算晚,但听着窗外...
    麦田有棵树阅读 174评论 0 0