Arduino入门基础教程.docx

上传人:b****6 文档编号:6121557 上传时间:2023-01-04 格式:DOCX 页数:97 大小:4.37MB
下载 相关 举报
Arduino入门基础教程.docx_第1页
第1页 / 共97页
Arduino入门基础教程.docx_第2页
第2页 / 共97页
Arduino入门基础教程.docx_第3页
第3页 / 共97页
Arduino入门基础教程.docx_第4页
第4页 / 共97页
Arduino入门基础教程.docx_第5页
第5页 / 共97页
点击查看更多>>
下载资源
资源描述

Arduino入门基础教程.docx

《Arduino入门基础教程.docx》由会员分享,可在线阅读,更多相关《Arduino入门基础教程.docx(97页珍藏版)》请在冰豆网上搜索。

Arduino入门基础教程.docx

Arduino入门基础教程

Arduino入门基础教程

∙Arduino教程Lesson1--驱动安装及下载Blink程序3

∙Arduino教程Lesson2--LED灯闪烁28

∙Arduino教程Lesson3--做一个S.O.S求救信号灯35

∙Arduino教程Lesson4--互动交通信号灯44

∙Arduino教程Lesson5--呼吸灯56

∙Arduino教程Lesson6--炫彩RGBLED61

∙Arduino教程Lesson7--报警器68

∙Arduino教程Lesson8--温度报警器70

∙Arduino教程Lesson9--震动探测80

∙Arduino教程Lesson10--感光灯87

∙Arduino教程Lesson11--舵机初动92

∙Arduino教程Lesson12--可控舵机97

∙Arduino教程Lesson13--彩灯调光台102

∙Arduino教程Lesson14--自制风扇105

∙Arduino教程Lesson15--红外接收111

∙Arduino教程Lesson16--遥控灯116

∙Arduino教程Lesson17--数码管显示121

全网最简单的入门教程,通俗易懂,易掌握,由易到难,循序渐进,你能学习到“传感器的感知”,”控制器的处理”,”声光电设备的反馈“等。

每篇教程结构清晰,从硬件连接——>输入代码——>代码回顾——>硬件回顾。

不同于其他教程,本教程认真讲解arduino代码释义和用法,让你真正掌握arduino编程。

Arduino教程Lesson1--驱动安装及下载Blink程序

拿到了盼望已久的Arduino入门套件是不是有立马想试一试的冲动,但。

同样又面对不知如何下手的困扰呢?

我们这里就从头开始教大家。

那就开始吧!

STEP1:

下载ArduinoIDE

打开网页输入网址http:

//arduino.cc/en/Main/Software

ArduinoIDE老版本下载链接:

http:

//arduino.cc/en/Main/OldSoftwareReleases

进入到页面后,找到下图显示部分。

1.png(9.72KB,下载次数:

371)

下载附件 保存到相册

2013-12-911:

49上传

 

Windows用户,点击下载Windows(ZIPfile),如果Mac,Linux用户则选择相应的系统。

下载完成后,解压文件,把整个Arduino1.0.5文件夹放到你电脑熟悉的位置,便于你之后查找。

打开Arduino1.0.5文件夹,就是下图看到的内容。

2.png(49.08KB,下载次数:

111)

下载附件 保存到相册

2013-12-911:

49上传

 

STEP2:

  安装驱动

把USB一端插到UNO上,另一端连到电脑。

连接成功后,UNO板的红色电源指示灯ON亮起。

然后,打开控制面板,选择设备管理器。

3.png(54.18KB,下载次数:

141)

下载附件 保存到相册

2013-12-911:

49上传

 

找到其它设备-->Arduino-xx,右击选择更新驱动程序软件。

4.png(34.19KB,下载次数:

99)

下载附件 保存到相册

2013-12-911:

49上传

在弹出的对话框中选择下面一项-->手动查找并安装驱动程序软件。

5.png(26.43KB,下载次数:

122)

下载附件 保存到相册

2013-12-1018:

