




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章发光二极管LED 6 1使用到的专用器件6 2驱动单个LED程序6 3驱动LED点阵6 4使用74HC595驱动LED6 5使用MAX7219驱动LED6 6RGB三色LED6 7七段数码管 1 6 1使用到的专用器件 在本节中只需要使用到一个专用的器件 LED二极管 LED二极管的类型和规格有很多 这里使用的是一个蓝色的5MM发光二极管 2 6 2驱动单个LED程序 驱动LED的程序非常简单 要持续地点亮一个LED二极管 只需要为LED二极管提供一个额定范围内恒定的电压即可 Arduino开发板的针脚有输入和输出两种模式 将针脚设置为输出模式后就可以做为电源 指定Arduino针脚模式的函数原型如下 pinMode pin mode 3 6 2 1使用数字针脚点亮LED 由于数字针脚只能输出高电压和低电压 因此在不借用其他元件的情况下只可以点亮或者熄灭LED 4 1 电路图 5 2 程序 intpin 10 指定LED连接的针脚voidsetup pinMode pin OUTPUT 设置针脚模式为输出digitalWrite pin HIGH 设置针脚输出电压 voidloop 6 6 2 2使用模拟针脚点亮LED 经过前面讲解可以得知 analogWrite 函数可以修改针脚的输出电压 0 5V 那么 就可以通过为analogWrite 函数传入不同的参数来控制针脚的输出电压 进而就可以控制LED的亮度 7 6 2 3使用LED发送S O S摩尔斯码 摩尔斯电码可以很方便地用来发送英文字母 数字以及部分符号 摩尔斯电码是通过控制电信号的长短来发声信息的 SOS这三个字母的摩尔斯电码表示如下 8 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 9 6 2 5LED跑马灯 10 6 2 6使用LED模拟交通灯 11 6 3驱动LED点阵 6 3 1LED点阵显示表情6 3 2LED点阵跑马灯6 3 3回纹灯6 3 4矩形回缩灯 12 6 3 1LED点阵显示表情 13 6 3 2LED点阵跑马灯 在6 3 5小节中实现了由三个LED组成的简易跑马灯 在本节就在8 8的LED点阵上来实现跑马灯 这个示例的电路不需要改动 我们直接编写对应的程序就可以了 14 6 3 3回纹灯 回纹表示的是从外圈向中心回旋的方式 在我们将要实现的回纹灯就是使用LED点阵来实现这一描述 回纹灯的实现电路与之前的LED点阵示例接法相同 因此这里只需要重新设计程序即可 15 6 3 4矩形回缩灯 矩形回缩灯就是从LED点阵最外圈的8 8矩形回缩到最小的2 2的矩形 以8 8点阵为例 以这种形式来展现类似矩形缩放的效果 其电路接法与前面的所有示例相同 因此这里只需要重新编写程序即可 16 6 4使用74HC595驱动LED 6 4 174HC595使用方式6 4 2使用74HC595驱动LED点阵 17 6 4 174HC595使用方式 74HC595是一个CMOS ComplementaryMetal Oxide Semiconductor 器件 18 19 6 4 2使用74HC595驱动LED点阵 20 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点阵 21 6 5 1MAX7219LED显示驱动器 MAX7219是小巧但功能强大的串行输入输出共阴极显示驱动器 它非常容易驱动七段LED数码管和LED点阵 22 23 6 5 2MAX7219的数据格式 MAX7219的数据是以16位为一个单位的 24 6 5 3MAX7219的寄存器 MAX7219有14个可编址的寄存器 他们可以通过D11 D8的值来指定 25 6 5 4LedControl库 LedControl函数库是一个可以全面控制MAX7219的一个第三方库 它可以从http playground arduino cc uploads Main LedControl zip获取 26 6 5 5Arduino通过MAX7219控制8 8LED点阵 1 MAX7219控制8 8LED点阵的连接电路2 Arduino通过MAX7219控制8 8LED的代码实现 27 1 MAX7219控制8 8LED点阵的连接电路 28 29 2 Arduino通过MAX7219控制8 8LED的代码实现 30 6 5 6MAX7219级联控制8 40LED点阵 所谓级联就是将两个以上的设备通过某种方式连接起来 起到扩容的效果 MAX7219的级联非常容易 只需要将上一级的DOUT作为下一级的DIN 然后共用LOAD和CLK信号 1 MAX7219级联电路2 MAX7219级联的控制代码 31 1 MAX7219级联电路 32 2 MAX7219级联的控制代码 33 6 6RGB三色LED 34 6 7七段数码管 七段数码管是常用来显示数字的一类数码管 这类数码管是由多个发光二极管构成的 6 7 1Arduino直接控制七段数码管6 7 2Arduino通过74HC595控制一个七段数码管6 7 3使用两个74HC595驱动4位七段数码管6 7 4Arduino通过MAX7219控制七段数码管 35 6 7 1Arduino直接控制七段数码管 36 6 7 2Arduino通过74HC595控制一个七段数码管 37 6 7 3使用两个74HC595驱动4位七段数码管 4位七段数码管通过多路复用技术将4个七段数码管封装在一起 38 39 6 7 4Arduino通过MAX7219控制七段数码管 1 MAX7219控制七段数码管的连接电路2 MAX7219控制七段数码管的实现代码 40 1 MAX7219控制七段数码管的连接电路 41 42 2 MAX7219控制七段数码管的实现代码 43 第7章蜂鸣器 7 1蜂鸣器的工作原理及分类7 2驱动蜂鸣器程序7 3蜂鸣器使用实例 44 7 1蜂鸣器的工作原理及分类 蜂鸣器是通过给压电材料供电来发出声音的 压电材料可以随电压和频率的不同产生机械变形 从而产生不同频率的声音 蜂鸣器又分为有源蜂鸣器和无源蜂鸣器两种 45 7 2驱动蜂鸣器程序 7 2 1驱动有源蜂鸣器7 2 2驱动无源蜂鸣器 46 7 2 1驱动有源蜂鸣器 47 7 2 2驱动无源蜂鸣器 48 7 3蜂鸣器使用实例 7 3 1使用无源蜂鸣器输出7个基本音级7 3 2使用无源蜂鸣器演奏音乐7 3 3使用有源蜂鸣器发送S O S摩尔斯码 49 7 3 1使用无源蜂鸣器输出7个基本音级 声音是由物体振动所产生的的 只是由于物体的材料以及振幅 频率不同 而产生不同的声音 声音的响度是由振幅决定的 而音调则是由频率决定的 50 7 3 2使用无源蜂鸣器演奏音乐 有了上一个示例中的演奏7个基本音阶的经验后 我们就可以根据乐音知识来简易地演奏一些音乐 这里就以生日歌中的一个片段来进行演示 该示例的元器件接法同示例7 3相同 51 7 3 3使用有源蜂鸣器发送S O S摩尔斯码 使用有源蜂鸣器发送S O S莫尔斯码的接法如图7 4相同 读者参照其连接即可 使用有源蜂鸣器发送S O S莫尔斯码的程序与使用LED非常类似 只需稍作修改即可 52 第8章按钮 8 1按钮的作用及分类8 2按钮的实质8 3按钮的使用示例 53 8 1按钮的作用及分类 按钮是一种非常常见而且形式多样的控制电器元件 它常用来接通或者断开控制电路 按钮可以分为如下的几种形式 常开按钮 开关触点在默认状态下是断开的 常闭按钮 开关触点在默认状态下是接通的 常开 常闭按钮 在默认状态下有接通和断开的按钮 54 55 8 2按钮的实质 按钮的实质就是用来发送一个电信号 低电平或者高电平 软件可以根据检测到的信号进行相应的操作 要在Arduino上正确地使用按钮 还需要了解两个个重要的概念 上拉电阻和下拉电阻 首先来看一个不使用下拉电阻的电路 它用一个常开按钮控制Arduino的板载LED 名为L 按钮被按下时LED点亮 松开时熄灭 56 8 3按钮的使用示例 8 3 1使用按钮控制LED灯8 3 2使用Arduino的中断8 3 3按钮矩阵的使用8 3 4使用按钮矩阵模拟钢琴 57 8 3 1使用按钮控制LED灯 58 8 3 2使用Arduino的中断 中断会在需要的时候向CPU发送请求以通知CPU处理 CPU在接收到中断后会暂停执行当前的任务转而处理中断 处理完成后继续执行之前的任务 而在中断未发送的时间段内 CPU可以执行其他的任务 这明显可以大幅度提高运行效率 attachInterrupt interrupt ISR mode detachInterrupt interrupt 59 60 8 3 3按钮矩阵的使用 在本小节中使用的是名为Keypad的第三方库 该库可以从http playground arduino cc Code Keypad Download下载 61 62 8 3 4使用按钮矩阵模拟钢琴 63 第9章电位器 9 1普通电位器9 2游戏摇杆9 3使用示例 64 9 1普通电位器 电位器是一种三端元件 它由两个固定端和一个滑动端组成 65 9 2游戏摇杆 游戏摇杆其实也是一种特殊的电位器 它的X轴和Y轴上分别装有一个电位器 66 9 3使用示例 9 3 1读取电位器的值9 3 2使用电位器控制LED亮度9 3 3使用电位器控制LED流水灯速度9 3 4游戏摇杆的使用 67 9 3 1读取电位器的值 电位器在旋转 旋转式电位器 和滑动 滑动式电位器 的过程中会将更大或者更小的电阻接入电路 而对应的电压则变小或者变大 通过Arduino的模拟输入端口 可以读取到这个电压 并为其映射一个相应的值 analogRead pin 68 69 9 3 2使用电位器控制LED亮度 70 9 3 3使用电位器控制LED流水灯速度 71 9 3 4游戏摇杆的使用 1 获取游戏摇杆的XY轴方向的值2 使用游戏摇杆控制4个LED 72 1 获取游戏摇杆的XY轴方向的值 73 2 使用游戏摇杆控制4个LED 74 第10章光敏电阻和常见传感器 10 1光敏电阻10 2火焰传感器10 3温湿度传感器10 4红外线收发10 5液位传感器 75 10 1光敏电阻 10 1 1光敏电阻应用原理10 1 2光控灯 76 10 1 1光敏电阻应用原理 根据串联电路的电压规律 串联电路的总电压等于各部分电路两端电压之和 也就是说 光敏电阻的阻值越大 则它分到的电压就越多 而总的电压是固定的 那么 其他部分电路的电压就必然会减小 77 78 10 1 2光控灯 光敏电阻在日常生活中最常见的一种应用就是声控灯 当然常见的声控灯中还使用到了声音传感器 因此在本小节中就实现一个光控灯 该光控灯在光线暗比较暗的时候点亮 而在光线明亮的时候熄灭 79 80 10 2火焰传感器 81 82 10 3温湿度传感器 10 3 1精密摄氏温度传感器LM3510 3 2温湿度传感器模块 83 10 3 1精密摄氏温度传感器LM35 84 10 3 2温湿度传感器模块 温湿度传感器是集温度湿度检测于一体的传感器在实际中常用的是DHT11 85 10 4红外线收发 10 4 1红外线模块构成10 4 2使用第三库Irremote 86 10 4 1红外线模块构成 最初的红外线接收端则是由单独的光敏电阻和集成电路组成的 现在的接收端普遍将光敏电阻和接收 放
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程中介服务合同5篇
- 【商贸物流合同】年度销售代理合同3篇
- 混凝土表面处理与修复方案
- 员工个人合同模板2篇
- 物资储备库人员管理与培训方案
- 2025浙江绍兴市上虞区公共文化服务中心招聘编外用工1人考试参考试题及答案解析
- 欧伯朗鞋柜买卖合同3篇
- 城市污水管网沿线绿化与恢复方案
- 风电场智能监控系统方案
- 2025年宣城市第二幼儿园招聘备考练习试题及答案解析
- 2025年轴流式消防排烟风机项目可行性研究报告
- 《管理学基础》课程标准(含课程思政)
- 《涡街流量计交流会》课件
- QC/T 1206.1-2024电动汽车动力蓄电池热管理系统第1部分:通用要求
- 国企内部控制审计服务方案
- 宁德时代笔试题库
- 骨干教师专业成长规划
- 广医三院产房个案护理分享
- 工程人员驻场服务方案
- 中小学校保安服务方案(技术方案)
- 直播供货协议合同范本
评论
0/150
提交评论