屌丝王小明 发表于 2018-11-28 15:11:45

将BMI160用作超灵敏震动传感器,制作《地球之光》小灯

       题外:哲学老三问还差一问,为了凑数,怎么也得写啊。我们到哪里去?或者这样问——世界诞生我们的目的是什么?我们在这样一局游戏里扮演什么样的角色?在我看来这个问题和“我们从哪里来”问的内容很相似。今天想从另外一个角度来回答。有天,我跟朋友聊天,他突然指着眼前的颜色鲜艳的花问我:“花的目的是什么?”,我一下就愣住了,花的目的?对呀,花的目的是什么?我才意识到——会不会是我们自己想得太多了?我们做任何一件事情都有原因,自然我们做的每件事都存在着目的,我们总是如此思考与行事,目的性太强,我们自然而然地把自己的这种行为动机强加给了这个世界,认为世界诞生出我们是肯定有目的性的。可是万一我们就是这世界的自然演变过程中无意产生的一朵花呢?这种没有目的的行为,咱们能理解吗?
       前段时间遭受了暴击,女同学生日、几个情人节、纪念日。每个日子,女同学都管我要礼物,导致礼物数量+++,欠下了一屁股孽债,最近准备一一还了,就想做个简单的小灯给她。找遍了市面上的震动传感器都觉得不行,一点都不灵敏,奔溃得很,我就想轻轻敲击桌面,就点亮小灯。突然有天,灵感来了,于是,被我拿到了DF出品的这款BMI160陀螺仪加速计。是的,你没有看错,我就是要用BMI160来当超灵敏震动开关。这里先剧透一下,使用效果真的666。先放张图吧:

《Light of earth》


       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.      放在桌面上,几乎没有抖动的情况下:

前三列为陀螺仪,后三列为加速度。可以看出在没有抖动、震动的情况下,陀螺仪会在0.30的范围内拨动,而加速计的值只会在0.02内波动。


2.敲击后:

陀螺仪变化在17左右,而加速计在0.20左右,这是一次明显的敲击。

经过多次、多种强度的敲击采样,分析得出:只要陀螺仪差值大于0.30的同时,加速计差值大于0.03就可以判定为一次敲击。可是有朋友会问,这样很容易产生误敲击啊。是的,所以我最终采取的是两次敲击才判定为有效。有两种情况:1.敲击一次后 ,在1s钟内,恢复了正常状态后又检测到一次敲击,则判定为两次敲击。2.敲击一次后,因为敲击过重,传感器在1s内始终无法恢复到正常状态,此时,如果有1次加速计地差值,比前面5次差值的平均值大0.20,也可以判定为两次敲击。


电路的连接(如图焊接):充电板的microusb接口会留在灯座外壳外,供充电

开始制作:
1.      焊接灯珠:焊接成三棱柱形状,每条3颗,最后剩下的1颗放在底部


2.      3d打印出来的地球模型,用丙烯上色(我参照的是astroreality的小地球模型的颜色):

3.      按钮开关周边喷成灰色、螺丝喷成灰色(使用美纹纸遮挡其余部分):


4.      拿出祖传的铅丝,开始缠绕10支春卷,配重:


5.      在地球模型顶部开一个小孔,供穿线;给pvc管喷漆成灰色,在两头锯出槽口,放置线:


6.      打印底座模型,在文章最下面有模型文件,打印完毕后,喷白色油漆。



开始组装:
1.       焊接

2.       装进底座,周围一圈塞入配重,模型背部会预留一个充电板的槽,可以露出microusb接口,bmi160粘在底板上:




组装好后,烧录程序,我先在uno上试验了效果;bmi160的效果真的很赞,你轻轻敲击它也能感受到。整个桌面都感觉变成了开关,只要你在任意位置轻敲两下,就能打开小灯:


最后,打完收工,放在桌子或者床头,还是挺不错的,bmi160如此高的灵敏度,应该还有很多玩法,等待牛人的开发挖掘:







(额,索尼的相机为啥拍出来这么绿,涨知识了)


有的朋友可能会发问,这个bmi160还能干点什么?——它还能检测到手的抖动!

从数据上分析,抖动会导致陀螺仪与加速计的数值都是持续地大变化,所以我在程序上使用多次检测差值,并且设置了阈值,比如超过了0.20的差值变化,就全部等于0.20。通过对35次差值的平均值的大小,就能判断此刻bmi160是否处于抖动中。


有的朋友会问,检测到手的抖动,那有什么作用呢?




哈哈,检测到手的抖动,说明有人要用它啦,它就点亮自己,并变身成灯笼形态,陪小主走夜路去啦。


小灯送给女同学,女同学表示很满意:



代码:
模型:

屌丝王小明 发表于 2018-12-28 18:24:58

DM 发表于 2018-12-28 16:45
厉害,学习了

谢谢,【抱拳】,做些小东西,让生活变得有些小趣味,这很重要