26上传

 

打开到ArduinoIDE安装位置,就是上面那个解压文件的位置,选择搜索路径到drivers,点击下一步。

6.png(23.76KB,下载次数:

97)

下载附件 保存到相册

2013-12-911:

49上传

 

选择始终安装此驱动程序软件,直至完成。

7.png(29.55KB,下载次数:

83)

下载附件 保存到相册

2013-12-911:

49上传

 

出现下图,说明驱动安装成功。

8.png(15.95KB,下载次数:

77)

下载附件 保存到相册

2013-12-911:

49上传

 

此时,设备管理器端口会显示一个串口号。

9.png(53.79KB,下载次数:

84)

下载附件 保存到相册

2013-12-911:

49上传

 

帖子最后罗列了一些驱动安装可能遇到的问题!

STEP3:

认识ArduinoIDE

打开ArudinoIDE,就会出现ArduinoIDE的编辑界面。

10.png(12.7KB,下载次数:

83)

下载附件 保存到相册

2013-12-911:

49上传

 

如果英文界面,你不太习惯的话,可以先更改为中文界面。

选择菜单栏File-->Preferences。

11.png(20.06KB,下载次数:

86)

下载附件 保存到相册

2013-12-911:

49上传

 

会跳出下面这个对话框,选择Editorlanguage-->简体中文,点击OK。

12.png(25.66KB,下载次数:

78)

下载附件 保存到相册

2013-12-911:

49上传

 

关闭ArduinoIDE,重新打开,就是中文界面了!

13.png(12.77KB,下载次数:

82)

下载附件 保存到相册

2013-12-911:

49上传

先简单认识看一下Arduino的这个编译器,以后可是要经常和它打交道的。

14.png(97.86KB,下载次数:

91)

下载附件 保存到相册

2013-12-911:

49上传

 

ArduinoIDE是Arduino产品的软件编辑环境。

简单的说就是用来写代码,下载代码的地方。

任何的Arduino产品都需要下载代码后才能运作。

我们所搭建的硬件电路是辅助代码来完成的,两者是缺一不可的。

如同人通过大脑来控制肢体活动是一个道理。

如果代码就是大脑的话,外围硬件就是肢体,肢体的活动取决于大脑,所以硬件实现取决于代码。

ArduinoIDE基本也只需要用到上面标示出来的部分就可以了,上图大部分的白色区域就是代码的编辑区,用来输入代码的。

注意,输入代码时,要切换到英文输入法的模式。

下面黑色的区域是消息提示区,会显示编译或者下载是否通过。

STEP4:

下载一个Blink程序

下载一个最简单的代码,既可以帮你熟悉如何下载程序,同时也测试下板子好坏。

UNO板上标有L的LED。

这段测试代码就是让这个LED灯闪烁。

15.png(109.25KB,下载次数:

119)

下载附件 保存到相册

2013-12-911:

49上传

插上USB线,打开ArduinoIDE后,找到“Blink”代码。

16.png(39.58KB,下载次数:

98)

下载附件 保存到相册

2013-12-911:

49上传

 

17.png(17.57KB,下载次数:

86)

下载附件 保存到相册

2013-12-911:

49上传

通常,写完一段代码后,我们都需要校验一下,看看代码有没有错误。

点击“校验”。

18.png(2.22KB,下载次数:

80)

下载附件 保存到相册

2013-12-911:

49上传

下图显示了正在校验中。

19.png(3.23KB,下载次数:

81)

下载附件 保存到相册

2013-12-911:

49上传

 

校验完毕!

20.png(4.06KB,下载次数:

77)

下载附件 保存到相册

2013-12-911:

49上传

 

由于是样例代码,所以校验不会有错误,不过在以后写代码的过程中,输入完代码,都需要校验一下,然后再下载到Arduino中。

在下载程序之前,我们还要先告诉ArduinoIDE板子型号以及相应的串口。

选择所用的板卡Board-->ArduinoUNO。

