4284248 发表于 2024-10-23 16:49

【2024 DigiKey 创意大赛】智能聊天机器人

本帖最后由 4284248 于 2024-10-23 21:05 编辑

<div><strong>智能聊天机器人</strong></div>

<div>作者:<a href="https://home.eeworld.com.cn/space-uid-1500834.html">4284248</a></div>

<ol>
        <li><strong>作品简介</strong><br />
        <br />
        <strong>机器人可以实现语音聊天,通过按钮开始和结束对话,机器人就会语音播放回答。可以识别人脸、声源方向,自动旋转到面朝用户的方向。通过</strong><strong>esp-now</strong><strong>可以发送相关信息到</strong><strong>esp32-c6</strong><strong>处,并且通过屏幕显示出来。</strong><br />
        <strong>使用到</strong><strong>NUCLEO-F411</strong><strong>、</strong><strong>ESP32-C6</strong><strong>、</strong>MSM261S4030H0麦克风板、树莓派5、无刷电机等</li>
        <li><strong>系统框图</strong></li>
</ol>

<div><strong>设计思路</strong></div>

<div><strong>设计的核心主要是用多种传感器可以完成与机器人进行互动。以交互为目的,系统可以完成与用户的交互活动。通过合理的软件设计,让机器人可以感知环境,完成互动。</strong></div>

<div><strong>本系统采用模块化设计,各部分完成自己独立的部分,遇到问题,也可以更好的进行问题定位。</strong></div>

<div><strong>系统框图</strong></div>

<div><strong></strong></div>

<div><strong>上面的屏幕是后面有一个</strong><strong>STM32</strong><strong>专门去控制。树莓派和</strong><strong>STM32F411</strong><strong>就放在机器人的后面。电机是放在语音识别板的上方。</strong></div>

<div><strong>三、各部分功能说明</strong></div>

<div><strong>语音交互</strong></div>

<div><strong>利用树莓派</strong><strong>5</strong><strong>配合</strong><strong>USB</strong><strong>录音器和蓝牙音箱实现语音交互。首先通过按钮的按下为开关,按下就开始录音,录制</strong><strong>10s</strong><strong>的声音,然后通过语音识别的</strong><strong>api,</strong><strong>识别成文字,文字再发送到</strong><strong>Chatgpt</strong><strong>的</strong><strong>api</strong><strong>接口,获得回复的文字,最后再把文字发送到语音生成的</strong><strong>api</strong><strong>,最后生成</strong><strong>pcm</strong><strong>格式的语音文件,再通过蓝牙音箱播放出来。</strong></div>

<div></div>

<div><strong></strong></div>

<div><strong>人脸识别</strong></div>

<div><strong>利用树莓派</strong><strong>5</strong><strong>搭配</strong><strong>USB</strong><strong>摄像头,运行</strong><strong>opencv</strong><strong>,加载预训练的</strong><strong>Haar</strong><strong>级联模型。实现人脸识别,并输出对应的坐标。通过串口把对应的位置数据,发送给</strong><strong>STM32</strong><strong>端,控制电机完成方向的定位。</strong></div>

<div><strong></strong></div>

<div><strong></strong></div>

<div><strong>无刷电机控制</strong></div>

<div><strong>无刷电机使用</strong><strong>LIN</strong><strong>协议控制,我们需要一个模块通过</strong><strong>uart</strong><strong>转</strong><strong>lin</strong><strong>,</strong><strong>STM32</strong><strong>通过</strong><strong>uart</strong><strong>发送对应的命令给电机,电机就可以按照指定方向进行转动。电源部分用的是</strong><strong>24V</strong><strong>电池进行供电。</strong></div>

<div><strong></strong></div>

<div><strong>声源定位</strong></div>

<div><strong>使用</strong><strong>Sipeed</strong><strong>家的</strong><strong>K210 BIT</strong><strong>开发板,通过杜邦线连接传感器的引脚,在</strong><strong>k210</strong><strong>里面运行解算声源模块数据的代码,解算后,进行滤波,通过过滤掉一些杂音等干扰因素,最终得到正确的声源方向和大小。然后通过串口的方式,把解算出来的角度发送给</strong><strong>STM32</strong><strong>。</strong></div>

<div><strong>ESP</strong><strong>远程显示部分</strong></div>

<div><strong>使用</strong><strong>espnow</strong><strong>进行通信,在</strong><strong>STM32</strong><strong>边外挂一个</strong><strong>esp32</strong><strong>,通过串口发送数据到</strong><strong>esp32</strong><strong>中,</strong><strong>esp32</strong><strong>再通过</strong><strong>esp-now</strong><strong>的方式发送到远处的</strong><strong>esp32</strong><strong>中,使用串口屏,写好双方串口通信的协议,然后就可以在远处显示出具体的数据。</strong></div>

<div><strong></strong></div>

<div><strong>四、作品源码</strong></div>

<div><a href="https://download.eeworld.com.cn/detail/4284248/634607" target="_blank">https://download.eeworld.com.cn/detail/4284248/634607</a></div>

<div><strong>五、作品功能演示视频</strong></div>

<div><iframe allowfullscreen="true" frameborder="0" height="450" src="https://training.eeworld.com.cn/shareOpenCourseAPI?isauto=true&amp;lessonid=41405" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
&nbsp;</div>

<div>&nbsp;</div>

<div><strong>六、项目总结</strong></div>

<div><strong>通过这次活动,学到了很多,树莓派的图像识别,声源的定位,电机的控制,以及</strong><strong>esp32-now</strong><strong>的通信部分</strong></div>

<div>最后,感谢电子工程世界与得捷电子联合举办的【2024 DigiKey 创意大赛】活动,非常荣幸第一次参与这个活动。本次活动使我学到了不少的新知识,在项目过程中也遇到不少困难,最终实现的成品虽然有些潦草,但好在最终实现了相应的功能。祝愿 EEWorld 越办越好!</div>

<div>&nbsp;</div>

<div><br />
<br />
&nbsp;</div>

<p><!--importdoc--></p>

wangerxian 发表于 2024-10-23 17:37

<p>效果很棒,感觉功能都挺实用的!</p>

wangerxian 发表于 2024-10-23 17:38

<p>树莓派播放声音可以调大一些哦~。</p>

4284248 发表于 2024-10-23 19:49

wangerxian 发表于 2024-10-23 17:38
树莓派播放声音可以调大一些哦~。

<p>这个我记得是用的50的声音,之前用百分百太大,所以专门调小了</p>

<p>&nbsp;</p>

hellokitty_bean 发表于 2024-10-24 12:37

<p>欣赏了一下,做得非常好呀。。。。。。。。。。。。。。。。<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>

通途科技 发表于 2024-11-18 20:07

页: [1]
查看完整版本: 【2024 DigiKey 创意大赛】智能聊天机器人