【Cortana智能你的生活】Cortana控制窗帘方法参考

老****馆 UID.2871322
2017-07-23 发表

本帖最后由 老李拉面馆 于 2017-7-24 13:26 编辑

这个标题出来的时候,想必大家已经有一些想法了。好比说可以上树莓派啊,搭载Win10IoT,语音直接控制岂不是美滋滋。或者通过蓝牙,给单片机弄个HC-05,连着串口也是可以的!而我们今天讨论的是,通过树莓派/PC的串口给单片机发送消息,来控制电机动作。
如图是控制顺序
***附件停止解析***
我们从上往下,一步步进行。
先讲PC串口发送消息给Arduino或者其他单片机,
这里我们用Arduino UNO来测试
先给Arduino下载这样一段程序
[mw_shl_code=c,true]String comdata="";
void setup()
{
// start serial port at 9600 bps:
Serial.begin(9600);
}

void loop() {
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
if (comdata.length() > 0)
{
Serial.print("Received Data:");
Serial.println(comdata);
comdata = "";
}
}[/mw_shl_code]
效果如图 ***附件停止解析***
使我们看的到串口发送了什么消息
接下来,我们打开微软的官方例程,SerialPort
https://github.com/ms-iot/samples/tree/develop/SerialUART/CS
***附件停止解析***
我们先了解如何调用小娜(用前台就够了)
参考这篇教程
http://www.cnblogs.com/Aran-Wang/p/4816313.html
有什么不懂可以先照抄,Run一遍,看看操作就懂了。
我将他的参数全部删掉了,只留了页面导航;在判断cmdName时,将propertie赋值,
然后重写MainPage导航事件,读取App.xaml.cs传过来的propertie。根据不同的propertie值,串口发送不同的消息。
具体流程如图:
***附件停止解析***

再接着,我们看,拿到了propertie值,我们怎么发送串口消息
***附件停止解析***
代码写的比较烂,各位看的懂就好
https://github.com/SylvesterLi/CortanaControlMotor
然后我们部署一下,就可以了。
测试程序是否正常
(如果部署VoiceCommandDictionary.xml失败了,会在App.xmal.cs里报错,这时候你需要检查你的VCD文件是否写对了)
***附件停止解析***
如果你有什么不懂,可以将指针移在函数上,查看相关注释。
像这样
***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***
接着我们来写Arduino的程序
[mw_shl_code=c,true]String rx_Buffer;
void setup()
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
analogWrite(5,0);
analogWrite(6,0);
Serial.begin(9600);
}

void loop()
{
while(Serial.available()>0)
{
rx_Buffer=Serial.readString();
if(rx_Buffer=="OpenDoor")
{
//开窗
analogWrite(5,0);
analogWrite(6,80);
MotoStop();
Serial.println("窗帘打开咯");
}
else if(rx_Buffer=="ShutDoor")
{
analogWrite(5,80);
analogWrite(6,0);
MotoStop();
Serial.println("窗帘关上咯");
}
else if(rx_Buffer=="MSGreat")
{
MotoStop();
Serial.print("微软大法好!");
}
else
{
Serial.print("这是啥?");
}

Serial.println("接收到了:");
Serial.print(rx_Buffer);
delay(1000);
}
}
void MotoStop()
{
delay(1000);
delay(500);
analogWrite(5,0);
analogWrite(6,0);
}[/mw_shl_code]
下载下去,联调测试一下。
L298N的连线如图
***附件停止解析***
最终效果,我们还是老样子B站视频见
[media=x,500,375]http://www.bilibili.com/video/av12499202/[/media]

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
an****er UID.2840439
2017-07-23 回复

顶一个。供电是个硬伤

老****馆 UID.2871322
2017-07-23 回复

Quote***链接停止解析***
顶一个。供电是个硬伤


供电不是硬伤啊,其实部分小电机5V也可以动,只是电机转得慢,可以试试嘛

々殇£月¢ UID.461045
2017-07-23 回复

不是UWP已经无法唤起了吧·········EXE全部不能打开

木易巅峰 UID.1253182
2017-07-23 使用 Lumia 640 回复

帮顶。。。

老****馆 UID.2871322
2017-07-23 回复

Quote々殇£月¢ 发表于 2017-7-23 19:53
不是UWP已经无法唤起了吧·········EXE全部不能打开


你说的是树莓派吗?

邓****国 UID.2853835
2017-07-24 使用 Lumia 950 XL 回复

尼玛 看不懂{:3_97:}

老****馆 UID.2871322
2017-07-25 回复

Quote***链接停止解析***
尼玛 看不懂


那就看视频嘿嘿

dea****001 UID.103336
2017-07-27 回复

赞楼主,加油!

p****4 UID.559374
2017-07-27 回复

会编程的就是帅~~

老****馆 UID.2871322
2017-11-14 回复

Quote***链接停止解析***
会编程的就是帅~~


谢谢哈哈哈哈

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报