arduino入门很简单(中).ppt

上传人:sh****n 文档编号:7456407 上传时间:2020-03-21 格式:PPT 页数:92 大小:21.15MB
返回 下载 相关 举报
arduino入门很简单(中).ppt_第1页
第1页 / 共92页
arduino入门很简单(中).ppt_第2页
第2页 / 共92页
arduino入门很简单(中).ppt_第3页
第3页 / 共92页
点击查看更多>>
资源描述
第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 函数可以修改针脚的输出电压 0 5V 那么 就可以通过为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个可编址的寄存器 他们可以通过D11 D8的值来指定 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红外线模块构成 最初的红外线接收端则是由单独的光敏电阻和集成电路组成的 现在的接收端普遍将光敏电阻和接收 放大 解调电路集成到了一起 这种形式的优势就在于体积非常小 在接下来的讲解中将使用VS1838B来作为接收端而发射端则是一个常见的MP3遥控器 10 4 2使用第三库Irremote 10 5液位传感器 10 5 1接触式液位传感器10 5 2完善液位传感器 10 5 1接触式液位传感器 10 5 2完善液位传感器 1 通过测量或者查看器件手册获取液位传感器可以测量的最高液位 2 将液位传感器测量液位部分完全浸入液体中 记录Arduino读取到的电压值 3 使用map 函数将电压与液位重新映射
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!