Arduino案例实战(卷Ⅴ北京邮电大学精品教材)/清华开发者书库

Arduino案例实战(卷Ⅴ北京邮电大学精品教材)/清华开发者书库
作者: 编者:李永华
出版社: 清华大学
原售价: 79.00
折扣价: 56.10
折扣购买: Arduino案例实战(卷Ⅴ北京邮电大学精品教材)/清华开发者书库
ISBN: 9787302510420

作者简介

李永华 现执教于北京邮电大学,拥有超过10年的嵌入式开发经验,致力于物联网和智能硬件的研究开发工作。在教学中以兴趣为导向,激发学生的创造性;以素质为基础,提高自身教学水平;以科研为手段,促进教学理念转变。通过信息工程专业综合改革,探索了以“学生学为中心”的教学模式,营造生动活泼的学习方法,提高学生独立思考问题、发现问题、解决问题的能力,激发学生的创造**。在研发及教学实践中指导学生实现200余个创新案例,并指导着一支物联网开发团队,曾在物联网、开源硬件等技术领域进行了多场学术报告,并且出版了《AllJoyn技术原理及物联网程序开发指南》《Arduino实战指南——游戏开发、智能硬件、人机交互、智能家居与物联网设计30例》《Arduino软硬件协同设计实战指南》等多部物联网技术方面的著作。

内容简介

第3章 魔幻音乐盒项目设计 3.1项目背景 本章根据郑少波、邓博文项目设计整理而成。 通过将各种传感器与音乐联系起来,是当今社会科技与娱乐融合的体现,从超声波、激光、压力传感器的应用,到各种电子琴、电子音乐盒以及电子打击乐器,可以进行不同领域的应用。基于这些启发,本项目组在超声波与音乐结合的基础上,保留“弹奏音乐”的功能,开发出*多与音乐有关的有趣模块,*终制作成一个魔幻音乐盒。 3.2创新描述 本音乐盒除了要手动打开之外,其余所有的功能选项,由手机通过蓝牙模块来控制,并且用按键代替直接输入指令,交互性很强。除了可以自我弹奏音乐之外,本项目还编写了一些歌曲可以直接播放,在播放音乐的同时配有炫目的灯光,做到了“魔幻”的效果。整个音乐盒采用直流电池供电,包装精巧,携带方便,可提供随时随地的娱乐。 3.3功能及总体设计 3.3.1功能介绍 音乐盒的主体功能共分为“弹奏音乐”和“播放音乐”两种模式。在“弹奏音乐”模式下,手在超声波传感器上进行移动,扬声器发出不同的音调,同时LED灯带出现不同颜色的灯光; 在“播放音乐”模式下,可自主选择播放歌曲和想要的灯光模式效果。 3.3.2总体设计 1. 整体框架图 整体框架如图31所示。 图31整体框架 整体由五个模块组成。其中,供电模块用来给Arduino开发板供电,电压为DC 6V; 超声波传感器模块用来检测手到它的距离,从而控制扬声器和LED灯带; 扬声器模块用来输出声音; LED灯带模块用来显示灯光; 蓝牙模块使Arduino开发板与手机相连,进行发送指令控制Arduino开发板。电源由电池盒、船型开关、电池和导线组成。为了能够用上开关,剪掉了电池盒自带的黑线,并串联上了船型开关。电池盒的5mm插头用来插在Arduino开发板上,给Arduino开发板供上6V的直流电源。 2. 系统流程图 系统流程图如图32所示。 在开机之后,会有一段2~3s的开机音乐。打开手机,连上蓝牙之后,共有两大模式可供选择。一是“弹奏音乐”模式,按下“弹奏音乐”按钮,将手放在超声波传感器上上下移动,共可发出Do、Re、Mi、Fa、So、La、Si 7个不同音,同时对应每一个音调,LED灯带出现红、橙、黄、绿、青、蓝、紫7种不同的颜色。再次按下按钮,可关闭该模式。二是“播放音乐”模式,按下“播放音乐”模式,再选择3个按钮: “让我们荡起双桨”“大海”和“爱的华尔兹”,即可播放相应歌曲。在播放歌曲的同时,可再选择3个按钮: “灯光模式1”“灯光模式2”和“灯光模式3”,即可让LED灯带出现3种不同的灯光效果。当音乐停止时,灯光自动关闭,并且在播放音乐的同时,无论按下歌曲按钮还是“播放音乐”按钮,都可以让音乐和灯光停止。 3. 总电路图 总电路如图33所示。 在Arduino开发板中,共使用了8个引脚,分别为5V、GND、引脚2、引脚3、引脚6、引脚9、引脚10和引脚11。其中,5V用来给超声波传感器、蓝牙和LED灯带提供电源; GND用来给超声波传感器、蓝牙、LED灯带和扬声器做地端; 引脚2接超声波传感器的Trig端,用来输入触发控制信号; 引脚3接超声波传感器的Echo端,用来输出回响信号; 引脚6接LED灯带的数据传输口,用此口对灯带进行编程; 引脚9接扬声器的正极,用来控制输出不同频率的音调; 引脚10被定义为R端; 引脚11被定义为T端,分别与蓝牙的T端和R端相连,实现蓝牙通信。 4. 手机App按钮控制图 手机App界面如图34所示。 图32系统流程图 图33系统总电路 图34手机App界面 这个App来自一个叫作“蓝牙串口”的软件。该软件下有空白开关可供编辑。在连接蓝牙之后,可以通过按钮来控制Arduino开发板。其原理为按下某一个按钮,手机将向蓝牙发送一个字符,蓝牙将该字符发送给Arduino开发板,Arduino开发板根据预先设定的程序发出相应指令。弹起某个按钮时的情况也是如此,在这里弹起按钮时对Arduino开发板所做的指令为停止声音或关闭灯光。按钮**列为主体模式选择,第2列是在选中“播放音乐”时才可选择的歌曲,第3列是在选中某首歌曲的情况下才可选择的灯光模式。各按钮所实现的功能已在流程图处说明,故这里不再赘述。 3.3.3模块介绍 本项目主要包括四个模块: 超声波传感器模块、扬声器模块、LED灯带模块和蓝牙模块。下面分别给出各模块的功能和相关代码。 1. 超声波传感器模块 1) 功能介绍 超声波测距原理: 发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即s=340m/s×t/2,这就是所谓的时间差测距法。 使用Arduino采用数字引脚给超声波传感器的Trig引脚至少10μs的高电平信号,触发SR04模块测距功能。触发后,模块会自动发送8个40kHz的超声波脉冲,并自动检测是否有信号返回。这一步会由模块内部自动完成。如有信号返回,Echo引脚会输出高电平,高电平持续的时间就是超声波从发射到返回的时间。此时,使用函数pulseIn()获取到测距的结果,并计算出与被测物的实际距离。 "从构思、设计到实现,深入理解Arduino项目开发 《Arduino案例实战》系统论述了Arduino开源硬件的开发方法和技术。书中以丰富的Arduino设计实例,介绍了智能硬件的物联网应用。在处理嵌入式系统的开发过程中,使用Arduino开源平台,将事半功倍,极大提高效率。 本书突出的特点 ? 典型场景的创新应用 ? 智能开源的编程实践 ? 不同领域的经典案例 ? 多种产品的功能实现 注:本书提供配套学习资源,下载地址为清华大学出版社本书页面。 "