21.png(48.49KB,下载次数:

83)

下载附件 保存到相册

2013-12-911:

49上传

 

选择当前的串口-->COM口。

22.png(25.27KB,下载次数:

86)

下载附件 保存到相册

2013-12-911:

49上传

 

最后,点击“下载”。

23.png(2.41KB,下载次数:

84)

下载附件 保存到相册

2013-12-911:

49上传

下载完毕!

24.png(3.36KB,下载次数:

4263)

下载附件 保存到相册

2013-12-911:

49上传

 

"Blink"是如何工作的?

这就是Blink的代码:

1./*

2.  Blink

3.  TurnsonanLEDonforonesecond,thenoffforonesecond,repeatedly.

4.

5.  Thisexamplecodeisinthepublicdomain.

6.*/

7.

8.//Pin13hasanLEDconnectedonmostArduinoboards.

9.//giveitaname:

10.intled=13;

11.

12.//thesetuproutinerunsoncewhenyoupressreset:

13.voidsetup(){          

14.  //initializethedigitalpinasanoutput.

15.  pinMode(led,OUTPUT);    

16.}

17.

18.//thelooproutinerunsoverandoveragainforever:

19.voidloop(){

20.  digitalWrite(led,HIGH);  //turntheLEDon(HIGHisthevoltagelevel)

21.  delay(1000);          //waitforasecond

22.  digitalWrite(led,LOW);  //turntheLEDoffbymakingthevoltageLOW

23.  delay(1000);          //waitforasecond

24.}

复制代码

代码开头:

1./*

2.  Blink

3.  TurnsonanLEDonforonesecond,thenoffforonesecond,repeatedly.

4.

5.  Thisexamplecodeisinthepublicdomain.

6.*/

复制代码

这是代码中的说明文字,可以叫做注释。

用"/*…*/",这个符号之间的内容将不被编译器编译。

注释在代码中是非常有用的,它可以帮助你理解代码。

IDE也将自动把注释的文字颜色变为灰色。

1.//Pin13hasanLEDconnectedonmostArduinoboards.

2.//giveitaname:

复制代码

"//",这是另一种注释方法,表示这个符号所在行之后的文字将被注释掉。

"/*...*/"与"//"区别在于:

"/*...*/"可以注释多行,"//"只可以注释一行。

代码真正意义的第一行开始了!

1.intled=13;

复制代码

给LED灯所在的引脚13起个响亮的名字,叫"LED"。

需要注意的是:

UNO板上的"L"灯已经和数字引脚13相连了,所以也就是为什么声明为“13”的原因。

语句最后用一个“;”来表示这句语句的结束。

接下来是setup()函数:

1.voidsetup(){          

2.  //initializethedigitalpinasanoutput.

3.  pinMode(led,OUTPUT);    

4.}

复制代码

在这个程序里有两个函数,一个叫做setup,它的目的主要的loop函数运行之前为程序做必要的设置。

在Arduino中程序运行时将首先调用setup()函数。

每次Arduino上电或重启后,setup函数只运行一次。

这里,初始化数字引脚为OUTPUT模式:

1.pinMode(led,OUTPUT);

复制代码

pinMode(pin,mode)函数

Arduino官方:

pinMode()

函数内部被花括号括起来的部分将会被依次执行,从“{”开始,“}”结束。

两个符号之间的语句都属于这个函数。

Arduino程序必须包含setup()和loop()两个函数,否则不能正常工作。

在setup()函数中初始化和定义了变量后,就开始执行loop()函数。

顾名思义,该函数在程序运行过程中不断的循环,loop()函数中的每条语句都逐次进行,直到函数的最后,然后再从loop函数的第一条语句再次开始,三次、四次……一直这样循环下去,直到关闭Arduino或者按下重启按钮。

1.voidloop(){

2.  digitalWrite(led,HIGH);  //turntheLEDon(HIGHisthevoltagelevel)

3.  delay(1000);          //waitforasecond

4.  digitalWrite(led,LOW);  //turntheLEDoffbymakingthevoltageLOW

5.  delay(1000);          //waitforasecond

6.}

