网购送了一个大白夜灯,轻飘飘的,一看就知道是最垃圾的阻容降压类型的。
背面是这样的,侧面有个开关
拧掉螺丝,一分为二
靠,这偷工减料的能力还是超出了我的想象,居然连阻容降压都不是,而是直接通过电阻限流。乖乖,这发热,妥妥的火灾隐患啊
拆到这儿,本来就想一扔了之了,但是突然灵光一现。这个灯的内部空间非常多,外观也还可以,为啥不把它改造一下,让它变成一个真正可用的,高档的,炫酷的小夜灯呢?
翻了翻库存,找到了想要找的东西,一个微型开关电源,5V500mA的:
拆掉原来的垃圾内容,只留下开关
比划了一下大小和位置,用热熔胶把电源粘在外壳上,简直完美!
既然要改造,还用原来的白光怎么行,R!G!B!才是正义!本来考虑直接用自闪RGB的LED,但是自闪LED没有雾面的,在壳子里面亮的时候会有很难看的光斑。所以一咬牙,从头来,我自己做个RGB的LED!
找到俩雾面的RGB共阴LED,这种LED亮起来没有光斑,效果要比透明的好太多了。本来准备两颗都用上的,最后比划了下,一颗就够了。
LED不会自己闪起来,想让它闪起来就只能用IC控制了,最方便当然是单片机了。本来想用这个ATTiny13的,因为其支持硬件PWM输出,不用编程。
犹豫了一下,还是换了STC的STC15F104W,毕竟便宜啊,1.3元一个,上面的ATtiny要6块一个呢。缺点就是要手写PWM代码了,多费了点事。考虑到代码也不复杂,忍了。
先把LED通过搭棚焊接到IC座子上,不需要电阻限流,在代码里面控制一下占空比就好。
焊上电容,STC单片机去耦电容非常重要,不然总会出奇奇怪怪的问题
编程
用DIY的烧写器把程序烧录到单片机上
焊上线测试,亮了!没有问题
继续处理大白这边,把电源和开关连接好以后,贴一张塑料片用来隔离高压和低压
LED灯用热熔胶固定在另一半壳子上,调整好位置,让LED正好处于大白的正中央
完工盖上盖测试,完美!代码控制的是自动RGB循环变色
还别说,效果还不错,挺好看的,特别是关上灯以后,RGB缓缓的变色,非常的梦幻。
到此完工,谢谢各位的观众老爷的捧场。