资源描述
Ard u i no入门版使用教程阳光表线互动科技目录介绍篇.1、Arduino基础套装介绍.21、什么是Arduino基础套装?.22、元件清单.2二、Arduino 介绍.4L 什么是 Arduino?.42、特色描述.43、性能描述.4三、Arduino C语言介绍.6L关键字和符号.62、结构.93、功能.9四、Arduino使用介绍.111、准备好你的Arduino板.112、下载Arduino开发环境.133、安装USB驱动.134、连接LED灯电路.175、打开arduino开发环境.186、打开已有程序.197、编译程序.208、下载程序.23五、面包板使用介绍.30L面包板介绍.302、面包板的使用.30阳光表线互动科技实验篇.34第一节多彩led灯实验.35一、发光二极管介绍.35二、简单的控制一个led灯的闪烁实验.39三、广告灯效果实验.41第二节蜂鸣器实验.48一、蜂鸣器介绍.48二、蜂鸣器模拟救护车警笛声音实验.50第三节 数码管实验.54一、数码管介绍.54二、数码管显示数字的实验.56第四节按键实验.63一、按键介绍.63二、按键控制led等亮灭实验.65三、掷骰子实验.67第五节倾斜开关实验.74一、倾斜开关介绍.74二、倾斜开关控制led灯的亮灭.75第六节光控声音实验.79一、光敏电阻介绍.79二、光控声音实验.80第七节火焰报警实验.84一、火焰传感器介绍.84二、火焰报警实验.85第八节抢答器实验.90第九节温度报警实验.98一、温度传感器介绍.98阳光表线互动科技二、温度报警实验.99第十节红外遥控.103一、红外接收头介绍.103二、红外遥控实验.104iii阳光表线互动科技介绍篇1/119阳光无线互就科技一、Arduino基础套装介绍1、什么是Arduino基础套装?Arduino基础套装是精心为初学者设计的一款学习工具。它可以带 您走进丰富多彩的电子世界,让您体验到电子科技无穷的乐趣。在整个 实验过程中无须焊接,直接在面包板上插拔元件即可,非常适合学习。另外,本品还附带了十节实验课程。这十节课程的编排完全是从初学者 的角度考虑,每一节实验都配有图文结合的实验说明文档和非常有趣的 例子程序。而且每一节实验除了文档上讲的方法外,还有很大可供学习 者发挥的空间。Arduino基础套装可以说是一款超值的学习工具,实验 盒里宝贝多多。2、元件清单1)Arduino 328控制板 1 个2)原形开放扩展板 1个3)面包板 1个4)LED灯(红、黄、绿)各2个5)蜂鸣器 1个6)按键开关 4个7)数码管 1个8)倾斜开关 1个9)火焰传感器 1个10)光敏电阻 1个2/119阳光表线互动科技11)红外接收管1个12)电阻(220、IK、10K)各10个13)LM35温度传感器1个14)USB线1条15)多彩面包线10条16)6节5号电池盒1个17)mini遥控器1个18)Arduino基础套装电子教程1套19)教程及其开放软件光盘1张3/119阳光表线互动科技二、Arduino 介绍1、什么是Arduino?Arduin。是一块基于开放原始代码的Simple i/。平台,并且具有开放 语言和开放环境都很简单、易理解的特点。让您可以快速使用Arduino 做出有趣的东西。Arduino可以配合一些电子元件使用,例如本产品实 验盒中的LED灯、蜂鸣器、按键、光敏电阻等等。Arduino开放环境界 面基于开放原始代码原则,可以让您免费下载使用,开发出更多令人惊 奇的互动作品。2、特色描述 开放原始码的电路图设计,开放界面免费下载,也可依需求自 己修改!!下载程序简单、方便。可简单地与传感器、各式各样的电子元件连接(如:LED灯、蜂鸣器、按键、光敏电阻等等),做出各种各样有趣的东西。使用高速的微处理控制器(ATMEGA328)。开放语言和环境都非常简单、易理解,非常适合初学者学习。3、性能描述 Digital I/O数字输入/输出端共013。Analog I/O模拟输入/输出端共05。4/119阳光表线互动科技 支持ISP下载功能。输入电压:接上USB时无须外部供电或外部5V9V直流电压 输入。输出电压:5V直流电压输出和3.3V直流电压输出和外部电源 输入。采用Atmel Atmega328微处理控制器。Arduino大小尺寸:宽70mm X 高54mm。5/119阳光表线互动科技三、Arduino C语言介绍Arduino语言是建立在C/C+基础上的,其实也就是基础的C语言,Arduino语言只不过把相关的一些参数设置都函数化,不用去了解其底 层,让不了解AVR单片机(微控制器)的朋友也能轻松上手。那么这里 就简单的注释一下Ard u i no语言。L关键字和符号(1)关键字:if if.else for switch case while do.while break continue return goto(2)语法符号:;6/119阳光表线互动科技()/*/(3)运算符:=+*/%=!=&II!+=7/119阳光表线互动科技*=/=(4)数据类型:boolean布尔类型 char字符类型 byte字节类型 int整数类型 unsigned int无符号整型 long长整型 unsigned long无符号长整型 float实数类型 double string array void(5)常量:HIGH|LOW表示数字10口的电平,HIGH表示高电 平(1),LOW表示低电平(0)0 INPUT|OUTPUT表示数字10口的方向JNPUT表 示输入(高阻态),OUTPUT表示输出(AVR能提供 5V电压40mA电流)。8/119阳光表线互动科技 true|false true 表示真(1),false表示假(0)o 以上为基础c语言的关键字和符号,大家可以了解,具体使用可以结 合实验的程序。2、结构 void setupo初始化变量,管脚模式,调用库函数等 void loop()连续执行函数内的语句3、功能(1)数字I/O pinMode(pin,mode)数字10口输入输出模式定义 函数,pin表示为0 13,mode表示为INPUT或 0UTPUTo digitalWrite(pin,value)数字10口输出电平定义函 数,pin表示为0 13,value表示为HIGH或LOW。比 如定义HIGH可以驱动LED。int digitalRead(pin)数字10口读输入电平函数,pin 表示为0 13,value表示为HIGH或LOW。比如可以 读数字传感器。(2)模拟I/O int analogRead(pin)模拟 10口读函数,pin表示为 0 5(Arduino Diecimila为0 5,Arduino nano为 9/119阳光表线互动科技0 7)。比如可以读模拟传感器(10位AD,0 5V表 示为 0 1023)。analogWrite(pinz value)-PWM 数字 10口PWM输 出函数,Arduino数字10口标注了PWM的10口可使用 该函数,pin表示3,5,6,9,10,11,value表示为0 255。比如可用于电机PWM调速或音乐播放。(3)时间函数 delay(ms)延时函数(单位ms)o delayMicroseconds(us)延时函数(单位us)。(4)数学函数 min(xz y)求最小值。max(xz y)求最大值。abs(x)计算绝对值。constrain%a,b)约束函数,下限a,上限b,x必 须在ab之间才能返回。map(valuez from Low,fromHigh,to Low,toHigh)约束函数,value必须在from Low与 toLow 之间和 fromHigh 与 toHigh 之间。pow(basez exponent)开方函数,base的 exponent 次方。sq(x)平方。sqrt(x)开根号。10/119阳光表线互动科技四、Arduino使用介绍有了以上作为基础,下面我们就要开始实际操作了。下面将分步骤 介绍:1、准备好你的Arduino板首先从实验盒中拿出Prototype shield扩展板如图:接着从实验盒拿出面包板如图:图表211/119阳光无线互动科技将面包板反过来大家可以看到,面包板的后面带有双面股,将双面 胶的白色部分揭下来,然后把面包板粘贴到Prototype shield扩展板上,如下图:然后从实验盒中拿出Arduino 328控制板如图:把贴有面包板的Prototype shield扩展板插在Arduino 328控制板上如图:12/119阳光表线互动科技这样板子就连接好了。2、下载Arduino开发环境由于本产品光盘中已经带有Arduino0022软件压缩包,所以就不用 下载了。在光盘中可以找到Arduino0022软件压缩包,解压即可。3、安装USB驱动首先连接下载程序用的下载线。首先从实验盒中拿出下载线,将数 据线的圆口一端插在Arduino328板子上如图:13/119阳光表线互动科技将数据线的扁口一端插在电脑的USB接口上,如下图所示:插好后,Arduino328控制板上的电源指示灯会被点亮,电脑上会出 现一个对话框如图:14/119阳光表线互动科技然后点击浏览,在出现的浏览文件夹对话框中点击光盘,在光盘下找至!Jarduino0022文件夹,点击打开,会看见有drivers文件夹如下图所不:点击drivers文件夹,会看到FTDI USB Drivers文件夹,如图:15/119阳光表线互动科技浏览文件夹 冏区|选择包含您的硬件的驱动程序的文件夹。&ar dui no-0018 Ao000004 B 囹困囹图困drivers口 FTDI USB Drivers examples hardwarejava lib要查看任何子文件夹,谙单击上面的十号。取消然后点击这个文件夹,接着点击确定,点击下一步,会出现如图对话框:找到新的硬件向导向导正在安装软件,话稍候一内 USB Serial Converter沙 ttdZxx.dll 到 C:HD0WSwstem32 司一步)II下一步国)取消这时我们只要等待即可,稍后会出现如下图对话框:16/119阳光表线互动科技找到新的硬件向导F.一莞成.取酒二点击完成,这样驱动就安装好了,下次再将数据线插到电脑就不会 出现安装驱动对话框了,插上数据线就可以下载程序了。提示:主控板Arduino Duemilanove 2009驱动目录指定到.arduino-0022driversFTDI USB Drivers主控板UNO、MEGA,驱动目录指定到:.arduino-0022drivers4、连接LED灯电路从实验盒中取出一个220。的电阻,将它的一端插在数字8口上,电 阻的另一端插在面包板上。再从实验盒中去取出一个发光二极管如下图:17/119阳光无线互动科技接着按照图上说明插上一根导线,这样电路就连接好了。5、打开arduino开发环境打开arduino0022文件夹,里面有一个标有arduino.exe图标,双击 打开会出现如下界面:18/119阳光表线互动科技Arduino 0022开发编译环境很简洁,各个功能键功能描述如下:堀年按钮保存文件停止编译新建义件打开文件通过USB下载代码4T TT 七 r-I f-1力力中i ui i打开软件后,我们就可以在窗口的空白处编写程序了。这里就不讲 解怎么编程了,因为实验里会具体的介绍。6、打开已有程序19/119阳光表线互动科技点击叉关闭软件。我们直接打开led灯实验程序如图:3 犷,岸产刚R的密三二晒 金yoid setup0 ri洲0加在己丑二。叮叮):没定数字工。口的模式,OUT PUT为蛹出)Vflid loi 0(小了,njn_lFHz MTG4:浸走 PTWt购1 力 MTE(=G 店右dalcyUOOO);设定延时时间.1000;1秒digitklWntc QJD.EEB,D)W);L七丈门N8脚为LOW 二 OV(1000):设定脚时间,1000 二 111?I回叵回叵囱7、编译程序点击编译按钮,这时编译按钮会发成黄色,下面出现英文compiling,这表示软件正在对你所写的程序进行编译,如下图所示:20/119阳光表线互动科技等待一会,会看到编译按钮恢复原来的状态,下面出现Done compiling,最下面一段文字说明编写的程序共有896字节数。这表明,程序编译成功,并且没有语法上的错误。如下图所示:21/119阳光表线互动科技下面看看程序有语法错误时会出现什么状态,将程序中pinMode(ledPinQUTPUT)后面的分号去掉,点击编译按钮,编译完成后会出 现如下图所示状态:22/119阳光表线互动科技1处告诉我们是因为在“附近缺少分号而出现的错误。2处用文字告 诉我们错误是出现在void setup()的一个附近。3处用黄颜色将 覆盖,表示错误就在这附近。从程序中看到错误确实在大括号附近,将 分号添上后就会编译成功。以后编写程序出现错误时,就可以通过看下 面信息栏里的提示调试程序。8、下载程序下载程序前先将板子型号和8m 口选好。点击Tools-Boa rd选择开 发板型号,如图:23/119阳光表线互动科技ovm Se 1 FortArduia。Dwilwa or Nw w/AT4.l&Bvr BooSoHrtid j 0Ar out no iep At duiftv liai Ar4iitn PTf _,q _ j 一二 /_1,力,ju 93小物/LilyPtd Arduini t/XT*al63dxotaTnttCia KIS-Ji).H.i.yqnm.i.一 1.Ardmao hro or Frc Hint G.3V,8 HKx)w/ATc329A*如ic Pre e*Pre Him A R IHfrl/Arduia。VG w ldct/ATaccl&8Arduiao W?ar alder w/AT“t8这里我们使用的是Arduino 328控制板,所以点击第一个即可。接F来选择串口,首先看一下我们的串口是COM几,右键点击我的电脑的图标,选择属性,会出现如下对话框:点击硬件,出现如图对话框:24/119阳光表线互动科技点击设备管理器,出现下图:口设4管理署文件的怪作凶查看9帮助3P1 一函似函H BF0014 a DWJ/CB-KDM 驱动器3-Q IDE A7A/ATAJI fiiMB三邈醉照豆才就。口和lpt)可予t就监视器军耕血亍国人体学输入设备豆0吉音,视频和游戏控卡哪 至)鼠标W耳-t过冬+4通用雷行息蟠制器*时确适配器3/系统设备3 3显示卡25/119阳光无线互动科技双击端口,出现下图:文件S麟矽莅看也把助炒 句囹昌囱网国出 国II1Z X1VATKPI及解0 田磁叁至劭器日,1JJJN 同 LKUSerial TertjTi旦讯喘口战十丁国4计助圉J监视奏囹。逊 阳A柱冬喻R那各E 9声音,视娜游涉控制图困I勖乐和耳它针谩密,噂峨跖总裁左韦联 囹雁适配罂由9系茨设备/或不下会看到有一个写着USB Serial Port(COM3),COM3这个就是我 们的串口号。把这个号记住,关闭窗口,回至grduino软件窗口,点击 Serial Port,选择刚才记住的COM口号一一COM3,如图:26/119阳光表线互动科技_ 共 Bora皿4 lgpU乙,1,t e KIGD祗置野三6引霹。高尾平,(无立亡国“voooo).crtirrchsh.tQfcM电UW);“设置散手呢而力增电平.域支戈光二磔曾32(1000),面 1g:这样板子型号和COM口就选好了。接下来点击arduino软件上的下 载按钮,如图:点击之后下载按钮发成橙色,软件下方出现Uploading to I/OBoard z同时板子上标有TX和RX的灯会亮,如图所示:27/119阳光表线互动科技程序下载完毕后,下载按钮恢复原来的颜色,下面出现DoneUploading,如图:28/119阳光表线互动科技如果没有显示Done Uploading,而是出现了红色的字,表示下载 失败,可以检查一下USB线是否连接好、电源开关是否打开、COM口 是否选对等等。如果出现上图,表示程序下载成功了,如果你看到面包 板上的led灯亮1s、灭1s的在闪烁,恭喜你,你的Arduino板开始工作 啦!29/119阳光表线互动科技五、面包板使用介绍1、面包板介绍套件中包含的面包板具有170个插孔,此面包板可以配合Arduino各 种型号的ProtoShield(原型扩展板),自带双面粘胶,可以粘贴到各 种开发板、扩展板上,也可粘贴到各种轮式机器人或履带式机器人基板 上实现个性化功能调试,体积小巧,仅有45mmx35mm(1.8xl.4)大小,是Arduino互动媒体爰好者、机器人发烧友、电子爰好者和电子 工程师必备用品。2、面包板的使用面包板(集成电路实验板)是电路实验中一种常用的具有多孔插座 的插件板,在进行电路实验时,可以根据电路连接要求,在相应孔内插 入电子元器件的引脚以及导线等,使其与孔内弹性接触簧片接触,由此 连接成所需的实验电路。下图为本迷你面包板的示意图。30/119阳光表线互动科技图表31它一共具有170个插孔,10行17列。以中间的长槽为界分成上、下 两部分,每一部分都是5行17列。从图中可以看到在每一部分中的每一 列有5个插孔,这5个插孔的底部是一个金属簧片,因此插入这5个孔内 的导线就被金属簧片连接在一起。例如下图:31/119阳光表线互动科技电阻和红色发光二极管是连通的,因为导线1的一端插在了电阻所在 的列,这列的5个孔是连通的,所以导线和电阻是通的,导线的另一端 插在了发光二级管正极所在的列,所以最终电阻和发光二极管是连通的。将电源正负极接好后发光二极管就会被点亮。每一部分的每一列的五个 插孔都是通过金属簧片相连的,而每一行的17个孔是不通的,所以横排 上的器件要连通的话,需用导线连接。注意:插入面包板上孔内引脚或导线铜芯直径为0.4 0.6mm,即比 大头针的直径略微细一点。元器件引脚或导线头要沿面包板的板面垂直 方向插入方孔,应能感觉到有轻微、均匀的摩擦阻力,在面包板倒置时,元器件应能被簧片夹住而不脱落。面包板应该在通风、干燥处存放,特 别要避免被电池漏出的电解液所腐蚀。要保持面包板清洁,焊接过的元 器件不要插在面包板上。32/119阳光表线互动科技33/119阳光表线互动科技实验篇34/119阳光表线互动科技第一节多彩led灯实验一、发光二极管介绍1、什么是发光二极管发光二极管简称为LED。由镶(Ga)与碑(AS)、磷(P)的化合 物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来 制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显 示。磷碎化绿二极管发红光,磷化锡二极管发绿光,碳化硅二极管发黄 光。它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入 到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复 35/119阳光表线互动科技合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量 状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量 越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。2、工作原理发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使 用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计 算:R=(E-VF)/I;式中E为电源电压,VF为LED的正向压降,I为LED的一般工作电流。发光二极管的工作电压一般为1.5 2.0V,其工作电流一般为10 20mAo所以在5V的数字逻辑电路中,可使用220。的电阻作为限流电 阻。3、Led灯的内部结构与连线发光二极管的两根引线中较长的一根为正极,应连接电源正极。有 的发光二极管的两根引线一样长,但管壳上有一凸起的小舌,靠近小舌 的引线是正极。如下图所示:36/119阳光表线互动科技黄金导线接合部分Led灯有两种连线方法:当led灯的阳极通过限流电阻与板子上的数 字I/。口相连,数字口输出高电平时,led导通,发光二极管发出亮光;数字口输出低电平时,led截止,发光二极管熄灭。如图:发光二极管阴极220Q与数节口相连 发光二极管阳祓|i GNDR1LED当led灯的阴极与板子上的数字I/O口相连时,数字口输出高电平,led截止,发光二极管熄灭;数字口输出低电平,led灯导通,发光二极 管点亮。37/119阳光表线互动科技与数字I/O口相连发光二看管阴极发光二极管阳春220QR1图1.4发光二极管接线方法2本实验选择了接线方法1连接发光二极管,将220。电阻的一端插在 Prototype Shield扩展板上的第8个digital I/O口,电阻的另一端插在 面包板上,电阻和发光二极管通过导线相连,发光二极管的负端插在面 包板上与GND相连。具体连接如图:三=图1.5发光二极管的具体接线38/119阳光无线互动科技二、简单的控制一个led灯的闪烁实验L实验器件 Led灯:1个 220Q的电阻:1个 多彩面包板实验跳线:若干2、实验连线按照Arduino使用介绍将控制板、Prototype Shied板子、面包板连 接好,下载线插好。最后,按照图1.5将发光二级管连接到数字的第8引 脚。这样我们就完成了实验的连线部分。3、实验原理先设置数字8引脚为高电平点亮led灯,然后延时1s,接着设置数字8 引脚为低电平熄灭led灯,再延时1s。这样使led灯亮1s、灭1s,在规觉 上就形成闪烁状态。如果想让led快速闪烁,可以将延时时间设置的小 一些,但不能过小,过小的话人眼就识别不出来了,看上去就像led灯 一直在亮着;如果想让led慢一点闪烁,可以将延时时间设置的大一些,但也不能过大,过大的话就没有闪烁的效果了。4、程序代码程序代码在简单led程序文件夹中,双击打开后有一个ledl文件夹,接着双击打开后可以看见有一个ledl.pde文件,双击图标即可打开。打 开后我们可以看到这是arduino编程软件窗口,上面有本实验的程序代 39/119阳光表线互动科技码。程序代码如下:int ledPin=8;设定控制LED的数字10脚 void setup()(pinMode(ledPinQUTPUT);设定数字 10口的模式,OUTPUT 为输出)void loop()(digitalWrite(lndPin,HIGH);设定PIN8脚为HIGH=5V左右delay(lOOO);设定延时时间,1000二1秒digitalWrite(ledPin,LOW);设定PIN8脚为LOW=0V delay(lOOO);设定延时时间,1000二1秒 从Arduin。教程中我们可以知道,Arduin。语言是以setup。开头,loop。作为主体的一个程序极架。setup。是用来初始化变量,管脚模式,调用库函数等等,此函数只运行一次。本程序在setup。中用数字10口 输入输出模式定义函数pinMode(pin,mode),将数字的第8引脚设 置为输出模式。loop。函数是一个循环函数,函数内的语句周而复始的循环执行,本 程序在1。叩()中先用数字I。口输出电平定义函数digitalWrite(pin,value),将数字8口定义为高电平,点亮led灯;接着调用延时函数 delay(ms)(单位ms)延时1000ms,让发光二极管亮1s;再用数字10 口输出电平定义函数digitalWrite(pin,value),将数字8口定义为低电 平熄灭led灯接着再调用延时函数delay(ms)(单位ms涎时1000ms,让发光二极管熄灭1s。因为loop。函数是一个循环函数,所以这个过程 40/119阳光表线互动科技会不断的循环。5、下载程序按照arduino教程中的程序下载方法将本程序下载到实验板中。6、程序功能将程序下载到实验板后我们可以观察到,发光二极管以1s的时间间 隔不断的闪烁。三、广告灯效果实验L实验器件 Led灯:6个 220Q的电阻:6个 多彩面包板实验跳线:若干2、实验连线按照上述方法将板子和数据线连好。然后按照二级管的接线方法,将六个LED灯依次接到数字16引脚上。如图:41/119阳光表线互动科技3、实验原理在生活中我们经常会看到一些由各种颜色的led灯组成的广告牌,广 告牌上各个位置上的led灯不断的亮灭发化,就形成各种不同的效果。本节实验就是利用led灯编程模拟广告灯的效果。在程序中我们设置led灯亮灭的次序和时间,这样就可以组成不同的 效果。样式一子程序:led首先从左边的绿灯开始间隔200ms依次点亮 六个led灯,如图1.6,接着从右边的绿灯开始间隔200ms依次熄灭六个 led灯。灯闪烁子程序:六个led灯首先全部点亮,接着延时200ms,最 后六个led灯全部熄灭,这个过程循环两次就实现了闪烁的效果。样式 二子程序设置k和j的值让中间的两个黄灯亮先亮,接着让挨着两个黄灯 两边的红灯亮,最后让两边的绿灯亮;执行一遍后改发k和j的值让让两 边的绿灯先熄灭,接着两边的红灯熄灭,最后中间的两个黄灯熄灭。样 式三子程序:设置k和j的值,让两边的绿灯亮400ms后再熄灭,接着让 两边的红灯亮400ms后再熄灭,最后让中间的两个黄灯亮400ms后再熄 42/119阳光表线互动科技灭;执行一遍后改发k和j的值让两个红灯亮400ms后熄灭,接着让两边 的绿灯亮400ms后熄灭。4、程序代码程序代码在广告灯程序文件夹中,双击打开后有一个Ied2文件夹,接着双击打开后可以看见有一个Ied2.pde文件,双击图标即可打开。打 开后我们可以看到这是arduino编程软件窗口,上面有本实验的程序代 码。程序代码如下:设置控制Led的数字10脚int Ledl=1;int Led2=2;int Led3=3;int Led4=4;int Led5=5;int Led6=6;led灯花样显示样式1子程序void style_l(void)(unsigned char j;f。r(j=l;j=l;j)/每隔200ms依次熄灭61弓|脚相连的led灯(digitalWrite(j,LOW);熄灭j 引脚相连的 led 灯43/119阳光表线互动科技delay(200);延时200ms)灯闪烁子程序void flash(void)(unsigned char j,k;for(k=0;k=l;k+)闪烁两次(for(j=l;j=6;j+)/点亮 16 弓|脚相连的 led 灯 digitalWrite。,HIGH);/点亮与j引脚相连的led灯 delay(200);延时200msf。r(j=l;j=6;j+)/熄灭l6弓|脚相连的led灯 digitalWrite(j,LOW);熄灭与j引脚相连的led灯 delay(200);延时200ms)led灯花样显示样式2子程序void style_2(void)(unsigned char j,k;k=l;设置k的初值为1(digitalWrite(j,HIGH);点亮灯digitalWrite(j+k,HIGH);/点亮灯 delay(400);延时400msk+=2;k 值加 2)1=5;设置1值为5for(j=l;j=3;j+)44/119阳光表线互动科技d ig ita I Write。,LOW);熄灭灯 digitalWrite(j+k,LOW);熄灭灯 delay(400);延时400ms k-=2;k值减2)led灯花样显示样式3子程序void style_3(void)(unsigned char j,k;led灯花样显示样式3子程序 匕5;设置1值为5for(j=l;j=3;j+)(digitalWrite(j,HIGH);/点亮灯 digitalWrite(j+k,HIGH);点亮灯 delay(400);延时400ms digitalWrite。,LOW);熄灭灯 digitalWrite(j+k,LOW);熄灭灯 k-=2;k值减2)匕3;设置1=l;j-)(digitalWrite(j,HIGH);点亮灯 digitalWrite(j+k,HIGH);/点亮灯 delay(400);延时400ms d ig ita I Write。,LOW);熄灭灯 digitalWrite(j+k,LOW);熄灭灯 k+=2;k 值加 2)45/119阳光表线互动科技)void setup()(unsigned char i;for(i=l;i=6;i+)依次设置1 6个数字引脚为输出模式 pinMode(iQUTPUT);设置第i个引脚为输出模式)void loop()(styljl();样式 1 Rash();闪烁 style_2();样式 2 flash();闪烁 style_3();样式 3 flash();闪烁 程序代码中用到的:for(i=l;i =6;i+)依次设置1 6个数字引脚为输出模式 pinMode(iQUTPUT);设置第i个引脚为输出模式这是一个for循环。它的一般形式为:for(初始化;条件表达式;增量)语句;初始化总是一个赋值语句,它用来给循环控制变量赋初 值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定 义循环控制变量每循环一次后按什么方式发化。这三个部分之间用 分开。例如:for(i=l;i10时,结束循环。5、下载程序46/119阳光表线互动科技按照arduino教程中的程序下载方法将本程序下载到实验板中。6、程序功能将程序下载到实验板后我们可以观察到,六个led不断的循环执行样 式一子程序一 闪烁子程序一 样式二子程序一 闪烁子程序一 样式三 子程序一 闪烁子程序。在掌握了以上两个程序后,大家可以充分发挥自己的想象,编写出 自己想要的led灯效果,玩转多彩led灯。47/119阳光无线互就科技第二节蜂鸣器实验一、蜂鸣器介绍1、认识蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛 应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。图2.1蜂鸣器按其驱动方式的不同,可分为:有源蜂鸣器(内含驱动线路)和无 源蜂鸣器(外部驱动)教你区分有源蜂鸣器和无源蜂鸣器,现在市场上 出售的一种小型蜂鸣器因其体积小(直径只有11mm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片 机等电路中。有源蜂鸣器和无源蜂鸣器的外观如图a、b所示。a)有源b)48/119阳光表线互动科技无源。从图a、b外观上看,两种蜂鸣器好像一样,但仔细看,两者的高度 略有区别,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是 无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。进一步判 断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表 笔接蜂鸣器引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Q(或16Q)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。有源蜂鸣器直接接上额定电 源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电 磁扬声器一样,需要接在音频输出电路中才能发声。按构造方式的不同,可分为:电磁式蜂鸣器和压电式蜂鸣器;压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗 匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二 极管。多谐振荡器由晶体管或集成电路极成。当接通电源后(L515V直 流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配 器推动压电蜂鸣片发声压电蜂鸣片由踣钛酸铅或泥镁酸铅压电陶瓷材 49/119阳光表线互动科技料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜 片或不锈钢片粘在一起。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产 生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。2、工作原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动 振动膜发声的,因此需要一定的电流才能驱动它,本实验用的蜂鸣器内 部带有驱动电路,所以可以直接使用。当与蜂鸣器连接的引脚为高电平 时,内部驱动电路导通,蜂鸣器发出声音;当与蜂鸣器连接的弓I脚为低 电平,内部驱动电路截止,蜂鸣器不发出声音。3、蜂鸣器的连线本实验用的蜂鸣器内部带有驱动电路,所以可以直接将蜂鸣器的正 极连接到数字口,蜂鸣器的负极连接到GND插口中。如下图:图2.1蜂鸣器接线图二、蜂鸣器模拟救护车警笛声音实验50/119阳光表线互动科技1、实验器件蜂鸣器:1个多彩面包板实验跳线:若干2、实验连线按照Arduin。教程将控制板、Prototype shield板子、面包板连接好,下载线插好。然后按照蜂鸣器的接法将蜂鸣器连接到数字7口上,连线 完毕。3、实验原理蜂鸣器发出声音的时间间隔不同,频率就不同,所以发出的声音就 不同。根据这一原理我们通过改发蜂鸣器发出声音的时间间隔,来发出 不同种声音,来模拟各种声音。本程序首先让蜂鸣器间隔1ms发出一种频率的声音,循环80次;接 着让蜂鸣器间隔2ms发出另一种频率的声音,循环100次。4、程序代码程序代码在蜂鸣器救护车报警声音程序文件夹中,双击打开后有一 个buzzer文件夹,接着双击打开后可以看见有一个buzzer.pde文件,双击图标即可打开。打开后我们可以看到这是arduino编程软件窗口,上面有本实验的程序代码。程序代码如下:int buzzer=7;设置控制蜂鸣器的数字10脚 void setup()51/119阳光表线互动科技pinMode(buzzerQUTPUT);设置数字I。脚模式,OUTPUT为输出)void loop()(unsigned char i,j;定义变量while(l)(for(i=0;i 80;i+)输出一个频率的声音(digitalWrite(buzzer,HIGH);发声音delay;延时 1msdigitalWrite(buzzer,LOW);不发声音delay;/延时 ms)for(i=0;i100;i+)输出另一个频率的声音(digitalWrite(buzzer,HIGH);发声音delay(2);延时 2msdigitalWrite(buzzer,LOW);不发声音delay(2);延时 2ms)在loop()中用的while也是一个循环语句,一般形式:while(表达式)语句表达式是循环条件,语句是循环体。语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。其执行过程可用下图表:52/119阳光表线互动科技作用:实现“当型循环。当“表达式非0(真)时,执行语句。语 句是被循环执行的程序,称为循环体。5、下载程序按照arduino教程中的程序下载方法将本程序下载到实验板中。6、程序功能将程序下载到实验板后我们可以听到,蜂鸣器发出救护车警笛声。掌握本程序后,大家可以在程序中自己改发时间间隔,调试出各种 频率的声音。53/119阳光表线互动科技第三节数码管实验一、数码管介绍1、认识数码管数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按 段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发 光二极管单元(多一个小数点显示);图3.1数码管实物图按能显示多少个“8可分为1位、2位、4位等等数码管;54/119阳光表线互动科技EPQ图3.2各种数码管按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共 阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳 数码管在应
展开阅读全文