发作品签到
标准版

#第六届立创电赛#多功能语音台灯

工程标签

8.4k
0
0
27

简介

这是一个语音控制的多功能台灯,可以语音控制小夜灯(可更换控制设备),附带红外遥控功能。主板采用ESP8266主控,启英泰伦语音模块制作而成。整个作品的设计灵感来源于家中的USB小夜灯和小风扇。

简介:这是一个语音控制的多功能台灯,可以语音控制小夜灯(可更换控制设备),附带红外遥控功能。主板采用ESP8266主控,启英泰伦语音模块制作而成。整个作品的设计灵感来源于家中的USB小夜灯和小风扇。

开源协议

GPL 3.0

创建时间:2021-07-14 14:35:35更新时间:2022-02-06 14:19:53

描述

 

* 1、项目功能介绍


    这个作品是一个多功能语音的小夜灯,我们可以通过语音和台灯进行互动,可以让他开灯,关灯,调节亮度。控制面板上有2个红外发射管,因此也可以语音让其控制家电。USB插座可以插入任何USB供电设备,最大供电为5V/2A   (尽量不要接近2A,实际大概最多1.5A!)

   小台灯内置一个900mAh的可充电锂电池,可以使用家里常用的手机typec充电器来进行充电,有了电池就可以随身携带,也不用有一根线限制着小台灯的摆位,让其随时随地出现在你身边。台灯的设计非常符合人性化,在没有唤醒小台灯时,他处于休眠状态,点阵屏不会亮表情,这就可以在睡觉时候常开着放在床边,随时呼唤。唤醒小台灯后,他会像人类一样眨眼,做表情,这些为小台灯增添一点灵性面板上配置一个按钮,单击切换灯光开关状态,双击显示电池剩余电量。除此之外,控制面板上还有一个蓝色的充电指示灯,当进行充电时会亮起,充电结束后会灭掉,这样可以方便观察到电池状况,方便使用。

  小台灯外壳用纸皮制作(因为不会3D建模)。

  语音小台灯我叫他为小B,只需要呼喊小B,他就会亮表情与你互动。下面是小风扇模式小夜灯模式的造型。

 

语音指令如下

语音呼唤指令
小B 开灯 关灯 开风扇 关风扇 降低亮度 升高亮度 降低风速
升高风速 开电视 关电视 继续 暂停 返回 讲个故事 卖个萌
电视降低音量 电视调高音量            

 

  小B为唤醒词,其余是字面意思。 继续,暂停,返回是利用红外控制我家的天猫盒子,看视频的时候,可以语音控制视频暂停和继续。(所有效果在工程附件上有视频演示)

 

*2、项目属性


原创项目,首次公开

 

 

* 3、开源协议


GPL3.0

 

 

*4、硬件部分


  硬件部分非常简单,利用排针排母将两块板子拼合而成,分为以下几个模块。

  1、 ESP12F最小系统

  这个是主控,电路也是固定的

6Tm1BwLBp10Gj4HpqOj8NkC4yOZWoiKBJjopzKlE.png

  2、 tp4056充电电路

电路图中的R8使用的是3k,这个电阻控制的是充电电流的大小,因为tp4056的1A充电实在太烫,所以使用的是偏小的400mA的充电。

  AADk2yKNqwXDCYNDAFCLgNq5D8nnIxwGbfpMaUco.png

3、DCDC 5V升压,3.3V 线性稳压

       电源供电部分,没什么特别的地方。

4、 CH340电路

     和8266连接,方便烧录,外加一个typec口和一个mircro口,两种数据线均可以为单片机烧写程序。

5、 NMOS驱动电路

     这个电路图中,C1和C3可以去掉,这个是调试用的焊盘。焊上去也不影响电路工作。

  zDQ9KA64LQOq31s0eICPXKaA4tc1Hd44lMbRDA1m.png

6、 供电切换电路

 采用的是P沟道实现的,当有外部充电器输入时,供电方由电池转为usb。

IGm7rMzHXok6ARfJpZUDDNAODwPsAJWfYzFlAqcG.png

 

 

  硬件验证:

     按照原理图能完美实现所有功能,验证过后并无错误。下面是裸机外形。

 

 