复制代码

函数内部:

1.digitalWrite(led,HIGH);

复制代码

给引脚13一个高电,让LED点亮。

digitalWrite(pin,value)函数

Arduino官方:

digitalWrite()

1.delay(1000);  

复制代码

延时1000ms(毫秒),也就是1s(秒)的时间。

delay(ms)函数

Arduino官方:

delay()

如果你想改变LED闪烁的时间,只需要设置delay的延时时间即可。

随后就是再给引脚13一个低电平,并延时1s。

1.  digitalWrite(led,LOW);

2.  delay(1000);  

复制代码

思考时刻:

思考一下如何让LED亮150ms,灭100ms。

提示:

修改delay()时间。

这一课就结束了,希望对你有帮助^_^

下一篇教程:

Arduino教程Lesson2--LED灯闪烁

补充一下:

安装驱动可能出现的问题

1.为什么Win8系统无法正常安装驱动?

可能原因:

Arduino-1.0.5之前的版本在Win8系统下提示驱动未签名。

解决方法:

win+I,选择最下方的更改电脑设置,常规-->高级启动下的立即重启-->疑难解答-->高级选项-->windows启动设置--->重启。

重启的时候跳出选择界面,按数字“7”选择强制禁用驱动签名,然后就像平常一样进系统装驱动。

2.精简版、GHOST版win7,arduino驱动安装失败的解决方法

详见:

3.Arduino无法安装驱动找不到指定文件问题的解决方法

详见:

Arduino教程Lesson2--LED灯闪烁

回顾一下Lesson1的内容,我简单分了以下几点:

∙了解Arduino软件编辑环境--ArduinoIDE

∙如何通过ArduinoIDE下载一个Blink程序

∙"//"和"/*...*/"的含义

∙setup()和loop()函数的重要性及作用

∙pinMode(pin,mode)函数

∙digitalWrite(pin,value)函数

∙delay(ms)函数

开始新的一课!

这次我们还是同样要用Blink程序,有所不同的是,这里我们需要外接一个LED到数字引脚,而不是使用焊在Arduino板上的LED13(也就是“L”灯)。

便于我们能清晰的认识LED的工作原理及一些硬件电路的搭建。

STEP1:

需要准备的东西:

1×DFduinoUNOR3(以及配套USB数据线)

  

 

1×PrototypeShield原型扩展板+面包板  

 

若干彩色面包线  

 

1×5mmLED灯  

 

1×220欧电阻*  

 

STEP2:

硬件连接

首先,从我们的套件中取出Prototypeshield扩展板和面包板,将面包板背面的双面胶歇下,粘贴到Prototypeshield扩展板上。

再取出UNO,把贴有面包板Prototypeshield扩展板插到UNO上。

取出所有元件,按照下图连接。

 

图中的蓝色与红色的线用彩色面包线连接,使用面包板上其他孔也没关系,只要元件和线的连接顺序与上图保持一致即可。

确保LED连接是否正确的,LED长脚为+,短脚为-,完成连接后,给Arduino接上USB数据线,供电,准备下载程序。

STEP3:

输入代码

打开ArduinoIDE,在编辑框中输入样例代码1-1所示代码。

