简单进入自动控制的世界arduinoWord文件下载.docx
《简单进入自动控制的世界arduinoWord文件下载.docx》由会员分享,可在线阅读,更多相关《简单进入自动控制的世界arduinoWord文件下载.docx(43页珍藏版)》请在冰豆网上搜索。
搞定编程界面
1.1下载
从如下地址下载好【arduino--0022】,它是arduino的编程软件,通过它,我们可以编写程序,而后下载到arduino主板上,从而使得主板能够根据我们编定的程序而自动工作。
软件的web地址:
http:
//arduino.cc/en/Main/Software
下载的位置如左图所示。
下载下来的文件是一个arduino-0022.zip的压缩文件夹。
将文件随便找一个位置解压出来。
注意:
如果你的操作系统不是windows.
请对照你的操作系统下载不同的编程软件。
Arduino支持Windows、MACOS(苹果机)、Linux三种操作系统。
不过,在这本书里面,所有的讨论都是默认在windows7的环境下。
因为作者是使用这个操作系统,而且,国内绝大部分的电脑都是使用的WINDOWS操作系统。
1.2打开编程界面
进入解压缩的文件夹,如左图。
双击红框所指的应用程序(arduino.exe)便可以进入arduino的主界面。
提醒:
如果你嫌每次都要打开N个文件夹才能够打开arduino.exe这个程序,可以右键,然后发送快捷方式到桌面去。
1.3arduino的主界面
请保持这个界面不动。
后面,我们将开始硬件的连接工作
如果不小心关闭了,请根据上面的步骤,重新打开这个窗口。
第二节搞定UNO和计算机的连接
2.1、连接USB连接线和arduinoUNO主板
插入
这个就是USB–B口,或者叫方口。
拿起USB连接线,找到上图的方口对着arduino的方口插进去
这个不存插头在插反的问题,如果你插反了,会插不进去
千万不要在连接USB连接线之后,把ArduinoUNO主板放在潮湿,或者有金属碎屑,有裸露的金属丝等环境。
如果你这么做了,那么恭喜,你有很大的可能性会看见板子上有一阵青烟冒起。
然后,你需要准备好现大洋,打开淘宝,然后重新买一块ArduinoUNO主板,因为,它已经短路烧毁咧。
2.2、连接USB连接线和计算机
USB扁口别告诉我不认识,也别告诉我你不知道电脑上的USB口是哪个。
好吧,我还是啰嗦一下,扁口就是USB连接线那个扁扁的接口。
如左图
而计算机的USB口就是电脑上你经常插U盘,MP3播放器,手机数据线的那个接口。
这个也不存插头在插反的问题,如果你插反了,还是会插不进去,除非,你要当野蛮人。
当你正确的将arduino主板和电脑连接起来,你会发现arduino主板上面有一颗绿色的灯亮了起来,仔细查看灯的右边,会发现有“ON”这个英文。
这颗灯标示主板已经接通电源(术语叫“上电”),处于运行状态。
不同于电脑,你给它插上插头,它并不会工作,还需要按一下启动按钮它才开始启动。
Arduino只要一给电,它就开始工作,直到被扯掉电源接头(术语叫“掉电”)它才停止工作。
由于Arduino在不接诸如电机等设备的时候,其耗电量非常小,所以,它通过USB从电脑获得的电力便已经足够它运行。
本书的所有的试验都属于小电流的试验,所以,无需额外的外接电源。
若“ON”灯并未发亮,请检查连接线的连接是否正确。
若检查线之后无问题,则尝试换一个USB口看看(有时候电脑的USB口已经损坏,Arduino主板取不到电,故而“ON”灯不会发亮)。
如果还不亮,有八成的可能,板子坏列,有两成的可能是USB线断了,这时候,你需要用替换法来找到问题的来源。
想尽办法,直到直到“ON”发亮为止。
2.3、安装驱动
任何一样硬件,如果想要在windows上能正常使用,就必须给它安装驱动,arduinoUNO主板也不例外。
当你成功地完成了将一根USB连接线连接起arduino主板和计算机的时候。
windows会在屏幕的右下角显示左边的提示。
如果你放着不管,很快,它会提示安装失败。
除非你以前已经安装过UNO,否则提示失败是必然滴。
右键点击【计算机】,在弹出的右键菜单里面点【属性】,会弹出一个如左图所示的界面,这个界面叫“系统”
在箭头所指的位置点设备管理器,然后又会弹出新的界面,如后一个图片。
这个界面叫做【设备管理器】。
当你打开了设备管理器之后,找一找,你会发现一个叫做ArduinoUNO的未知设备
右击这个未知设备,在新弹出来的右键菜单中选择【更新驱动程序软件】
在新弹出的对话框中选择:
【浏览计算机以查找驱动程序软件】
进入下一步
点【浏览】按键
弹出一个【浏览文件夹】的小对话框
在【浏览文件夹】对话框里面一直找到arduino-0022解压缩所在的文件夹的位置,打开里面的drivers文件夹
点【确定】按键
【浏览文件夹】对话框将关闭,在【更新驱动程序软件-ArduinoUNO】对话框点下一步。
此时,会弹出一个windows安全的警告,说无法验证此驱动程序软件云云。
选下面一个选项:
【始终安装此驱动程序软件】
提示:
放心,不是病毒,因为UNO的驱动没有进行微软认证,仅此而已,安装这个驱动并不影响操作系统的运行
稍等一会儿,windows开始安装UNO的驱动程序。
当这个界面出现的时候,表示,arduinoUNO已经成功地安装完毕了。
点击确认。
关闭驱动程序更新的对话框
这个时候,你会发现,原本属于【其它设备】分类的ArduinoUNO已经被windows搬迁到【端口(COM和LPT)】的位置
如左图所示。
记下图标小括号里面的(COMX),X表示数字
(自己填空,我的COM口的编号是:
______)
如作者所截取的屏幕,标示为COM21,即,X=21,这表示当前连接到电脑的arduinoUNO主板,是通过COM21和电脑进行通讯的。
这个数字很重要,稍后要用到
任意两块不同的arduinoUNO主板,当它被插到电脑上的时候,都需要重新安装驱动程序,电脑会自动区分它们,并给它们赋予不同的COM编号,即括号里面的(COMX),这个X不同。
至此,ArduinoUNO的硬件连接及驱动完成。
第三节点亮“L”灯
3.1选对正确的主板类型。
让我们把手和目光重新回到电脑边上,右手捏着鼠标开始点击如下
在Arduino-0022的编程界面
点击【Tools】
将鼠标移动到下拉菜单的【Board】选项,在继续弹出的子菜单中确定:
【ArduinoUNO】前面是否有一坨黑点。
如果不是,则点一下【ArduinoUNO】这个选择项
请务必确保【ArduinoUNO】选项前有一坨黑点,否则后面会出错。
3.2选择正确的COM连接。
还记得刚才安装硬件的时候的要求你记录下来的那个(COMX)的X的值么?
这里就要用到。
如作者安装的ArduinoUNO的端口就是21,所以鼠标就点选21.
而读者则根据自己的电脑装ArduinoUNO的时候,系统分配给UNO的COM口的编号来进行点选。
如果你忘记了,就去翻刚才2.3所记录的那个数字。
如果你忘记记录了,也没有关系,根据2.3的步骤,可以进入设备管理器,也可以查找到你当前和电脑连接的ArduinoUNO的COM口的编号。
3.3导入一个让“L”灯闪烁的示例程序
鼠标左键点【File】
在弹出的下拉菜单里面移动鼠标到【Examples】
菜单向右边扩展到【1.Basics】
鼠标移动到【1.Basics】之后,
菜单继续展开,
找到【Blink】
而后,鼠标左键单击【Blink】
单击完【Blink】,会弹出一个新的Arduino编程界面。
什么都不管,直接点左图红色箭头1所指的的图标。
随后,你会发现,在2的位置会出一列文字提示:
紧接着,你会发现,ArduinoUNO主板上会有两个黄色的灯会狂闪一阵。
随着两个狂闪的黄色灯熄灭。
2的位置出现文字提示:
随后,ArduinoUNO主板上,会有一盏绿色的灯以1秒一次的速度恒定地亮灭:
表现为:
亮,维持1秒,灭,维持1秒,亮,维持1秒,灭,维持1秒……这种状态会一直维持下去,直到ArduinoUNO主板被拔掉了USB连接线(没电了)或者被重新编程,或者被读者有意或者无意地毁灭它。
而主板上这枚没完没了亮灭的灯就是传说中的“L”灯。
仔细在这个灯边上找找,你会发现板子在灯的附近印有一个白色的字母“L”
而刚才狂闪的两枚黄灯的边上则标注了“TX”和“RX”
至此,热烈的恭喜小白读者们,你们已经完成了第一个Arduino的编程试验。
而在当初,作者倒腾明白上面的步骤,整整花费了3天地时间和若干把头发。
没有点亮?
可能发生的问题及解决方法:
1错误来源:
【tools】--》【hardware】中选错了主板类型,或者【tools】--》【SerialPort】中选错了COM连接。
错误表现:
L灯不会闪,并且上图的红框2内会出现这样的报错:
同时红框3内还会显示如下例的报错:
Binarysketchsize:
1018bytes(ofa14336bytemaximum)
avrdude:
stk500_getsync():
notinsync:
resp=0x00
stk500_disable():
protocolerror,expect=0x14,resp=0x51
resp,expect,resp等号后面的文字可能略有不同。
错误的解决方法:
重新执行3.1的步骤,确定你选择了正确的arduino主板,本书限定为arduinoUNO。
所以,请确定那一坨黑点的确在[ArduinoUNO]的选项前。
重新执行3.2的步骤,确定你选择了正确的COM连接。
务必确定电脑【设备管理器】中的ArduinoUNO的COMX的X的值在arduino编程界面中的【tools】--》【SerialPort】被正确地选择。
第二个可能是你计算机的USB口的供电不足。
如果是笔记本,请尝试换一个USB连接口,现在主流的笔记本电脑都有一个叫做大功率USB的接口,用于外界用电量比较大的USB设备。
如果是台式机,注意,一般情况下别用前面板的USB接口,因为前面板的USB接口的供电量往往比较底下,尝试使用计算机机箱后部的USB接口。
扩展阅读
1、关于不同类型Arduino主板的USB驱动问题
Arduino发展到现在已经出品了N多类型的主板,它们最新型号的全家福可以如下网站链接看到:
//arduino.cc/en/Main/Hardware
如何为自己手头的Arduino主板安装正确的驱动程序?
其实,很简单。
到目前为止,Arduino的官方USB--RS232转换芯片只有两种,除开这两种芯片,有一些爱好者还会采用别的同功能芯片来进行替代,这里不进行赘述。
下图是两种官方主板使用的USB-RS232芯片的外形:
FDTI公司出品的FT232RL芯片。
ATMEL公司出品的ATmega8U2芯片。
对于安装了FT232RL芯片的Arduino主板,除了ArduinoNANO之外,使用FT232RL芯片的Arduino主板都是比较老的Arduino主板。
它的驱动可以在【Drivers】文件夹里面的【FTDIUSBDrivers】子文件夹中找到。
安装的步骤和方法可以参照章节2.3
而使用ATMEGA8U2芯片的主板,在本书定稿之时,仅仅有两种主板,一种是ArduinoUNO,一种是ArduinoMega。
UNO的驱动安装方法已经详细描述,Mega的驱动安装也是一样,不过在选择驱动文件的时候,应该选择【ArduinoMEGA2560.inf】这个文件。
额外需要提及一点,使用FT232RL芯片的主板,WINDOWS只能标示和Arduino主板已经连接,在【端口(COM和LPT)】中显示【USBSerialPort(COMX)】
(X表示一个数字),而无法辨认主板的具体的型号。
而使用ATmega8U2的主板,则windows可以直接认出主板的型号。
知识点:
USB-RS232转换芯片:
它的功能是将电脑USB的信息包翻译成RS232信息包,Arduino自己只认识RS232信息包。
如果把USB信息包比喻成英语,而把RS232信息包比喻成汉语,则USB-RS232硬件则相当于一个翻译,它能够使得操英语的人和操汉语的人互相之间进行沟通交流。
)
RS232:
这是一种通讯协议,所谓的通讯协议可以理解为电脑之间进行沟通交流的时候的一种语言种类,就好像大千世界,有N种语言一样,电脑,芯片之间要完成信息沟通,也有很多的方言,标准官话,这个,我们会在后面做出介绍。
通常,电脑通过端口之中的COM口进行RS232通讯。
2关于不同主板在arduino编程界面的hardware的选择
如3.1中的【hardware】菜单所罗列的那样。
arduino的主板类型多到乱花渐欲迷人眼。
如何确定手头的主板类型呢?
方法如下:
第一步,看主板上面白色的文字标示,
对应主板上面的文字标示,我们可以初步确定,手头的主板是UNO,deumilanove,Nano还是什么别的。
第二步,看一下主芯片上面的文字(主芯片,上面会有一行标注ATMEGAXXX-XX的字样),如果XXX标示为328,则选择对应的328类型,如果XXX标示为168则选择168类型,还有可能看到XXX为一个8字,则选择8的类型。
这一步不是必须的,如果在确定第一步的时候发现主板的类型下还有两种类型,则需要执行这一步。
综合以上两步,除非我们受到了奸商的坑害,或者主板已经损坏,否则,我们肯定能够成功地对手头的arduino主板进行编程。
如果你还不确定,好吧,打开QQ,加入QQ群1277738。
在群里面嚎叫求助,会有热心的朋友来协助你的。
第二章 改变L灯的闪烁频率
----认识Arduino的软件编程
在前面的一章里面,我们采用的方法是生吞活剥法,不管一切背景知识,采用填鸭的方法使得读者们能够开始自己的第一个Arduino试验。
那么,在未来,我们总不能拿了这个点“L”灯的试验去找人吹嘘:
“露壳!
我会玩arduino了!
”
所以,如果要继续深入,避免被老鸟们耻笑,我们就必须一步一步地做到知其所以然。
在这里,作者,首先先介绍Arduino的软件编程,因为,单就一块arduinoUNO主板,我们就可以完成很多有趣的实验,如果从一开始就要在面包板上面拿了零件插来插去,呃,这的确会让人头疼。
闲话少说,我们开始吧。
第一节Arduino编程界面的介绍
还记得上一章3.3导入一个让“L”灯闪烁的示例程序没?
如果你是一口气看到这里,那么我相信你的电脑屏幕上还可以看写着【Blink】列程的编程界面。
如果你已经顺手关闭,或者是第二次打开书看到这里,请重复3.3的步骤,打开【Blink】列程,直到如下的界面出现在你的电脑屏幕前。
如左图所示,Arduino编程界面分成8个部分。
1的内容比较简单
它标示了程序的名字而在一个“|”符号之后是Arduino编程软件的版本,这里是0022版本
2是一些下拉菜单,我们现在可以不用过细地去管它,不过,记得Tools里面的【hardware】,【SerialPort】两个选项的功能。
这个前面讲过。
3是一些基本功能按键,这个值得讲一讲。
将鼠标移动到这些按钮上面,在最右边的图标
再右边的位置会显示这个按钮的名称
自左边开始其功能解释见下页。
4当前的程序名字,你的程序命名为什么,这里就显示什么。
5编程区域,在这个区域里面就是我们打算写入到arduinoUNO主板中的程序代码,它的具体结构我们在下一节将会进行说明。
6信息提示行,这条蓝色的带区内会进行提示,当前编程软件正在进行的工作,如显示:
【Compling】表示正在校验,【Donecompling】标示校验完毕
【UploadingtoIOboard…】表示上传到IO板(在这本书里面,IO板就是ArduinoUNO主板。
如果出错了,6会变成褐黄色,并显示出错信息。
7是详细信息提示,如果是正常信息提示,它的背景是黑色显示白色文字,如果出了错,则同样会编程一个褐黄色的背景,并显示出错信息。
8显示的内容是,你的代码到底有多少行的有效,上面的例子是9行有效,除却灰色的行,请数一下看看?
灰色的行是注释行,所谓的注释内容,意思是这部分的内容仅仅是用于注释。
ArduinoIDE在翻译你的Sktech的时候会自动忽略掉注释的内容。
Arduino编程界面功能图标清单
项次
图标
名称
解释
1
Verify(验证)
顾名思义,当点下这个的时候,它会自动验证5的空白位置内所显示的代码是否正确,当然,一般情况下,它仅能够帮你找出一些显而易见的错误。
2
Stop(停止)
不管任何时候(实际上只括验证,上传两项)点下它,编程界面即停止工作
3
New(新建)
新建一个程序,和Word新建一个文档没什么两样
4
Open(打开)
打开一个程序,同样和Word一样
5
Save(保存)
保存一个程序,注意,arduino编程界面会把你写的程序保存成一个.PDE的文件。
如你命名你写的程序文件为shiyan。
则它就保存为shiyan.pde。
另外,注意用英文字母保存,arduino编程界面不认识中文。
如果你保存了,那么在打开之后,它的文件名就会显示乱码。
6
Upload(上传)
相信这个图标大家都不陌生,点下这个图标,则编程界面会将5里面的内容进行编译(编译,这个我们现在不需要懂,以后再解释)而后上传到你连接到电脑的Arduino主板里面去。
7
SerialMonitor
(串口监视器)
串口监视器,这个我们现在不需要懂,等后面会有专门的章节来进行说明
第二节了解Arduino的编程语言结构
下面,我们开始来重点说明5的部分的内容,好吧,我们再一次将前页的图贴一次:
现在,我们忽略掉所有的灰色注释部分,那么整个代码结构就构成了如下的几行
Voidsetup(){
PinMode(13,OUTPUT);
}
Voidloop(){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
这几行各有什么意义?
分别表示什么意思?
这也就是本节需要重点说明的问题。
2.1最基本的Arduino标准语言结构
首先,我们开列一个最简单的标准语言结构:
voidsetup(){}
voidloop(){}
呃,最简单的arduino编程结构就这简单的两行,任何复杂的arduino程序,都少不了这两个部分,如果少了就会出错。
为什么会出错?
这不是我们现在需要了解滴。
我们只需要强行记下,在任何时候写arduino的编程,首先就把这两段代码给敲出来,记住,一个字母,一个标点符号都不要漏!
1、一定要看清楚,所有的字母都是小写字母,如果你敲入了大写字母,它就会报错。
为什么会报错?
因为arduino,它认不清大小写字母,即便英文的“好”可以拼写成“good”或者“GOOD”----这并不影响我们去了解它所含的意义。
但是,Arduino会固执地认为,其二者表示的意义并不是同一个东西。
如果对这个情况用专业的概念来解释,则应该如此说:
arduino编程语言“对大小写敏感”。
在未来编程的日子里面,大家一定要瞪大眼睛,看清楚,记清楚,什么位置要敲入大写字母,什么时候敲入小写字母。
不然,我们会为各种各样的报错而抓狂。
2、一定要分清楚半角和全角的差异,大家看一下双引号:
【“”】【""】
诚然,我们人类在读书的时候,如果书里面两种东西混用,并不会影响我们的阅读,它都表示引用或者强调。
但是,悲哀的是,arduino还是很呆板,它只认英文的标点符号,不认识中文的。
所以,在写代码的时候,我们需要务必注意,一定要看确认自己的输入法任务条上得显示,它标明当前输入的标点符号是半角的,而不是全角的。
如果实在吃不准,那么在输入代码的时候最好把输入法切换到英文输入。
同样地,如果不注意这一点,我们同样会为各种各样层出不穷的错误而抓狂。
如上面的【“”】【""】两种引号符号,我们需要输入的是后者:
【""】
3、有时候,我们为了阅读的方便,会把上面的两行代码敲成下面的这种形式:
voidsetup()
{
voidloop()
大家看一下,两个大括号通过敲若干个个回车(就是Enter键)的方式换了若干行。
这个,arduino倒是不呆板,它会自动忽略所有的回车,也就是说,不管你在括号之间敲了多少个回车,换了多少行,它最终还是可以顺利地理解为两行:
2.2voidSetup(){}的功能和作用:
voidsetup(){}是arduino参数的设置区,在这个区域里面,我们可以在大括号里面放入各种参数设定的代码。
如【Blink】程序,我们可以看到:
这一段表示,我们设置了13号口的工作模式是输出(OUTPUT)模式,PinMode表示进行IO端口的工作模式设置。
哪个是13号IO端口?
为什么要设置OUPUT?
还有没有别的设置?
这个我们将在下一个章节学习。
这里先留一点悬念。
特别注意“;
”(分号),Ard