Steins;Lab

某团的自留研究所

[趴会儿Project]No.001 一种外置的暴力宿舍关灯装置(2016.8.27更新完成)

一种外置的暴力宿舍关灯装置,使用外部机械舵机结构,免改造,易安装,实现方法暴力。人来即拆,人走即安。

done

 

20160817140114


 

本项目隶属于趴会儿Project项目组,详见[企划]趴会儿Project–宿舍床上趴到底&解放双腿计划

项目编号001,分类为照明控制。

thumb

 

 

 

1.背景&使用场景

也许你经常会遇到,宿舍11点熄灯,世界暗了。但是,大家沉浸在黑暗世界中,无人顾及将小小的照明开关关掉。

第二天5点30,李毅大帝降临人间,瞬间整个宿舍骤亮。

最终对灯光最敏感的人惺惺下地关灯。

没错,你是不是对灯光最敏感的那个倒霉鬼?说的就是你!

 


2.简述

本作品崇尚一种暴力的解决方法,基本思路即为外置舵机,直接定向旋转物理性地控制照明开关。

仔细想想,毕竟大学宿舍,时不时有消防安全检查。一方面如果拆了照明系统开关,内置继电器控制,是不科学的。一方面会被物业找麻烦,另一方面,也是最重要的,不安全,私改线路要是打火,太危险了。

为了避免发生不必要的麻烦,一种可即使拆卸的外置设备,打游击战还是很有必要的。

 


3.内容

3.1部件选用

3.1.1 主控

主控采用Arduino UNO R3 初期调试用。如果后期想要集成便携属性,减小体积可转为Arduino Nano等小体积版。

如果不考虑功耗,更进一步压缩成本,其实更可选用STC51系列的单片机系统。这玩意便宜,大家都用他来入门。只需把舵机的PWM等代码移植即可。

目前先不考虑大系统集成

—-↓2016.8.27更新—-

使用了兼容的Nano作为主控,缩小体积。

 

3.1.2 外部配件

想要在床上便捷关灯(或者故意先上床然后画蛇添足多此一举用遥控关灯),必不可少的是遥控模块。我也考虑了一些,比如红外模块。但是红外模块的迷之距离和遮挡失效属性,弃用。后来还是用315Mhz的遥控模块吧。没准甚至能楼下关灯。

最终采用  2272-M4 非锁四路无线遥控套件

因为对加密性没有要求,315Mhz的遥控对于我来说反而越模块化、越易用越好。

模块焊盘固定码,解码器和遥控器配好,按键既有电平变化。

20160817222417

 

舵机采用SG90微型舵机即可。

 

3.2 连接

本实例连接很简单。5v取自主控板,分别给接收解码模块和微型舵机供电(事实上,板载可驱动一个sg90微型舵机)。

IO口分别连接。

 

3.3代码段

v1.0

 

—-2016.8.27更新调试完毕的代码段v2.0—-


3.4 遇到的问题

首先我尝试使用Arduino自带的Servo库,但是遇到了很大的问题。servo最终定位的舵机异常抖动,貌似未归位发出异响,这是我无法忍受的。后来换了自写的PWM控制函数,仍然抖动。

后来使用了中断方式获取遥控的信号。为了避免发出异响,并考虑到以后,为了免外接电源需加入省电模式,省电模式可由0号中断唤醒。两者配合最终解决问题。

—-2016.8.27—-

优化了代码。最后调试由于旋转尺度不够,不能保证将开关撞击到指定位置,设置了多余的转动角度。

优化了代码,使舵机臂每次击打后归中,为手动开灯关灯让路。

 

 

 

4.装配与效果

测试环境下的效果

关灯的原理太清楚了,让舵机微微转动15度即可关灯/开灯。

最终我再用pvc板子包装一下,换成Arduino nano或者51。舵机做个衣服上用的粘贴,就成最终版了。

 

—-2016.8.27—–

为了防止人工开关灯时破坏装置,对用于关灯开灯的舵机臂进行改造。使用自带的两个云台壁,用跳线铰接,简单实用。

20160827002933

换用了兼容的第三方nano。在面包板上进行测试。(视频大小1.3MB)

测试完毕后,把各个组件在洞洞板上集成。背面焊了跳线,将5v和gnd引出。同时导出D9IO口用于舵机控制,给以后改造留个余地。背面焊工就不漏了,班门弄斧(视频大小1.5MB)

done20160827003705

最终效果:(视频大小2MB)

MOV_1274_c_clip

5.参考资料

[1] 認識與實驗Arduino的睡眠模式

这家网站以图解的方式将睡眠模式讲得很透彻!赞!

[2] ArduinoNano 中文Wiki

[3] Arduino外部中断的使用

16
说点什么

avatar
8 Comment threads
8 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
9 Comment authors
HawkMapleClarkeprintempwmonianSPtuan Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
HawkMaple
游客
HawkMaple

我在想 既然都做到这了 为什么不搞个定时熄灯就关灯的代码呢???

Clarke
游客

好厉害~我都看不懂!

printempw
游客

哦哦!好有意思啊
懒才是第一生产力(笑

monian
游客

666,简单粗暴

大树
游客
大树

点赞

你冰雪可爱得崔神
游客

水水水,狠狠狠,看不懂

星月
游客
星月

棒棒的

fandy
游客
fandy