【极客达人】把妹利器-爱的台灯
本帖最后由 Genius 于 2017-1-6 16:43 编辑项目介绍【项目名称】:爱的台灯
项目实现的功能:
1. 台灯外壳由3D打印制作,打印女神或情侣照片,在台灯的照射下产生非常美丽的效果,而且台灯与花瓶结合,台灯可以直接插入花瓶中,台灯上部可以插鲜花或种植水培植物。
2. 可用手机远程控制台灯开关以及RGB颜色,也可以让台灯播放简易乐曲。
3. 搭建了简易的聊天室,可供两人聊天,并识别聊天的内容来控制台灯进行颜色变化或者播放乐曲。如:识别双方对话中的“I love you”可以播放《月亮代表我的心》物品清单arduino pro mini 一块
arduino uno 一块
gokit开发板 一块(机智云提供的开发板)
WIZnet W5500 Ethernet Shield 一块
HC05蓝牙模块 两块
无源蜂鸣器模块 一块
大功率(3W)RGB led 一个
5V1A电源 两个
uno下载线 一根
USB转TTL模块 一个(mini程序下载器)
杜邦线 若干
洞洞板 一块
电源头插座 一个
3D打印部件 若干
花瓶 一个
水培植物 若干台灯制作
先上个电路图蓝牙的VCC接arduino的5V,GND接GND;电源正极接arduino的VIN,负极接GND;蜂鸣器模块VCC接arduino的5V,GND接arduino的GND,DIO接arduino的9号口;LED负极共同接arduino的GND,RGB三个正极分别接arduino 5,3,6口。
1、LED部分
led灯的三个正极分别接上了arduino可以发送PMW波三个接口,公地,只要控制PWM的模拟电压就可以控制亮度。
2、无源蜂鸣器部分
无源蜂鸣器需要靠额外的PWM波来提供声音源,PWM决定了发声的声调。在这里要注意,因为乐曲的音节所占用的内存很大,特别是编写多首乐曲的时候,会出现不够用的情况,这种情况就要把乐曲写到Flash中,用到了EEPROM。我用的是另一种方法,直接在数组前面加上关键字存入,然后用库里的函数读取。
3、HC05蓝牙模块部分
蓝牙就是一个无线的串口,配置好以后就像串口一样使用,这个项目涉及两个蓝牙模块之间的通信,比手机蓝牙和蓝牙模块之间通信略复杂。两个蓝牙模块一个主机一个从机,台灯上用的是从机。首先配置两个蓝牙的主从,用准备好的arduino mini的下载器接上蓝牙模块,注意正负极和rx tx不要接反,通过串口调试助手对蓝牙发送指令进入AT模式来配置蓝牙的主从属性与链接方式。调好蓝牙主从关系以后两个蓝牙可以自动链接,可以自己编写一些小程序测试一下。如果没效果,多半是因为RX 和TX接反了==(为了这一个小bug搞了一整天啊)
4、将电路折叠尽量把洞洞板搞的小一点。用3D打印机,打出外壳进行包装,然后进行防水处理,因为要放入花瓶中,防水一定要做好。我是用了热胶**涂抹的,效果还可以。5、继续用打印机打印出花瓶的支架
这里支架顶部有一个洞是为了让植物花花朵能伸出来,支架的开口也是这个原因。
6、打印女神的照片
首先选好女神或者情侣照片4张,然后把照片修剪成正方形。在3D打印软件Cura中直接导入照片,软件会根据颜色深浅自动把照片颜色深的地方打印的厚,调整照片大小为10cm*10cm,粘附平台选择Brim,会在四周自动打印一圈1cm的薄层,用于后面的粘接。
3D打印的照片打出来以后,要正灯光看才能看到效果,这些照片作为台灯的灯罩正合适。下面就开始秀秀秀了(为减少对单身狗的伤害,小编决定只放一张照片了,不用谢,我的名字叫雷锋。)
7、粘接灯罩
为了整个灯罩的造型,决定用4张照片和4个边长10cm的正三角形的链接板,三角形上还可以打印上有深意的文字哟,比如,生日快乐,百年好合等等
先将照片粘接到打印好的那个有孔的盖板上,利用502粘住软件自动加上的那1cm就好,注意那个很薄很脆很容易断裂,要十分小心。然后将4个链接三角形粘到两张照片之间。这个过程会耗费大量的502。注意不要把周围的薄层弄断,注意安全使用502。
8、安装台灯
把台灯支架安到罩子上,将LED用热胶**粘到支架的那个小平台上,然后加上水培的植物加上花瓶倒上水即可。
9、代码解析与测试
在安装电路之前当然要把代码先刷到arduino mini里面在封装了,这里不贴出代码了。感兴趣的点击此链接去原帖查看喔!
10、整体效果
我随便找了个蓝莓果汁的瓶子就塞进去了,效果还是不错的,整个的台灯亮度够晚上营造气氛使用,若想进行读书或者照明需要再加大led 的功率。物联网部分1、gokit开发板
gokit开发板是机智云搞的一个板子,可以直接插到arduino uno上我只是用了它的平台,不是有意打广告的。。。(打广告也没关系,小编就喜欢这种不经意间的硬广)上面集成了wifi模块,和其他的模块。我是用它来作为中继站,其上链接蓝牙,wifi模块与网络通信以后arduino通过蓝牙对台灯发送指令,不直接用它做台灯是因为它太大了。
2、机智云平台
这个云平台可以自己加入数据点以后生成wifi的通信协议,然后根据协议写arduino或者其他单片机的程序,之后会自动生成手机app来控制。我这种没学过Android或者iOS开发的屌丝就可以偷懒了。
具体使用方法见他们的论坛(没错论坛地址是这个:club.gizwits.com)
这个协议看似复杂,其实大部分都是通用的,你只要根据自己设的数据点改几个点就可以了,而且他们有个demo可以自己研究看着改改,一天就能学会了。
3、gokit的程序
里面涉及的库文件等可以在gokit论坛(没错还是这个论坛地址:club.gizwits.com)里面找到。
在这个程序里面涉及了两个软串口,一个是wifi设定的软串口另一个是我们加的蓝牙模块。
软串口是用两个口来模拟串口。
使用时要include软串口的库
1#include
创建对象
1
2
SoftwareSerial Blutooth(10, 11);//rx tx自己设定的软串口
//void motortime();
其余的使用方法和串口一样,在使用之前要进行监听,使用哪个监听哪个。
1
2
3
4
5
Blutooth.listen();
Blutooth.write('g');
Blutooth.write(m_m2w_mcuStatus.status_w.led_r);
Blutooth.write(m_m2w_mcuStatus.status_w.led_g);
Blutooth.write(m_m2w_mcuStatus.status_w.led_b);
程序中有特定的代码识别wifi发来的控制信号,进而利用蓝牙对台灯进行控制。
4、链接测试
将代码烧录到arduino uno上插上gokit接上蓝牙,蓝牙VCC接5V,GND接GND,RX接10,TX接11
用gokit论坛上的方法对gokit上的wifi模块配置网络,使它能自动连上你的路由器。
打开手机app绑定设备,进行控制测试。就能看到开头的视频演示了。聊天室部分1、硬件部分
采用了WIZnet W5500 Ethernet Shield(论坛申请的,再次感谢论坛和赞助商同样我把它当做中继站,添加蓝牙模块控制台灯。这里蓝牙的接口为RX 6 ,TX 7 。
2、程序部分
利用Ethernet编写Telnet聊天服务器是Ethernet最简单的应用,在arduino库中也会带这个例程,但是这个例程里面有很多缺点。一是对所有用户开放,只要同一个局域网的人如舍友同学等等知道了你的ip(一般也没人改。。。)就能登录,偷看你和女神聊天。二是无法显示到底是谁说的话,一句话是广播出去的,聊天室里的人都能收到但不能知道究竟是哪个用户说的。
于是我就重新编写了一下,克服了这俩毛病,加入了用户限制,只允许俩人,你和妹子的专属聊天室,而且加入了用户密码系统,舍友再也无法偷看了。而且有了用户名就能区分那句话是谁说的,即使再修改成多个人也不怕了。(友情提示:原文链接理由程序)
程序中加入了识别特定语句了函数,如“I miss you”会控制台灯播放《想你的365天》,新用户加入时会使台灯闪烁等等。这样就增加了和妹子聊天的时候的互动,更有情趣啊
这种方式的聊天室弊端是两个人只能在同一局域网下,要想实现外网的聊天通信,可以做个网页服务器然后搞个域名挂上,这个就感觉有点鸡肋了,而且我和女神是同一学校的局域网,所以就没啥动力写了,够用就行了 。
3、组装测试
给uno刷上程序,插上W5500插上网线,用上面的帖子的方法进行测试就好了,就能看到视频里的测试情形了。
补充部分1、聊天部分的Telnet客户端实在是太丑了。可以用processing写一个稍微漂亮点的,让女神更高兴。
2、蜂鸣器播放乐曲真是够难听的,好在还能听得出是啥,可以更换喇叭或者加个内存卡放音模块啥的直接拨音乐,更好听一点
3、LED的功率还是不很大,可以继续增大功率,不过增大功率就要考虑供电问题,单片机直接供电不现实的。
4、可以写成外网聊天的,不过有qq微信啥的没啥必要,倒是考虑看怎么能获取微信qq上的信息来识别控制台灯,以增加情趣总结整个台灯花费不大,而且达到了很好的效果,也具有继续开发的潜力,感觉再开发开发在淘宝上私人定制,可以卖不少钱呢。与其给女神买鲜花巧克力,不如给她个私人定制台灯屌丝的逆袭就靠它了!
理工男一样可以凭借出色的手工,灵活的头脑以及执着的精神打动女神!
赞一个!!!:D “补充部分”一完善,几近完美 哈哈:lol 标题党,点赞
页:
[1]