屌丝王小明 发表于 2018-12-28 18:21:57

jeans 发表于 2018-12-28 17:45
emmmmmmmmmmmmmm求助啊   为什么我画出来成这样了,,一开灯就惨不忍睹。。。我看不下去了 ...

你观察下,其实我画的时候几乎没有颜料了,很多地方都是很白的,就是因为没有颜料了,所以只能上很浅的蓝色。还有就是你要有意识去做颜色渐变,不能老是同一个色,色彩得有些自然的层次感。譬如海洋,会有些许深蓝,还有很多发白的浅蓝色,造出海水的深浅的感觉。加油,兄die。有什么问题,保持沟通。哈哈,我这灯被我放床头柜上了,还是挺好看的。

屌丝王小明 发表于 2018-12-28 18:18:21

jeans 发表于 2018-12-28 17:45
emmmmmmmmmmmmmm求助啊   为什么我画出来成这样了,,一开灯就惨不忍睹。。。我看不下去了 ...

我的绿色,其实偶尔会混黄色进行调色。并且大部分都是兑水稀释了的,所以看起来比较嫩绿。你先调色,然后在其他白色pla废料上点画下,看看颜色如何。颜色可以比照我帖子里那张来,如果你上出来颜色和我那个图相近,用上白色灯光之后就会比较好看了。

屌丝王小明 发表于 2018-11-28 15:22:55

代码很臭,并且似乎有bug,额,有兴趣的好盆友,可以优化优化。就当是抛转引玉啦{:5_167:}

ASH腻 发表于 2018-12-10 17:54:22

也太美了吧

luna 发表于 2018-12-10 18:37:50

楼主审美在线、技术在线、逼哥在线!!!yes

屌丝王小明 发表于 2018-12-11 10:14:30

ASH腻 发表于 2018-12-10 17:54
也太美了吧

谢谢:lol

屌丝王小明 发表于 2018-12-11 10:17:58

luna 发表于 2018-12-10 18:37
楼主审美在线、技术在线、逼哥在线!!!yes

:victory:哈哈,嗯嗯嗯【猛点头】

gada888 发表于 2018-12-12 11:36:08

漂亮

屌丝王小明 发表于 2018-12-12 13:49:46

gada888 发表于 2018-12-12 11:36
漂亮

感觉最近做的东西都不接地气,不实用

小名叫大明的小明 发表于 2018-12-17 15:24:06

话不多说。美!美!美!

jeans 发表于 2018-12-17 18:02:22

话不多说,先拿走了,,审美是真的牛皮

屌丝王小明 发表于 2018-12-18 10:27:24

小名叫大明的小明 发表于 2018-12-17 15:24
话不多说。美!美!美!

谢谢:P这次是超常发挥,哈哈,希望以后还能多做出些好看的小玩意儿来

屌丝王小明 发表于 2018-12-18 10:30:51

jeans 发表于 2018-12-17 18:02
话不多说,先拿走了,,审美是真的牛皮

哈哈,谢谢啦,我会继续加油哒{:5_129:}

jeans 发表于 2018-12-18 11:49:18

对了,能分享一下小地球的模型吗

屌丝王小明 发表于 2018-12-18 12:38:38

jeans 发表于 2018-12-18 11:49
对了,能分享一下小地球的模型吗

链接:https://pan.baidu.com/s/1JChtd2gfo9E7Bn2Tf0ym2Q
提取码:ksgj
这个是完整的,需要在底部切一下,大概切除底部8mm左右

jeans 发表于 2018-12-18 14:13:55

屌丝王小明 发表于 2018-12-18 12:38
链接:https://pan.baidu.com/s/1JChtd2gfo9E7Bn2Tf0ym2Q
提取码:ksgj
这个是完整的,需要在底部切一 ...

好的谢谢

DM 发表于 2018-12-28 16:45:14

厉害,学习了

jeans 发表于 2018-12-28 17:45:45

emmmmmmmmmmmmmm求助啊   为什么我画出来成这样了,,一开灯就惨不忍睹。。。我看不下去了

屌丝王小明 发表于 2018-12-28 18:14:52

jeans 发表于 2018-12-28 17:45
emmmmmmmmmmmmmm求助啊   为什么我画出来成这样了,,一开灯就惨不忍睹。。。我看不下去了 ...

用白色的光。你绘的颜色深了,仅仅要超级薄的一层即可,如果颜料颜色还是深,建议加水稀释淡

ASH腻 发表于 2018-12-28 18:17:39

jeans 发表于 2018-12-28 17:45
emmmmmmmmmmmmmm求助啊   为什么我画出来成这样了,,一开灯就惨不忍睹。。。我看不下去了 ...

哇 画的很好看耶
页: [1] 2 3 4
查看完整版本: 将BMI160用作超灵敏震动传感器,制作《地球之光》小灯