![树莓派实验报告(共7页)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/9697230e-db96-4580-b9f8-8443d4255243/9697230e-db96-4580-b9f8-8443d42552431.gif)
![树莓派实验报告(共7页)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/9697230e-db96-4580-b9f8-8443d4255243/9697230e-db96-4580-b9f8-8443d42552432.gif)
![树莓派实验报告(共7页)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/9697230e-db96-4580-b9f8-8443d4255243/9697230e-db96-4580-b9f8-8443d42552433.gif)
![树莓派实验报告(共7页)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/9697230e-db96-4580-b9f8-8443d4255243/9697230e-db96-4580-b9f8-8443d42552434.gif)
![树莓派实验报告(共7页)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/9697230e-db96-4580-b9f8-8443d4255243/9697230e-db96-4580-b9f8-8443d42552435.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上成绩: 教师: 课程名称:嵌入式Windows程序开发实验名称:实验12-PIR传感器和语音识别实验专业班级: 姓名: 学号: 实验日期: 一、实验目的:(1)熟悉人体红外传感器、语音识别和文本转语音(TTS)。(2)掌握在Windows 10 IoT Core中使用GPIO读取人体红外传感器输出的方法。(3)掌握在Windows 10 IoT Core中使用SpeechRecognition和SpeechSynthesis进行语音识别和语音合成的方法。二、实验内容:(1)将人体红外传感器PIR、LED灯分别连接到树莓派的GPIO5和GPIO6,运行程序12-1后,先
2、点击初始化PIR按钮,若附近有人活动时,即程序检测到上升沿,指示的LED灯亮;没有人活动时,即程序检测到下降沿,LED灯熄灭,与应用程序界面上的状态同步。如下图所示。在实验12-1的基础上,使用树莓派、人体红外传感器PIR、LED灯、电阻、面包板和跳线,实现Security Camera。即检测到附近有人活动时,程序自动拍照,存储到本地。(2)使用树莓派(IoT Core系统烧写版本为14986)、USB声卡、耳机、麦克风、LED灯、电阻、面包板和跳线,实现本地的语音合成和语音识别,从而达到控制LED灯的目的。程序12-2给出了语音控制一个LED的场景,即使用语音turn on bedroom
3、 led或者turn off bedroom led来控制GPIO5引脚连接的LED灯。同时,可以在Visual Studio的Output窗口看到语音识别的实时结果。如下图所示。用户可以在应用程序界面输入文字,点击按钮,可以让系统读出该内容,如下图所示。请在此基础上,添加LED灯,修改语音定义文件和程序,从而达到控制两个不同的LED的功能。三、实验结果(注意:所有截图需要加注自己的姓名+学号水印):1. 利用Fritzing软件画出硬件连接图,给出实验内容1对应的所有关键代码,给出测试结果和说明,附调试截图。硬件连接图:硬件连接图如左图所示,将led连接在GPIO5上,将pri的数据输出接口
4、接在GPIO18上关键代码:private void PinPIR_ValueChanged(GpioPin sender, GpioPinValueChangedEventArgs e) / toggle the state of the LED every time the button is pressed if (e.Edge = GpioPinEdge.RisingEdge) ledPin.Write(GpioPinValue.Low); if (e.Edge = GpioPinEdge.FallingEdge) ledPin.Write(GpioPinValue.High); va
5、r task = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => if (e.Edge = GpioPinEdge.FallingEdge) ledEllipse.Fill = grayBrush; GpioStatus.Text = "PIR FallingEdge" if (e.Edge = GpioPinEdge.RisingEdge) ledEllipse.Fill = redBrush; GpioStatus.Text = "PIR RisingEdge" takePhot
6、o_Click(takePhoto, new RateChangedRoutedEventArgs(); ); 如上面的代码所示在原来的代码段中调用takePhoto_Click(takePhoto, new RateChangedRoutedEventArgs();函数,在主页面的圆点控制的代码中添加调用拍照功能的代码。当人体红外传感器检测到时输出高电平,GPIO口接受到后检测到上升沿便会进行拍照并且点亮led实验结果:实验结果如图所示,当红外设备检测到有人时就会进行拍照,并且将照片进行保存,于此同时,照片展示框下的指示点便会由灰色变为红色以指示检测到红外信息,同时连接在树莓派GPIO上的l
7、ed小灯点亮。没有检测到红外信息时,便不会拍照。也不会执行任何操作。2. 利用Fritzing软件画出硬件连接图,给出实验内容2对应的所有关键代码,给出测试结果和说明,附调试截图。硬件连接图:如右图所示,在此次的试验中需要用到两个GPIO引脚,分别为GPOI6和GPIO12。关键代码: private async void LightControl(string command, string target) if (target = "Bedroom") /= if (command = "ON") if (BedRoomLED_GpioPin !=
8、null) await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => bedRoomTimer.Start(); ); else if (command = "OFF") await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.Ru
9、nAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => bedRoomTimer.Stop(); if (BedRoomLED_GpioPinValue = GpioPinValue.Low) BedRoomLED_GpioPinValue = GpioPinValue.High; BedRoomLED_GpioPin.Write(BedRoomLED_GpioPinValue); /LED.Fill = redBrush; ); /= else if (target = "kitchen") /= if
10、 (command = "ON") if (kITCHENLED_GpioPin != null) await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => kITCHENTimer.Start(); ); else if (command = "OFF") await Windows.ApplicationModel.
11、Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => kITCHENTimer.Stop(); if (kITCHENLED_GpioPinValue = GpioPinValue.Low) kITCHENLED_GpioPinValue = GpioPinValue.High; kITCHENLED_GpioPin.Write(kITCHENLED_GpioPinValue); /LED.Fill = redBru
12、sh; ); /= SaySomthing($"target light", command); private void InitBedRoomGPIO() var gpio = GpioController.GetDefault(); / Show an error if there is no GPIO controller if (gpio = null) BedRoomLED_GpioPin = null; /GpioStatus.Text = "There is no GPIO controller on this device." retu
13、rn; BedRoomLED_GpioPin = gpio.OpenPin(BedRoomLED_PINNumber); BedRoomLED_GpioPinValue = GpioPinValue.High; BedRoomLED_GpioPin.Write(BedRoomLED_GpioPinValue); BedRoomLED_GpioPin.SetDriveMode(GpioPinDriveMode.Output); /GpioStatus.Text = "GPIO pin initialized correctly." private void InitKITCH
14、ENGPIO() var gpio = GpioController.GetDefault(); / Show an error if there is no GPIO controller if (gpio = null) kITCHENLED_GpioPin = null; /GpioStatus.Text = "There is no GPIO controller on this device." return; 实验结果:当语音输入“hi jack”时便会启动程序,程序会返回“hi jack what can I do for you”。然后便可以进行命令输入。当语音输入“turn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级工作要点计划月历表范文(31篇)
- 2025至2031年中国法式钳工锤行业投资前景及策略咨询研究报告
- 2025至2030年中国脂肪醇酰胺数据监测研究报告
- 2025至2030年中国羊皮罩数据监测研究报告
- 2025至2030年工程王轮胎项目投资价值分析报告
- 2025至2030年中国毛线帽数据监测研究报告
- 2025至2030年中国智能控制吹灰器数据监测研究报告
- 2025年中国隔声器市场调查研究报告
- 2025年中国精密高速冲床市场调查研究报告
- 中草药在国际市场的竞争力分析考核试卷
- 快速入门穿越机-让你迅速懂穿越机
- 水利安全生产风险防控“六项机制”右江模式经验分享
- 2024年四川省成都市高新区中考数学二诊试卷
- 幼儿园卫生保健开学培训
- 食材配送服务售后服务方案
- 矿井主要灾害事故防治应急避灾知识培训课件
- 不老莓行业分析
- STARCCM基础培训教程
- 2016-2023年娄底职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 贵阳市2024年高三年级适应性考试(一)一模英语试卷(含答案)
- 地理标志专题通用课件
评论
0/150
提交评论