查看: 5904|回复: 4

ASR PRO语音识别系列教程——串口通讯使用与测试

[复制链接]

11

主题

11

帖子

161

积分

版主

Rank: 7Rank: 7Rank: 7

积分
161
发表于 2022-7-22 15:46:53 | 显示全部楼层 |阅读模式
本帖最后由 陈哲东 于 2022-11-28 17:02 编辑

1.串口原理图
ASR PRO的MCU原理图如下,从原理图中我们可以看出,ASR PRO共有三组串口,分别为TX0(PB5),RX0(PB6);TX1(PA2),RX1(PA3);TX2(PA5),RX2(PA6)。

屏幕截图 2022-07-20 162832.png
详细原理图参考下方链接。
https://www.haohaodada.com/new/b ... =viewthread&tid=592

2.串口设置

在天问Block的ASR PRO中,我们可以设置串口的位置及串口波特率。
在入门模式中,我们可以调节图形化模块快速设置串口位置及波特率,如下图所示;
串口的位置为TX0(PB5),RX0(PB6),波特率为115200;

屏幕截图 2022-07-20 163819.png
入门模式也可以通过下面的指令发送数据等。
屏幕截图 2022-07-20 164044.png

在专业模式下,我们则使用GPIO模块区的指令,通过设置引脚的复用功能引用串口
捕获27.JPG
同时使用串口模块区的指令,设置串口的波特率(Serial就是UART0)
屏幕截图 2022-07-20 165056.png

3.串口监视器调试
我们先用天问Block的串口监视器对ASR PRO进行调试;
编写下列程序,先判断串口是否有数据可读;如果有数据可读,则将读取的字符串赋值给某个变量并进行判断。
屏幕截图 2022-07-20 170451.png
接着打开右上角的串口监视器,将下方的波特率改成和程序一致,点击串口监视器左上角的打开
屏幕截图 2022-07-20 170305.png
屏幕截图 2022-07-20 170332.png
输入one和two,并点击发送,语音会进行播报,同时串口会打印ser_rec=one和ser_rec=two
屏幕截图 2022-07-20 170712.png


4.ASR PRO与各种主板串口通讯


主板一:Micro:bit
①这里以Micro:bit主板和官方在线编程软件为例,介绍串口通讯。
捕获21.JPG

官方在线编程软件地址:
https://makecode.microbit.org/#editor
Micro:bit默认的串口波特率为115200。

②串口连接图:
在进行串口通信时,两个设备进行双向通信,此时两个设备的RX和TX要交错连接。例如Micro:bit,定义P12为RX口,则要接到ASR PRO的TX上,也就是PB5。
Micro:bit的P12引脚的RX,接ASR PRO的TX,也就是接在PB5;P16引脚接到ASR PRORX引脚(PB6),两者的5V和GND互相连接
好搭产品建模图片V1.5bit串口.png

③图形化代码
程序效果:ASR PRO与Micro:bit进行串口通讯;按下Micro:bit的AB按键,通过串口可以给ASR PRO发送字符串hello和world;当ASR PRO接收到后,就会回复对应的语音;当对ASR PRO说出“打开灯光、关闭灯光”时,ASR PRO和Micro:bit的串口信息会显示在Micro:bit的点阵屏上。
ASR PRO程序:
屏幕截图 2022-07-20 171859.png
Micro:bit程序:
捕获23.JPG

主板二:掌控板
①这里以掌控板和mpython软件为例,介绍串口通讯。
捕获24.JPG
mpython软件在线编程地址如下:
https://www.labplus.cn/equip-mPython

②串口连接图:
捕获25.JPG
连接方式与Micro:bit类似。掌控板的P15引脚的RX,接ASR PRO的TX,也就是接在PB5;P16引脚接到ASR PRORX引脚(PB6),两者的5V和GND互相连接

③图形化代码
程序效果:ASR PRO与掌控板进行串口通讯;编写一个程序,通过ASR PRO控制掌控板的板载RGB灯显示不同的颜色
ASR PRO端程序:
ASRPRO串口调试_1669625958116.jpg
掌控板端程序:
串口接ASR PRO调试_1669625575164.jpg


主板三:arduino
①这里以arduino UNO和好搭Block软件为例,介绍串口通讯。
96f39c93633e722fc861e7063854f0a9.png


②串口连接图:

1fa23dbbd606bd1174b02e852e17cb49.png
这是arduino UNO的原理图,我们可以选择将右下角的引脚0作为RX,引脚1作为TX;
即引脚0接PB5,引脚1接PB6,左侧的GND和5V连接到ASR PRO的GND和5V上。

③图形化代码
程序效果:ASR PRO与好搭Bit进行串口通讯;编写一个程序,可以在串口监视器查看串口的数值
ASR PRO端程序:

arduino端程序:
捕获6.JPG
右上角串口监视器:
捕获7.JPG

主板四:STC8H8K64U
①这里以STC8H8K64U芯片和天问Block软件为例,介绍串口通讯。
捕获8.JPG

②串口连接图:
捕获9.JPG
STC8可以用上面的这条指令设置串口位置和波特率,本案例以P5_0为RX,P5_1为TX举例。

P5_0和P5_1也就是STC8右部的0和1引脚,注意STC8的电源插脚接到5V,具体连接图如下:

捕获11.JPG

③图形化代码
程序效果:ASR PRO与STC8进行串口通讯:
ASR PRO程序:

STC8端程序:
7-双串口透传_1658651609446.jpg

主板五:树莓派
①这里以树莓派和python代码为例,介绍串口通讯。 捕获16.JPG

②串口连接:

捕获15.JPG
这是树莓派的引脚对照图。
根据引脚图我们得知,TXD位于HEAD-8,RXD位于HEAD-10,树莓派串口通信的波特率建议使用9600。
与上述的连接方式相同,树莓派和ASR PRO的RX TX交叉连接。

③程序编写:
程序效果:使用python编写,添加pyserial扩展库,树莓派通过串口返回接收到的数据。
捕获17.JPG







回复

使用道具 举报

0

主题

1

帖子

4

积分

注册会员

Rank: 2

积分
4
发表于 2022-10-21 13:50:39 | 显示全部楼层
你好,我用arduino+好搭,上传程序完后,插入tx rx,再用串口监视器打开并无显示。有没更详细的视频介绍。连线也检查了好多遍。
回复

使用道具 举报

1

主题

2

帖子

7

积分

注册会员

Rank: 2

积分
7
发表于 2022-10-23 17:05:10 | 显示全部楼层
有和stm32连接的吗
回复

使用道具 举报

1

主题

5

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2023-4-4 00:23:13 | 显示全部楼层
这个教程在范例3,与arduino的通信中,是漏了一个图片,还是根本做不到?在骗人??
回复

使用道具 举报

21

主题

218

帖子

1601

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1601
发表于 2023-4-4 09:27:58 | 显示全部楼层
本帖最后由 hcm0915 于 2023-4-4 13:48 编辑
zhwude 发表于 2023-4-4 00:23
这个教程在范例3,与arduino的通信中,是漏了一个图片,还是根本做不到?在骗人?? ...

天问Block软件,ASRPRO主板编程手册附录二有最新教程

ASRPRO编程手册(专业模式).pdf


回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-3-29 20:54 , Processed in 0.352471 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表