*5、软件部分


     软件部分还算是比较简单,因为使用的是8266来主控。软件部分主要分为下面几部分的任务。

ofRw5d1aKbinwNycjD7DaOJsDIH0fB2o9IDniOvF.png

    1、ASRCheck()

           即是通过对语音模块串口数据的读取,来判断具体识别了哪条指令,进而发出什么响应的任务。这是主循环的重要函数,红外发射等操作都写在了对应的响应中。

   2、breath() sleep() LEDShow()

           前两个即是对点阵屏表情进行控制的任务函数,breath()通过millis()实现的定时器效果,让眨眼特效能更加真实,sleep()是一个进入休眠的表情管理函数,进入休眠是为了让这个小夜灯更有实用性,表情不可能一直亮着,不然就不叫小夜灯了。当语音模块发出离开指令时,小台灯就会进入休眠状态,表情变为睡眠状态,然后过2秒后点阵屏熄灭。最后LEDShow则是自己编写的点阵屏显示函数,更方便我的使用。

MaesjD20Ic0Y1fbOPnjsauomkjozV19syYvJTZfq.png

           经过调试后,4秒眨眼一次,0.4秒睁眼的时间效果最佳,眨眼特性让他变成了一个有灵性的小台灯。

juERrGLA8a4NrWkwkM3Mf7dbeVfIsvNeO8g2sBiQ.png

xFvAySUMSmG9rNxkdMugDEeICG4dQEyIIxqz6ahZ.png

                    (具体效果可以看视频)

 

3、click() doubleclick()

           这两个分别是按键单击和按键双击的事件响应函数,使用Arduino的OneButton库可以轻松实现按键单击双击响应。

utKZG38viUxANbQTiYKOtNmg7RTY0oeulOqvnYjb.png

4、checkbat()

          这个函数是双击按键后调用的查看电量功能,很简单,就是用ADC检测电池电压,对电压进行处理,进而得到对应的电池图形,显示在点阵屏中。下图为满电情况。

3NZPGcp359zFF25ukOHkBf1RXMNpZAjEgMWVZZE7.png

5、lightset()

          这个函数是对灯光的 调光/亮灭进行管理的函数,也是在主循环的主要函数。我们使用的是pwm调光,因此使用analogWrite即可进行调光,或亮灭操作。

Racl1zgIEKj63QQATllBO3ywZH1q3FMrcuCTOiFn.png

6、主循环loop

        因此有了上述等的函数,构成了下面的主循环,可以看到代码的层次清晰,可读性较好,这些代码很完美的将这个作品的功能全部实现了。

Pze3NF0qxroC02jg9h0tzucsYzYLr7Gzte2mwT8c.png

  唯一遗憾的是,这个小夜灯的功耗还算是比较大,静态电流190mA,只能续航5-6个小时,尽管关闭了8266的WIFI电路功能也需要耗电这么多的电流,同样语音模块的功耗也是有,因为我不会写两个模块的低功耗,因此后续可能可以研究一下,延长续航时间。)

*6、BOM清单


q7nJ8MbpXEfotK2Shz7zKeBIOwXXQKxrhN5l4and.png

oPoxoHNwcLvN7OKw5xM466vnNvaFyLWuPOgr5Pg5.png

*7、大赛LOGO验证


 

dlFogCZryW6Tc0DLuo4kXwhnSGxTDQT2sUeGcjWi.png

HWlSsPr2LxUM2SxjiUY2mJOlrlXZT3wFRBNjmzn5.png

 

* 8、演示您的项目并录制成视频上传


 

   (项目源码为工程附件中的Taideng_V2)

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
BOM_#第六届立创电赛#语音台灯_2021-07-20.csv
47
2
项目原理图(含控制面板、主板).pdf
45
3
唤醒-开关灯调光演示.mp4
300
4
风扇模式演示.mp4
147
5
驱动5W灯管调光演示.mp4
142
6
红外关电视演示.mp4
109
7
红外控音响演示.mp4
101
8
按键功能-电量查看-休眠演示.mp4
124
9
互动.mp4
120
10
Taideng_V2.zip
93
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航