大数跨境
0
0

【喵家创意小项目分享】会说话的人脸

【喵家创意小项目分享】会说话的人脸 KittenBot小喵
2022-07-19
0
导读:小喵分享出创意小项目——会说话的人脸,希望带给大家可以给回小喵一些反馈哦~


No.1

概述


会说话的人脸是你的贴身陪伴,同时也是你的智能管家!小喵今天就把详细制作过程分享出来供大家学习参考~


No.2

硬件清单


薄纸皮板若干

A4打印纸x1

颗粒件积木若干

科技件积木若干

Geekservo 9G舵机X3

robobit底座x1

robobit edu x1

18650锂电池 x1

未来板x1

方糖红色LEDx2

方糖温湿度模块x1

语音识别模块x1

白色3pin线x2

黑色4pin线x1

4pin转杜邦线x1

3M胶若干



No.3

软件使用


kittenblock



No.4

使用到的工具


美工刀

剪刀

尺子

铅笔

3M胶


utility knife

scissors

ruler

pencil

3m tape



No.5

项目搭建


难度:⭐⭐⭐

项目搭建构思

会说话的人脸,顾名思义就是要会说话,所以嘴巴是需要做出开合动作的,且为了人脸表达出更多的情绪,眼睛用上LED灯来代替,两条眉毛同样是可以被控制的


第一步:人脸大小的确认

为了确认人脸的长宽,特意上网查了下,发现人脸的长宽比例是34:21,因为用上了方糖模块的LED模块,为了整体看上去不会很突兀,所以人脸的长宽设定为204*126mm


第二步:人脸组成部件的确定

确认好脸的尺寸后,其余相关纸板部件的线框图也可以设计出来了



点击此处下载附件:会说话的人脸线框图.pdf


第三步:人脸组成部件的划线

把确认好的线框图打印在A4纸上,并把上面的图案沿边框裁切下来,再按上纸板上划线



第四步:人脸组成部件的裁切

顺着纸板上划出来的线进行裁切



第五步:组装前舵机角度的调整

为了防止编写程序时舵机角度不一致导致程序复杂化,我们要在舵机安装前调整好角度


第六步:会说话的人脸的组装


点击此处下载附件:会说话的人脸积木清单.zip


嘴巴


眼睛


眉毛


搭建教程视频





No.6

程序编写


(难度:⭐⭐⭐⭐


程序一:会说话的人脸陪伴者模式

陪伴者模式主要用到了语音识别模块的自定义命令词,而自定义命令词是需要进行收录的

对着模块说出“学习第一条命令词”,模块会给出对应指示,按照给出的指示完成收录即可,二至六条命令词同样是按照这样来学习


· 陪伴者模式中第一条命令词:你是不是在撒谎

· 陪伴者模式中第二条命令词:挑挑眉如何

· 陪伴者模式中第三条命令词:伤心的情绪

· 陪伴者模式中第四条命令词:开心的情绪

· 陪伴者模式中第五条命令词:启动自我销毁程序

· 陪伴者模式中第六条命令词:疑惑的情绪


(tips:命令词学习完成后会一直存在模块内,断开电源重新连接后还是会在里面的)


陪伴者模式下是根据学习的6条命令词进行反馈,而反馈的方式则是人脸做出的动作以及说出的话来表达,而整个程序是由一个主程序以及六个反馈方式的自治程序组成


程序一的主程序

陪伴者模式下的主程序是比较简单的,在初始化扩展板以及语音识别模块后,就进入了六条命令语句的判断中



程序一中的反馈程序

情绪的变化最直观的表现就是从一种脸部表情变为另一种脸部表情,但这种过程比较快的话视觉上的效果就会比较差,所以我们需要脸部表情变化的速度比较慢,而为了实现这种功能,我们在此就需要用上变量以及简单的运算


以伤心的情绪为例,因为需要同时控制两个眼睛(方糖LED模块的亮度)、两根眉毛、嘴巴共5个执行元件,所以需要3个变量来控制


为什么是3个变量而不是5个变量呢?因为5个执行元件中的控制数值是靠近0与远离0的两种,而其中以控制嘴巴的舵机的角度变化最大,所以单独一个变量出来,方便理解与运算


程序中mouth变量是单独控制嘴巴(远离0),S2变量是单独控制左边的眉毛(远离0),S3变量控制右边的眉毛以及两个眼睛的亮度(靠近0)



点击此处下载附件:陪伴者模式程序.zip


程序二:会说话的人脸智能管家模式

程序二中用到的都是语音识别模块自带的库中有的语句段,用其中的语句段排列出自己所需要的语句即可


程序二的主程序

智能管家中需要带有温度湿度的相关信息的播报,为此我们这里需要用上方糖的温湿度模块


程序二的主程序与程序一的主程序构成是相同的,均是判断命令语句,而程序二中的命令语句则是模块自带的,不用额外学习


完整语句段播报的间隔与播报过程中嘴巴的开合可以在调试中得出




No.7

项目实现效果





【声明】内容源于网络
0
0
KittenBot小喵
专注于从入门到精通的移动机器人开源学习平台
内容 560
粉丝 0
KittenBot小喵 专注于从入门到精通的移动机器人开源学习平台
总阅读23
粉丝0
内容560