




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章发光二极管LED,6.1使用到的专用器件6.2驱动单个LED程序6.3驱动LED点阵6.4使用74HC595驱动LED6.5使用MAX7219驱动LED6.6RGB三色LED6.7七段数码管,6.1使用到的专用器件,在本节中只需要使用到一个专用的器件LED二极管。LED二极管的类型和规格有很多,这里使用的是一个蓝色的5MM发光二极管。,6.2驱动单个LED程序,驱动LED的程序非常简单。要持续地点亮一个LED二极管,只需要为LED二极管提供一个额定范围内恒定的电压即可。Arduino开发板的针脚有输入和输出两种模式,将针脚设置为输出模式后就可以做为电源。指定Arduino针脚模式的函数原型如下:pinMode(pin,mode),6.2.1使用数字针脚点亮LED,由于数字针脚只能输出高电压和低电压,因此在不借用其他元件的情况下只可以点亮或者熄灭LED。,1.电路图,2.程序,intpin=10;/指定LED连接的针脚voidsetup()pinMode(pin,OUTPUT);/设置针脚模式为输出digitalWrite(pin,HIGH);/设置针脚输出电压voidloop(),6.2.2使用模拟针脚点亮LED,经过前面讲解可以得知,analogWrite()函数可以修改针脚的输出电压(05V)。那么,就可以通过为analogWrite()函数传入不同的参数来控制针脚的输出电压,进而就可以控制LED的亮度。,6.2.3使用LED发送S.O.S摩尔斯码,摩尔斯电码可以很方便地用来发送英文字母、数字以及部分符号。摩尔斯电码是通过控制电信号的长短来发声信息的。SOS这三个字母的摩尔斯电码表示如下:,6.2.4使用LED发送摩尔斯电码,从示例6-5中的代码中也可以看出dot()和dash()函数是非常类似的,只是等待的时间不同而已,而这个等待的时间也是以一个基准的时间变量stdd来设置的。那么,我们就可以进一步地将上面这两个个函数用一个函数来实现:voiddot(intledPin,intlen,intstdd)digitalWrite(ledPin,HIGH);delay(stdd*len);digitalWrite(ledPin,LOW);delay(stdd*2);,6.2.5LED跑马灯,6.2.6使用LED模拟交通灯,6.3驱动LED点阵,6.3.1LED点阵显示表情6.3.2LED点阵跑马灯6.3.3回纹灯6.3.4矩形回缩灯,6.3.1LED点阵显示表情,6.3.2LED点阵跑马灯,在6.3.5小节中实现了由三个LED组成的简易跑马灯,在本节就在8*8的LED点阵上来实现跑马灯。这个示例的电路不需要改动,我们直接编写对应的程序就可以了。,6.3.3回纹灯,回纹表示的是从外圈向中心回旋的方式,在我们将要实现的回纹灯就是使用LED点阵来实现这一描述。回纹灯的实现电路与之前的LED点阵示例接法相同,因此这里只需要重新设计程序即可。,6.3.4矩形回缩灯,矩形回缩灯就是从LED点阵最外圈的8*8矩形回缩到最小的2*2的矩形(以8*8点阵为例),以这种形式来展现类似矩形缩放的效果。其电路接法与前面的所有示例相同,因此这里只需要重新编写程序即可。,6.4使用74HC595驱动LED,6.4.174HC595使用方式6.4.2使用74HC595驱动LED点阵,6.4.174HC595使用方式,74HC595是一个CMOS(ComplementaryMetal-Oxide-Semiconductor)器件,6.4.2使用74HC595驱动LED点阵,6.5使用MAX7219驱动LED,6.5.1MAX7219LED显示驱动器6.5.2MAX7219的数据格式6.5.3MAX7219的寄存器6.5.4LedControl库6.5.5Arduino通过MAX7219控制8*8LED点阵6.5.6MAX7219级联控制8*40LED点阵,6.5.1MAX7219LED显示驱动器,MAX7219是小巧但功能强大的串行输入输出共阴极显示驱动器。它非常容易驱动七段LED数码管和LED点阵。,6.5.2MAX7219的数据格式,MAX7219的数据是以16位为一个单位的。,6.5.3MAX7219的寄存器,MAX7219有14个可编址的寄存器,他们可以通过D11D8的值来指定。,6.5.4LedControl库,LedControl函数库是一个可以全面控制MAX7219的一个第三方库,它可以从http:/playground.arduino.cc/uploads/Main/LedControl.zip获取。,6.5.5Arduino通过MAX7219控制8*8LED点阵,1.MAX7219控制8*8LED点阵的连接电路2.Arduino通过MAX7219控制8*8LED的代码实现,1.MAX7219控制8*8LED点阵的连接电路,2.Arduino通过MAX7219控制8*8LED的代码实现,6.5.6MAX7219级联控制8*40LED点阵,所谓级联就是将两个以上的设备通过某种方式连接起来,起到扩容的效果。MAX7219的级联非常容易,只需要将上一级的DOUT作为下一级的DIN,然后共用LOAD和CLK信号。1.MAX7219级联电路2.MAX7219级联的控制代码,1.MAX7219级联电路,2.MAX7219级联的控制代码,6.6RGB三色LED,6.7七段数码管,七段数码管是常用来显示数字的一类数码管。这类数码管是由多个发光二极管构成的。6.7.1Arduino直接控制七段数码管6.7.2Arduino通过74HC595控制一个七段数码管6.7.3使用两个74HC595驱动4位七段数码管6.7.4Arduino通过MAX7219控制七段数码管,6.7.1Arduino直接控制七段数码管,6.7.2Arduino通过74HC595控制一个七段数码管,6.7.3使用两个74HC595驱动4位七段数码管,4位七段数码管通过多路复用技术将4个七段数码管封装在一起。,6.7.4Arduino通过MAX7219控制七段数码管,1.MAX7219控制七段数码管的连接电路2.MAX7219控制七段数码管的实现代码,1.MAX7219控制七段数码管的连接电路,2.MAX7219控制七段数码管的实现代码,第7章蜂鸣器,7.1蜂鸣器的工作原理及分类7.2驱动蜂鸣器程序7.3蜂鸣器使用实例,7.1蜂鸣器的工作原理及分类,蜂鸣器是通过给压电材料供电来发出声音的。压电材料可以随电压和频率的不同产生机械变形,从而产生不同频率的声音。蜂鸣器又分为有源蜂鸣器和无源蜂鸣器两种。,7.2驱动蜂鸣器程序,7.2.1驱动有源蜂鸣器7.2.2驱动无源蜂鸣器,7.2.1驱动有源蜂鸣器,7.2.2驱动无源蜂鸣器,7.3蜂鸣器使用实例,7.3.1使用无源蜂鸣器输出7个基本音级7.3.2使用无源蜂鸣器演奏音乐7.3.3使用有源蜂鸣器发送S.O.S摩尔斯码,7.3.1使用无源蜂鸣器输出7个基本音级,声音是由物体振动所产生的的。只是由于物体的材料以及振幅、频率不同,而产生不同的声音。声音的响度是由振幅决定的。而音调则是由频率决定的。,7.3.2使用无源蜂鸣器演奏音乐,有了上一个示例中的演奏7个基本音阶的经验后,我们就可以根据乐音知识来简易地演奏一些音乐。这里就以生日歌中的一个片段来进行演示。该示例的元器件接法同示例7-3相同。,7.3.3使用有源蜂鸣器发送S.O.S摩尔斯码,使用有源蜂鸣器发送S.O.S莫尔斯码的接法如图7.4相同,读者参照其连接即可。使用有源蜂鸣器发送S.O.S莫尔斯码的程序与使用LED非常类似,只需稍作修改即可。,第8章按钮,8.1按钮的作用及分类8.2按钮的实质8.3按钮的使用示例,8.1按钮的作用及分类,按钮是一种非常常见而且形式多样的控制电器元件。它常用来接通或者断开控制电路。按钮可以分为如下的几种形式:常开按钮:开关触点在默认状态下是断开的。常闭按钮:开关触点在默认状态下是接通的。常开/常闭按钮:在默认状态下有接通和断开的按钮。,8.2按钮的实质,按钮的实质就是用来发送一个电信号(低电平或者高电平),软件可以根据检测到的信号进行相应的操作。要在Arduino上正确地使用按钮,还需要了解两个个重要的概念上拉电阻和下拉电阻。首先来看一个不使用下拉电阻的电路,它用一个常开按钮控制Arduino的板载LED(名为L)。按钮被按下时LED点亮,松开时熄灭。,8.3按钮的使用示例,8.3.1使用按钮控制LED灯8.3.2使用Arduino的中断8.3.3按钮矩阵的使用8.3.4使用按钮矩阵模拟钢琴,8.3.1使用按钮控制LED灯,8.3.2使用Arduino的中断,中断会在需要的时候向CPU发送请求以通知CPU处理。CPU在接收到中断后会暂停执行当前的任务转而处理中断,处理完成后继续执行之前的任务。而在中断未发送的时间段内,CPU可以执行其他的任务,这明显可以大幅度提高运行效率。attachInterrupt(interrupt,ISR,mode)detachInterrupt(interrupt),8.3.3按钮矩阵的使用,在本小节中使用的是名为Keypad的第三方库。该库可以从http:/playground.arduino.cc/Code/Keypad#Download下载。,8.3.4使用按钮矩阵模拟钢琴,第9章电位器,9.1普通电位器9.2游戏摇杆9.3使用示例,9.1普通电位器,电位器是一种三端元件,它由两个固定端和一个滑动端组成。,9.2游戏摇杆,游戏摇杆其实也是一种特殊的电位器。它的X轴和Y轴上分别装有一个电位器。,9.3使用示例,9.3.1读取电位器的值9.3.2使用电位器控制LED亮度9.3.3使用电位器控制LED流水灯速度9.3.4游戏摇杆的使用,9.3.1读取电位器的值,电位器在旋转(旋转式电位器)和滑动(滑动式电位器)的过程中会将更大或者更小的电阻接入电路,而对应的电压则变小或者变大。通过Arduino的模拟输入端口,可以读取到这个电压,并为其映射一个相应的值。analogRead(pin),9.3.2使用电位器控制LED亮度,9.3.3使用电位器控制LED流水灯速度,9.3.4游戏摇杆的使用,1.获取游戏摇杆的XY轴方向的值2.使用游戏摇杆控制4个LED,1.获取游戏摇杆的XY轴方向的值,2.使用游戏摇杆控制4个LED,第10章光敏电阻和常见传感器,10.1光敏电阻10.2火焰传感器10.3温湿度传感器10.4红外线收发10.5液位传感器,10.1光敏电阻,10.1.1光敏电阻应用原理10.1.2光控灯,10.1.1光敏电阻应用原理,根据串联电路的电压规律串联电路的总电压等于各部分电路两端电压之和,也就是说,光敏电阻的阻值越大,则它分到的电压就越多,而总的电压是固定的。那么,其他部分电路的电压就必然会减小。,10.1.2光控灯,光敏电阻在日常生活中最常见的一种应用就是声控灯,当然常见的声控灯中还使用到了声音传感器,因此在本小节中就实现一个光控灯。该光控灯在光线暗比较暗的时候点亮,而在光线明亮的时候熄灭。,10.2火焰传感器,10.3温湿度传感器,10.3.1精密摄氏温度传感器LM3510.3.2温湿度传感器模块,10.3.1精密摄氏温度传感器LM35,10.3.2温湿度传感器模块,温湿度传感器是集温度湿度检测于一体的传感器在实际中常用的是DHT11。,10.4红外线收发,10.4.1红外线模块构成10.4.2使用第三库Irremote,10.4.1红外线模块构成,最初的红外线接收端则是由单独的光敏电阻和集成电路组成的。现在的接收端普遍将光敏电阻和接收、放
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门窗保洁服务标准操作培训
- 职工入场安全培训课件
- 安徽省宿州市墉桥区2025-2026学年三上数学期末综合测试模拟试题含解析
- 玩滑梯有秩序
- 口腔颌面部肿瘤护理
- 水电工程空间位置关系分析试题及答案
- 设计公司案例分析
- 经济法专科课程试题及答案分析
- 多元化工程经济复习试题及答案
- 超市店长管理营销
- 2024年注册消防工程师题库(全国通用)
- 《中医常用护理技术基础》课件-一般护理-第四节饮食护理
- 静脉留置针使用及维护培训课件
- 小学字母组合发音(课件)人教PEP版英语六年级下册
- 食堂食材配送服务方案及服务承诺
- 佩戴腕带品管圈课件
- 治超工作总结汇报
- 电气五防操作培训课件
- 《暖通空调自动控制》课件
- 企业职业健康工作总结报告
- 楼盘交房装修公司活动策划
评论
0/150
提交评论