树莓派实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:实验12-PIR传感器和语音识别实验
专业班级:姓名:学号:实验日期:
一、实验目的:
(1)熟悉人体红外传感器、语音识别和文本转语音(TTS)。
(2)掌握在Windows 10 IoT Core中使用GPIO读取人体红外传感器输出的方法。
(3)掌握在Windows 10 IoT Core中使用SpeechRecognition和SpeechSynthesis进行语音识别和语音合成的方法。
二、实验内容:
(1)将人体红外传感器PIR、LED灯分别连接到树莓派的GPIO5和GPIO6,运行程序12-1后,先点击初始化PIR按钮,若附近有人活动时,即程序检测到上升沿,指示的LED灯亮;没有人活动时,即程序检测到下降沿,LED灯熄灭,与应用程序界面上的状态同步。
如下图所示。
在实验12-1的基础上,使用树莓派、人体红外传感器PIR、LED灯、电阻、面包板和跳线,实现Security Camera。即检测到附近有人活动时,程序自动拍照,存储到本地。
(2)使用树莓派(IoT Core系统烧写版本为14986)、USB声卡、耳机、麦克风、LED灯、电阻、面包板和跳线,实现本地的语音合成和语音识别,从而达到控制LED灯的目的。
程序12-2给出了语音控制一个LED的场景,即使用语音turn on bedroom led或者turn off bedroom led来控制GPIO5引脚连接的LED灯。同时,可以在Visual Studio的Output 窗口看到语音识别的实时结果。如下图所示。
用户可以在应用程序界面输入文字,点击按钮,可以让系统读出该内容,如下图所示。
请在此基础上,添加LED灯,修改语音定义文件和程序,从而达到控制两个不同的LED 的功能。
三、实验结果(注意:所有截图需要加注自己的姓名+学号水印):
1. 利用Fritzing软件画出硬件连接图,给出实验内容1对应的所有关键代码,给出测
试结果和说明,附调试截图。
硬件连接图:
硬件连接图如左图所示,将led连接在GPIO5上,将
pri的数据输出接口接在GPIO18上
关键代码:
private void PinPIR_ValueChanged(GpioPin sender,
GpioPinValueChangedEventArgs e)
{
利用Fritzing软件画出硬件连接图,给出实验
内容2对应的所有关键代码,给出测试结果和说明,附调
试截图。
硬件连接图:
如右图所示,在此次的试验中需要用到两个GPIO引脚,分别为GPOI6和GPIO12。
关键代码:
private async void LightControl(string command, string target)
{
if (target == "Bedroom")
{
;
return;
}
BedRoomLED_GpioPin = (BedRoomLED_PINNumber);
BedRoomLED_GpioPinValue = ;
(BedRoomLED_GpioPinValue);
;
;
}
private void InitKITCHENGPIO()
{
var gpio = ();
;
return;
}
实验结果:
当语音输入“hi jack”时便会启动程序,程序会返回“hi jack what can I do for you”。然后便可以进行命令输入。当语音输入“turn on the …”便可以进行用语音输入控制小灯的亮灭。
实验结果如左图所示,当声音输入开灯的命令之后便会将灯打开途中两个灯分别代表
卧室和厨房的灯,从中可以看出实验成功将两个地方的灯分别点亮。
四、实验总结(请列出实验过程中遇到的问题和解决方法):
由于此次的实验比较简单基本上没有遇到什么很难的问题,主要出现的问题还是之前出现过的那些,由于takephoto_Click为前台的事件,因此需要将该调用放入UI更改程序中否则无法成功。