又到了冬天,起床困难症患者一下多了好几亿……起床不得不靠闹钟了。那怎样定义一个完美的闹钟?首先,一定会符合下面的五个条件:
1. 为了把我们从熟睡中叫醒,闹钟的声音一定要足够响亮
2. 闹钟应该是逐渐地将人唤醒,而不是在我们睡得正香或是噩梦连连时用警报一样的噪音将我们吓醒(确实能被叫醒但是会精神恍惚大半天这可不好玩儿)
3. 铃音可以自定义
4. 当起床失败或者睡过头时能有”故障保护“机制(万一第二天有重要会议或者赶飞机的话,这样的保险措施能让人多一些安心入睡)
5. 闹钟可以内置一个自然光线,这样就能在响铃之前轻轻地自然地给我们预示。
那么就亲自动手制作一个闹钟,让每天早上抓起的第一件东西不再是手机!
原作者的初始方案是利用Arduino的控制,来制作一个有物理凸起按钮的闹钟。但是当学习Processing编程的时候发现手中还有一块触摸屏和一个树莓派,于是想利用这两样元件来做一个更酷一点儿的闹钟。所以,制作AlarMe闹钟的新方案应运而生!
AlarMe用到了一个树莓派,一个7英寸的触摸屏,一个Processing脚本,以及一个Arduino来达到最终的目的。通过上面粗略的手绘图可以发现,树莓派可以运行一个包含用户操作界面的Processing脚本(并且可以通过触摸屏来控制),而且可以与Arduino通信,还可以添加按钮和传感器用来关闭闹钟。AlarMe的操作界面能够友好地提供各种必要的信息和闹钟的选项,最基本的莫过于设定闹钟的响铃时间。在代码的初始化和程序的设定时,可以设定自己的声音文件为闹钟铃音。
下面是在原作者笔记本电脑上的用户界面说明。这个简单的界面将可以运行在树莓派上而不需要一直在笔记本电脑上运行,而触摸屏则可以代替鼠标和显示器。
这里我们提供原作者设计并使用的源代码。
想要在自己的电脑上运行这个代码,首先安装Processing,下载zip文件,解压后运行脚本文件。可以参照代码内的说明来添加自定义的声音文件,或者也可以直接使用默认的。
如果你也想要在树莓派上运行这份代码,请确保在你的树莓派上安装了Processing,脚本文件,并且储存了所有必要的声音文件。如果需要更详细的说明,请到Processing和树莓派的网站上查找,可以找到所有需要的信息。授人以鱼不如授人以渔,相信通过浏览,你可以发现更多。
Arduino可以通过一个简单的按钮作为输入信息,然后用Serial Monitor显示来让Arduino知道这个输入信号何时被激活。
在电脑上将下面的代码上传到Arduino上,将按钮连接到pin 2借口上。接下来将Arduino通过USB接到树莓派上,从而用树莓派代替笔记本电脑。
.ino文件下载地址
当Processing,Arduino和树莓派都可以相互通信并正常工作时,将所有零件连接好,并且全部装到一个做好的盒子里。请参考下面的教程来用泡沫塑料制作闹钟的外壳:
原作者后知后觉地发现,这个闹钟的外壳其实可以做得更薄更小,但当时并不确定各种连接线可以被压缩到什么程度。这一次就算为了简单快速地实践AlarMe而忽略其体积吧。
在不断的实践和探索中,未来版本的AlarMe可以使用更少更短的连接线和不同的外壳从而缩小体积。另外一种炫酷的可能性是,用半透明的丙烯酸塑料板来制作外壳,并在内部加上装饰灯光,颜值在瞬间得到了提升!或者可以添加一个音乐播放器来播放其他储存的音乐文件,从而增加这个闹钟的功能性。甚至可以添加另外一个Processing程序来显示天气信息,于是你可以在醒来后第一眼就看到今天的天气如何。
最后这个功能可能比较鸡肋,难道醒来后不是拉开窗帘看看窗外当前的天气么?总而言之,树莓派+Arduino+Processing的组合,绝对能做个不错的闹钟出来!
从明天早上开始,享受一下被亲手制作的闹钟叫醒的经历吧。
2015-2016赛季全球创客马拉松深圳大学站已经开始接受报名啦!关注“硬创邦”(微信号:leiphone_bang),回复“深大”即可参与报名!而且,雷锋网在未来三个月内选一个合适的时间,在北上深选择一个地点,举办创马“火星救援”专场!详情可点此处了解。
此外还可加入全球创客马拉松主群(群号:259592983),参与我们的互动讨论~