其他

科协训练营 | Arduino学习第一弹——带你认识Arduino

2017-11-01 2系科技实践部 北航MrE

作者:北航2系科技实践部(戳我)

  Arduino作为一款便捷灵活、方便上手的开源电子原型平台,深受不同人群的欢迎。我们将推出一系列Arduino学习的推送,帮助你快速掌握这款日益流行的单片机。我们的“Arduino学习第一弹”将带领大家认识Arduino,从最简单的“Hello World!”程序开始,帮你走入Arduino的世界。

一 、单片机与Arduino

 

1、什么是单片机?


  通俗的讲,单片机就是一块集成芯片,但是这块集成芯片的功能需要我们自己编写程序去控制与实现。它是采用超大规模集成电路技术把具有数据处理能力的CPU、随机存储器RAM、只读存储器ROM、多种I/O口和终端系统、定时器/计数器等功能的电路集成到一块硅片上,构成的一个小而完善的微型计算机系统

  单片机发展到现在,其家族内部已经拥有了51、MSP430、TMS、STM32、PIC、AVR、STC等多个成员,每一个成员又分成许多不同的系列,可以说在市场上单片机已经能够让人眼花缭乱了。而其能发展成为如今的规模,与其小巧灵活、功能强大等特点是分不开的。恰恰就是这些特点,使得单片机在片上系统领域内的地位无法撼动。其应用之广,在智能仪器仪表、自动控制、家用电器、医用设备等各个领域都能找到它的身影。可以说,我们的世界早已离不开单片机。

 

2、什么是Arduino?


  Arduino是单片机的一种,是一种十分独特的单片机。严格的讲,Arduino是一款便捷灵活、方便上手的开源电子原型平台。所谓开源,就是任何人都能对其技术,无论是硬件还是软件进行更改与开发。正是因为这一理念,Arduino才日益流行,并且在不同的人群中大受欢迎。

  与普通单片机相比,Arduino因其具有大量高度集成化的标准库函数而对初学者更加友善,因此特别适合学生与一些业余爱好者们学习使用。学习Arduino单片机可以完全不需要了解其内部的硬件构成与寄存器设置,可以完全没有硬件知识,甚至对于软件知识的需求也少到极致——用户仅仅需要有十分基础的C语言基础,就可以对照函数库写出漂亮而功能强大的Arduino代码。除此之外,价格便宜也是其一大特点,因此不需要畏手畏脚的考虑学习成本的问题。当然,Arduino还有更多的优点,在这里就不一一列出了。


二、控制Arduino的软件——Arduino IDE


01


 Arduino IDE下载与安装。


  因为Arduino完全开源,因此其IDE可以在官网(http://arduino.cc/en/main/software)上直接免费获得。IDE对应版本有Windows、OS X和Linux,读者可以根据需求自行下载,本文接下来以Windows系统为例讲解Arduino IDE的安装。

  首先从官网上获得IDE的标准.exe文件,并双击运行,打开Arduino IDE的安装向导,后续步骤完全按照向导提示运行即可,需要注意的是,在选择安装内容的时候,一定要选择 “install USB drivers”项,如下图所示,这样才能够保证连接单片机之后的正常使用。

02

 

Arduino IDE界面简介


  打开IDE之后,会发现如下界面,其常用按钮功能如图示。

编译:对书写好的程序进行编译,确定其没有语法错误

上传:将程序上传/烧写/下载到单片机板子中,进行应用

新建程序、打开程序、保存程序,功能如其命名


  其余的菜单栏的功能都十分简单,随着学习的深入我们会逐渐的涉及到,在此不再赘述。

 


三、迈开学习的第一步——Hello World! 


01

 

第一次尝试


  最开始使用Arduino开发板,将使 用“Hello World!”的例子带领大家进入神奇的单片机世界。

  该样例的功能是,使单片机与电脑通过串口进行通信,并且向电脑不停的发送“Hello world!”的字符串,并且显示在监视器上。如果你不明白串口通信没关系,我们会在后续章节进行介绍,现在你只需要根据步骤执行,来体会arduino开发的基本步骤。

  如图示,将程序输入至编辑区,然后点击验证对程序进行编译,确保程序正确。

  在菜单栏中,选择“工具”->“端口”,配置好开发板所连接的串口编号(即当前电脑与单片机连接的串口编号);再选择“工具”->“开发板”,选择开发板型号

  由于我们使用的开发板为学校统一发放的Uno开发板,因此选择 “Arduino/ Genuino Uno”选项,如下图所示。应当注意的是,此两步非常重要且必不可少,配置的正确性将直接影响是否能够将程序顺利的上传至开发板中。

  配置好之后点击上传按钮,显示“上传成功”字样之后,程序就已经烧写到开发板中,并且已经运行起来了。

  虽然程序已经顺利的烧写进开发版并且已经运行起来了,但是我们还不能看到程序的运行结果。这是因为,串口通信需要通过专门的串口监视器进行监视。好在Arduino IDE中已经集成了串口监视器,因此我们不需要再单独的下载了。

  如下图所示,选择“工具”->“串口监视器”,打开串口监视器,就可以看到屏幕上不断的刷新“Hello World!”,这也代表着我们的第一个项目完美成功。

02


 “Hello World!”程序的解释


  通过对样例的模仿与执行,我们不难发现,在学习之初首先要掌握的是如何编写可以通过编译与上传的程序,下面就来分析一下Arduino的程序构成。

  在标准C语言中,main函数是程序开始的入口。但是观察Arduino的程序发现,其中并没有main函数,取而代之的是setup函数与loop函数。顾名思义,setup函数就是在程序运行之初做的一些准备,它是在程序运行的最开始,对于变量或者接口的初始化,因此只执行一遍;而loop函数显然是循环的意思,其作用相当于一个do…while(1)的循环,也即无限循环。这样,本例中的程序就可以翻译为:

void setup()  {         //以下内容为初始化

Serial.begin(9600);      //将串口波特率设置为9600

}         

 

void loop()  {          //以下内容无限循环:

Serial.println(“Hello World!”); //通过串口发送“Hello World!”并且打印

delay(5000);            //延迟5000ms

}

 

  这就是Arduino程序的基本结构,至于其中的串口、波特率、延迟等知识,不要着急,我们会在后续的教程中进行说明。期待你的持续关注!


北航电子科技协会出品

策划/侯福超 

文案/周博文 梁家伟 侯福超

编辑/侯晓鹏


 




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存