会说话的人脸是你的贴身陪伴,同时也是你的智能管家!小喵今天就把详细制作过程分享出来供大家学习参考~
薄纸皮板若干
A4打印纸x1
颗粒件积木若干
科技件积木若干
Geekservo 9G舵机X3
robobit底座x1
robobit edu x1
18650锂电池 x1
未来板x1
方糖红色LEDx2
方糖温湿度模块x1
语音识别模块x1
白色3pin线x2
黑色4pin线x1
4pin转杜邦线x1
3M胶若干
kittenblock
美工刀
剪刀
尺子
铅笔
3M胶
utility knife
scissors
ruler
pencil
3m tape
(难度:⭐⭐⭐)
项目搭建构思
会说话的人脸,顾名思义就是要会说话,所以嘴巴是需要做出开合动作的,且为了人脸表达出更多的情绪,眼睛用上LED灯来代替,两条眉毛同样是可以被控制的
第一步:人脸大小的确认
为了确认人脸的长宽,特意上网查了下,发现人脸的长宽比例是34:21,因为用上了方糖模块的LED模块,为了整体看上去不会很突兀,所以人脸的长宽设定为204*126mm
第二步:人脸组成部件的确定
确认好脸的尺寸后,其余相关纸板部件的线框图也可以设计出来了

第三步:人脸组成部件的划线
把确认好的线框图打印在A4纸上,并把上面的图案沿边框裁切下来,再按上纸板上划线


第四步:人脸组成部件的裁切
顺着纸板上划出来的线进行裁切

第五步:组装前舵机角度的调整
为了防止编写程序时舵机角度不一致导致程序复杂化,我们要在舵机安装前调整好角度
第六步:会说话的人脸的组装

嘴巴
眼睛
眉毛
搭建教程视频
(难度:⭐⭐⭐⭐)
程序一:会说话的人脸陪伴者模式
陪伴者模式主要用到了语音识别模块的自定义命令词,而自定义命令词是需要进行收录的
对着模块说出“学习第一条命令词”,模块会给出对应指示,按照给出的指示完成收录即可,二至六条命令词同样是按照这样来学习
· 陪伴者模式中第一条命令词:你是不是在撒谎
· 陪伴者模式中第二条命令词:挑挑眉如何
· 陪伴者模式中第三条命令词:伤心的情绪
· 陪伴者模式中第四条命令词:开心的情绪
· 陪伴者模式中第五条命令词:启动自我销毁程序
· 陪伴者模式中第六条命令词:疑惑的情绪
(tips:命令词学习完成后会一直存在模块内,断开电源重新连接后还是会在里面的)
陪伴者模式下是根据学习的6条命令词进行反馈,而反馈的方式则是人脸做出的动作以及说出的话来表达,而整个程序是由一个主程序以及六个反馈方式的自治程序组成
程序一的主程序
陪伴者模式下的主程序是比较简单的,在初始化扩展板以及语音识别模块后,就进入了六条命令语句的判断中
程序一中的反馈程序
情绪的变化最直观的表现就是从一种脸部表情变为另一种脸部表情,但这种过程比较快的话视觉上的效果就会比较差,所以我们需要脸部表情变化的速度比较慢,而为了实现这种功能,我们在此就需要用上变量以及简单的运算
以伤心的情绪为例,因为需要同时控制两个眼睛(方糖LED模块的亮度)、两根眉毛、嘴巴共5个执行元件,所以需要3个变量来控制
为什么是3个变量而不是5个变量呢?因为5个执行元件中的控制数值是靠近0与远离0的两种,而其中以控制嘴巴的舵机的角度变化最大,所以单独一个变量出来,方便理解与运算
程序中mouth变量是单独控制嘴巴(远离0),S2变量是单独控制左边的眉毛(远离0),S3变量控制右边的眉毛以及两个眼睛的亮度(靠近0)
程序二:会说话的人脸智能管家模式
程序二中用到的都是语音识别模块自带的库中有的语句段,用其中的语句段排列出自己所需要的语句即可
程序二的主程序
智能管家中需要带有温度湿度的相关信息的播报,为此我们这里需要用上方糖的温湿度模块
程序二的主程序与程序一的主程序构成是相同的,均是判断命令语句,而程序二中的命令语句则是模块自带的,不用额外学习
完整语句段播报的间隔与播报过程中嘴巴的开合可以在调试中得出

