2714|4

1297

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

【一起玩MicroPython】07 pyboard+LinkNode混搭,实现BLUE Radio [复制链接]

 
通过蓝牙来控制咱们的收音机。其实这个设计是有点牵强的,因为如果只是简单控制收音机接收,理论上只要用LinkNode就行了,不就是个I2C总线嘛,只不过咱们的LinkNode同志外接的IO太少,焊好的只有2个(uart的tx和Rx),而Si4703又要3个IO,外加LCD显示啥的,这又不方便往LinkNode上焊接排针,就只好通过pyboard来搭桥了。框架如下:手机--(BLE)-->LinkNode--(uart)-->micropython。LinkNode部分大家可以去RF版看(https://bbs.eeworld.com.cn/thread-493563-1-1.html),其实不看也没关系,只要知道手机会发5个控制字符给LinkNode,然后LinkNode通过串口转发出来就是了。

然后就是测试pyb的uart。F4DISCO的uart总共支持3个,分别是uart2(A2,A3),uart3(D8,D9)和uart6(C6,C7),括号中的引脚,前者是T,后者是R。由于在前面的设计中,A3被拿去做液晶背光了,所以决定选用uart3。

参考了一下micropython的帮助,发现uart的使用非常的简单,只有初始化,读,写几个函数,并没有接收的callback,所以串口的读取就只能靠轮询了。pyb提供了any()函数来返回串口缓冲状态,如果返回0,表示没有,如果返回值大于0,表示缓冲中有数据。这样可以通过read、readchar或者readline等方式读回来。由于控制命令简化为1个字节,所以直接用readchar来读,读到的是一个整数。所以先测试udlrp对应的10进制数,发现是117,100,108,114,112。如此就简单了。伪代码如下:
while True:
        if u3.any()>0:
                cmd=u3.readchar()
                if cmd==114:   #R
                        向上切台        
                if cmd==108:        #L
                        向下切台
                if cmd==117 :        #U
                        音量+               
                if cmd==100:        #D
                        音量-
                if cmd==112 :  #P
                        开关
                cmd=0
        pyb.delay(1000)


里面切换动作就是原来的代码,测试通过,就是用delay(1000)似乎响应慢了一点,500刚好。为了和上一个区别,显示的头一行从“PY FM Radio”修改为“BLUE  PY  Radio”




简单操作演示如下,先按下p开机,然后1s定时发送u,所以音量开始逐步增加。接着是用r和l分别控制向下切台和向上切台。最后定时1s发送d,音量渐减。最后按p,关机。上视频


然后其他module和main一并附上。
bluepyradio_upload.zip (9.66 KB, 下载次数: 11)

最新回复

这个很不错,学习了。  详情 回复 发表于 2016-7-9 12:21

赞赏

1

查看全部赞赏

点赞 关注
 
 

回复
举报

1万

帖子

203

TA的资源

管理员

来自 3楼
 
汇总帖在此:
【一起玩MicroPython】—by johnrey
https://bbs.eeworld.com.cn/forum ... 9205&fromuid=536508
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复

1万

帖子

25

TA的资源

版主

沙发
 
功能越来越多了。
 
 
 

回复

662

帖子

0

TA的资源

纯净的硅(初级)

4
 
这个很不错,学习了。
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

5
 
才发现视频地址传错了,我晕啊。其实应该是这个

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表