将BMI160用作超灵敏震动传感器,制作《地球之光》小灯
题外:哲学老三问还差一问,为了凑数,怎么也得写啊。我们到哪里去?或者这样问——世界诞生我们的目的是什么?我们在这样一局游戏里扮演什么样的角色?在我看来这个问题和“我们从哪里来”问的内容很相似。今天想从另外一个角度来回答。有天,我跟朋友聊天,他突然指着眼前的颜色鲜艳的花问我:“花的目的是什么?”,我一下就愣住了,花的目的?对呀,花的目的是什么?我才意识到——会不会是我们自己想得太多了?我们做任何一件事情都有原因,自然我们做的每件事都存在着目的,我们总是如此思考与行事,目的性太强,我们自然而然地把自己的这种行为动机强加给了这个世界,认为世界诞生出我们是肯定有目的性的。可是万一我们就是这世界的自然演变过程中无意产生的一朵花呢?这种没有目的的行为,咱们能理解吗?前段时间遭受了暴击,女同学生日、几个情人节、纪念日。每个日子,女同学都管我要礼物,导致礼物数量+++,欠下了一屁股孽债,最近准备一一还了,就想做个简单的小灯给她。找遍了市面上的震动传感器都觉得不行,一点都不灵敏,奔溃得很,我就想轻轻敲击桌面,就点亮小灯。突然有天,灵感来了,于是,被我拿到了DF出品的这款BMI160陀螺仪加速计。是的,你没有看错,我就是要用BMI160来当超灵敏震动开关。这里先剧透一下,使用效果真的666。先放张图吧:
《Light of earth》
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145612kf1fvhwwxj6d6vfx.jpg
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145613mejz5yi6op4elm5l.jpg
Ok,我们开始吧!
需要的材料:1. BMI1602. Beetle3. 3.7v锂电池充电板4. 3.7v锂电池5. 食人鱼灯珠10颗6. 少量丙烯颜料(绿、黄、蓝、棕。如果有灰、白两色,就不用准备油漆了)7. 浅灰、白色油性喷漆8. 一颗好看的2脚按钮(我是在宝上面买的)9. 铅丝(2mm)(如果没有,可找柔软铁丝代替)10. pvc空心圆棒40cm(我用的是外径9mm,内径5mm)11. 20mm长的螺丝螺母一支
BMI160的测试:将BMI160的例程程序下载到uno上,然后打开串口观察数据,并通过一系列的敲击,进行数据采样,然后通过对数据的分析,写出相应的程序。
1. 放在桌面上,几乎没有抖动的情况下:
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145617yenpcrxe8xcrccr4.png
前三列为陀螺仪,后三列为加速度。可以看出在没有抖动、震动的情况下,陀螺仪会在0.30的范围内拨动,而加速计的值只会在0.02内波动。
2.敲击后:
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145617dvkrl2mr22irpidh.png
陀螺仪变化在17左右,而加速计在0.20左右,这是一次明显的敲击。
经过多次、多种强度的敲击采样,分析得出:只要陀螺仪差值大于0.30的同时,加速计差值大于0.03就可以判定为一次敲击。可是有朋友会问,这样很容易产生误敲击啊。是的,所以我最终采取的是两次敲击才判定为有效。有两种情况:1.敲击一次后 ,在1s钟内,恢复了正常状态后又检测到一次敲击,则判定为两次敲击。2.敲击一次后,因为敲击过重,传感器在1s内始终无法恢复到正常状态,此时,如果有1次加速计地差值,比前面5次差值的平均值大0.20,也可以判定为两次敲击。
电路的连接(如图焊接):http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145619p33zcacjkukxjgc3.png充电板的microusb接口会留在灯座外壳外,供充电
开始制作:
1. 焊接灯珠:焊接成三棱柱形状,每条3颗,最后剩下的1颗放在底部
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/153331ha8nzzytrd4tttth.jpg
2. 3d打印出来的地球模型,用丙烯上色(我参照的是astroreality的小地球模型的颜色):
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/153007kk1hsbszbz2u755k.jpg
3. 按钮开关周边喷成灰色、螺丝喷成灰色(使用美纹纸遮挡其余部分):
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/153332ox484odux8o6oioc.jpg
4. 拿出祖传的铅丝,开始缠绕10支春卷,配重:http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145610vpcbcpbm7ccco2zp.jpg
5. 在地球模型顶部开一个小孔,供穿线;给pvc管喷漆成灰色,在两头锯出槽口,放置线:
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145619g8lw9asrl3b9ft7r.jpg
6. 打印底座模型,在文章最下面有模型文件,打印完毕后,喷白色油漆。
开始组装:
1. 焊接
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145610uc1mfvxxxzex3zyf.jpg
2. 装进底座,周围一圈塞入配重,模型背部会预留一个充电板的槽,可以露出microusb接口,bmi160粘在底板上:
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145611tcn7un9f7cfm9ndp.jpg
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145615r98ssnvej9lj8u8z.jpg
组装好后,烧录程序,我先在uno上试验了效果;bmi160的效果真的很赞,你轻轻敲击它也能感受到。整个桌面都感觉变成了开关,只要你在任意位置轻敲两下,就能打开小灯:http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145620pu3llqlojvoktlkj.gif
最后,打完收工,放在桌子或者床头,还是挺不错的,bmi160如此高的灵敏度,应该还有很多玩法,等待牛人的开发挖掘:
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145611heymkzb519dwzfb0.jpghttp://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145612rohhi7obqc9on7on.jpghttp://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145615kntt3hpeusbn3hr5.jpghttp://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145621hvc547zbzz8ycv3b.gif
(额,索尼的相机为啥拍出来这么绿,涨知识了)
有的朋友可能会发问,这个bmi160还能干点什么?——它还能检测到手的抖动!
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145618gy4yo6h0fq96q050.png
从数据上分析,抖动会导致陀螺仪与加速计的数值都是持续地大变化,所以我在程序上使用多次检测差值,并且设置了阈值,比如超过了0.20的差值变化,就全部等于0.20。通过对35次差值的平均值的大小,就能判断此刻bmi160是否处于抖动中。
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145622z13sxvrszvsxr2ss.gif
有的朋友会问,检测到手的抖动,那有什么作用呢?
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145614n7xlem37429maa7m.jpghttp://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145622ykuzggwttpy3nz1c.gif
哈哈,检测到手的抖动,说明有人要用它啦,它就点亮自己,并变身成灯笼形态,陪小主走夜路去啦。
小灯送给女同学,女同学表示很满意:http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145613ks6zbsbunsn25b4b.jpg
http://mc.dfrobot.com.cn/data/attachment/forum/201811/28/145616shezgdmkw4v3dl43.jpg
作者:屌丝王小明
大佬,能不能把程序发我一份~ 拜托拜托 楼主牛逼
页:
[1]