(输入代码也是一种学习编程的过程,虽然提供代码的压缩包,但还是建议初学者自己输入代码,亲身体验一下。

样例代码1-1:

1.//项目一——LED闪烁

2.    /*

3.描述:

LED每隔一秒交替亮灭一次

4.    */   

5.intledPin=10;

6.voidsetup(){

7.      pinMode(ledPin,OUTPUT);

8.}

9.voidloop(){

10.      digitalWrite(ledPin,HIGH);

11.      delay(1000);

12.      digitalWrite(ledPin,LOW);

13.      delay(1000);

14.}

15.

复制代码

输入完毕后,点击IDE的“校验(Verify)”,查看输入代码是否通过编译。

如果显示没有错误,单击“下载(UpLoad)”,给Arduino下载代码。

以上每一步都完成了的话,你应该可以看到面包板上的红色LED每隔一秒交替亮灭一次。

现在让我们来回顾一下代码和硬件,看看它们是如何工作的。

代码是我们Lesson1是一模一样的,所以重复说明了。

那就说下硬件吧!

STEP4:

硬件回顾

面包板

面包板是一种可重复使用的非焊接的元件,用于制作电子线路原型或者线路设计。

简单的说,面包板是一种电子实验元件,表面是打孔的塑料,底部有金属条,可以实现插上即可导通,无需焊接的作用。

面包板该怎么使用?

其实很简单,就是把电子元件和跳线插到板子上的洞洞里,具体该怎么插,我们就要从面包板的内部结构上说了。

 

从上图我们可以看到,面包板分为上下两个部分,蓝线指出的纵向每5个孔是相通的。

电阻

下一个要说的元件是电阻。

电阻的单位是Ω。

电阻会对电流产生一定的阻力,引起它两端电压的下降。

可以将电阻想象成一个水管,它比连接它的管子细一点,当水(电流)流入电阻,因管子变细,水流(电流)虽然从另一端出来,但水流减小了。

电阻也是一样的道理,所以电阻可以用来给其他元件减流或减压。

电阻有很多用处,对应名称也不同,上拉电阻,下拉电阻,限流电阻等。

我们这里用作限流电阻。

在这个例子里,数字引脚10输出电压为5V,输入电流为40mA(毫安)直流电。

普通的LED需要2V的电压和35mA左右的电流。

因此如果想以LED的最大亮度点亮它,需要一个电阻将电压从5V降到2V,电流从40mA减到35mA。

这个电阻起限流的作用。

这里具体对电阻值选取的计算就不做说明了,只要知道在接LED时需要用到一个100Ω左右的电阻就可以了。

大一点也没关系,但不能小于100Ω。

如果电阻值选的过大的话,LED不会有什么影响,就是会显的比较暗。

很容易理解,电阻越大,减流或减压效果更明显了。

LED随电流减小而变暗。

不同的LED灯所需电压也有不同,推荐《LED常识》一贴。

关于上拉电阻,下拉电阻,限流电阻,请看此贴《电路知识之电阻的功能》。

LED

LED也是一种二极管,会发光的二极管。

LED能发出不同颜色和亮度的光线,包括光谱中的紫外线和红外线。

(比如我们经常使用的各类遥控器上面的LED也是其中一种,与普通的发光二极管长的一样,只是发出的光我们人眼看不到,我们也称之为红外发射管。

LED如果仔细观察LED,你会注意到,LED引脚长度不同,长引脚为+,短引脚为-。

那如果正负接反会怎么样呢?

下面这张图就说明问题了,接反就不亮了呗。

下图是不是还缺个电阻呀,细心的你发现了吗?

 

动手试一试

尝试换不同阻值的电阻,看看LED灯的变化。

现在你知道了各元件的功能及整个项目中软硬件是如何工作的,让我们尝试做其他好玩儿的东西吧!

Arduino教程Lesson3--做一个S.O.S求救信号灯

简单回顾下Lesson2的内容:

∙如何使用面包板

∙电阻的作用

∙LED相关知识

STEP1:

还原Lesson2的硬件电路

这次将继续使用Lesson2的搭建的电路,但我们这里将改变一下代码,就能让LED变为S.O.S求救信号了。

这是国际莫尔斯码求救信号。

莫尔斯码是一种字符编码,英文的每个字母,都是由横杠和点不同的组合而成。

这样的好处是,使用简单的两种状态,就能来传递所有的字母和数字,非常的简便!

可以通过LED开关两种状态来拼出一个个字母。

长闪烁和短闪烁来表示点和横杠。

就拼写S.O.S这三个字母。

通过查阅莫尔

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1