自从迷上电子制作之后,淘宝就疯狂向我推荐各种所谓的“治愈系小玩意”,不知道大数据是怎么认为喜欢电子制作的就一定会喜欢那些小东西~~但是,好吧,他们赢了。
于是就淘宝了个如下图的“海藻球微景观生态缸”。
当然,之所以入手这东西,很大程度上还是想要过过手瘾对其改装。
没有什么特别详细的计划,初步的构想是用保留缸顶原有的白光LED,增加WS2812彩灯,用ESP8266单片机获取天气预报,然后控制WS2812彩灯根据未来天气呈现不同颜色(比如雨天蓝色,晴天白色),达到美观又实用的效果。
当没有人在附近活动的时候,自动关灯——虽然也不费多少电,但傻亮着总觉得不妥【好吧,我知道海藻球需要足量光照,希望“海藻球保护协会”的朋友不要告我虐待~~】。
后续的话,如果要养鱼,就增加水泵;如果想要更精细地养球,就增加半导体制冷模块(海藻球喜冷怕热)。走一步算一步。
家里有一块ESP01S模组,经过测试最多4个io口可用,应该差不多够用,暂时就它了。
目前初步计划的制作顺序是:
1、探测人体活动,无人活动时关闭顶灯【人体活动传感器占用一个io,顶灯驱动占用一个io】
2、增加WS2812彩灯,根据未来天气变化彩灯颜色【彩灯模块占用一个io】
3、增加网页控制页面,实现自动天气控制彩灯颜色和手动调光控制切换。
4、后续暂无计划,除非有一天突然想养鱼或把海藻球养到极致,那么这个ESP01S模组就不够用了。
而需要的材料大致是:
- ESP8266——接收天气预报并根据预报结果控制彩灯颜色,以及根据人体感应控制灯光开关(ch340之类的下载器也是必须的)
- ULN2003——负责驱动大功率5vLED灯(额外需要上拉电阻)
- 人体传感器——红外热释电型
- WS2812彩灯模块(8位)——彩色光源输出
- 5v手机充电器
- 5v转3.3v模块,ldo线性稳压就行了,因为这个东西是插电运行的,所以不需要考虑省电问题。
- 一个micrcousb母座转dip模块——充电器插到上面供电(如果直接把充电线剪断,焊在电路板上,就不需要)
- 一个usb2.0母座转dip模块——5vLED灯供电(如果直接把那个灯的线剪断,焊在电路板上,就不需要)
- 一个3pin的2.54接线端子和母座——为了插入WS2812模块,如果想直接焊在电路板上,这个也不需要
目前这个景观缸还在运输中,兵马未动,粮草先行,现在就开始搞。
第一步,实现人体感应开关顶灯——人体感应传感器根据人体活动输出电平信号(1为有人,0为无人),ESP8266接收到这个信号后,控制顶灯亮灭【注:人体传感器只能探测到活动信号,如果一直坐着不动会判定无人,所以ESP8266需要进行延时处理】。
虽然没有到货,但了解到那个缸顶LED是这个样子的:
预计工作电流不会小,而且要求5V电压。
ESP8266单片机是3.3V电压,直接驱动这个LED灯不光电压不够,而且电流驱动力也估计够呛。所以准备把家里的闲置ULN2003驱动芯片用上。【三极管放大电路也可以,因为预计未来可能还要有更多东西要驱动,怕元件太多麻烦,就直接 用ULN2003了。这东西也就2毛钱,很实在。】
ULN2003的原理就是自身可以接高电压大电流电源,这个电源不会作用于单片机,而是会在接收到单片机传来的信号后导通,直接用自己的电源驱动目标元件,工作电流可达500ma,驱动一般的LED灯和电机都够了。
ESP8266和ULN2003之间的接线关系如下(注意ULN2003是反向的,需要输入1,它才会输出0让负载工作。):
注意,上拉电阻要加,1k和10k的都可以,否则不工作。
有了这个电路,就可以大大方方地驱动LED顶灯了,未来如果要加电机,可以把ULN2003的其他引脚也用上,方便扩展。
接下来,就是人体传感器模块了。
人体传感器模块有好多种,有超声波的,有红外热释电的。除了几百元的那种,都无法探测人体活动。如果坐着不动,就会认为不存在(莫名地觉得有点发慌)。超声波会有超声波发出,为了身体健康,还是不要选那种。我就选红外热释电型的,因为那是被动探测。
红外人体传感器可以看到很多款式,别看款式繁多,价格不一,核心功能都是一样的(不好用),贵一点的会有光线补偿提高精度,或者是延时可调。那些功能都是针对单独使用的情况下的,如果配合单片机使用,单片机本身就可以用算法来调延时,也可以外接光线传感器模块来做光线补偿,所以只要买最便宜的就行,比如这个:
红外人体传感器的用法很简单,有人经过时输出1,没人时输出0.
因为不能探测静止人体,所以如果不动,它也会输出0。
所以需要写程序来处理这个事情。
程序算法可简单可复杂,最简单的算法就是计时15分钟,如果15分钟内传感器一直输出0,就关闭LED灯。如果15分钟内有输出1,则保持LED灯开启,并重新计时。
一般来说,人不会15分钟都保持不动,这个延时足够用了。偶尔会出现误关的情况,挥挥手它就亮了。
所以这样就实现了人体感应LED灯的开关,因为货还没有到,就先在面包板上试一下效果。
那个白光LED就代表了将来要接入的缸灯。
等景观缸到货后,应该只要把usb母座装上,应该就可以直接生效了。
等待景观缸到货中……
(待续)