创客三级跳——制作一个SOS报警器
2015-05-28 10:35:00 春节期间,很多人外出旅游,安全问题就成为了大家常常关注的问题,如何在旅游的过程中加一些保护,用蜂鸣器自制一个SOS报警器,就是本文即将讨论的话题。按照创客三级跳的规则,我们首先从蜂鸣器的控制原理说起。
1.原理
首先用绕线器将蜂鸣器和两只长腿开关连接起来,我们可以看到当开关闭合时,蜂鸣器发出声响,这里的蜂鸣器是一个5V有源蜂鸣器,它在纽扣电池的3V电压下就可以工作,而且它自带频率发声装置,因此通电后就可以工作,而不需要单独地给它输入音频信号。
图1 用开关控制蜂鸣器
可以扫描图1所示的二维码,查看绕线器的使用过程。我们可以通过控制开关按下的时间来调节蜂鸣器发声的时长,从而实现SOS的效果。但是这种做法很费时,操作也不方便,如果能够让蜂鸣器自动发声,效果就好多了。
2.原型
我们需要使用S4A来改进上面的装置,让蜂鸣器可以自动地工作,发出SOS的声响,大家可以在百度网盘下载S4A及其固件和之后要使用的EDUarduino压缩包,然后图2中二维码所示的视频,使用S4A软件,用拖拽的形式控制蜂鸣器自动发出SOS的报警音。
S4A是一款基于Scratch软件的改进版本,支持在连接电脑串口通信的状态下,实现对Arduino各个端口的控制。在使用S4A之前需要有如下3个步骤的准备
(1)电脑连接Arduino,在设备管理器中安装驱动,记下端口号。
(2)运行EDUarduino中的Arduino程序,打开S4A及其固件当中的S4AFirmware15文件,选择正确的端口号,并下载到Arduino中,这个固件的作用相当于Arduino和电脑通信的一种协议。
(3)安装S4A1.5,程序会自动扫描Arduino的端口并连接,如果扫描不到,常常是由于之前的Arduino程序没有关闭,端口仍然被占用所致。
图2 S4A软件的准备
S4A的软件由左侧的功能模块、中间的代码区和右侧的多媒体舞台构成,在舞台上有一个不断闪动的监视器,显示着模拟输入A0~A5的状态,扫描图2所示的二维码可以观看S4A软件安装过程的视频。
接下来将蜂鸣器的负极插到GND端口上,正极11号端口如图3(右图)所示,从左侧的功能模块向代码区拖拽功能指令,如图3(左图)所示,点击绿旗,重复执行这个代码,就可以听到SOS的报警声了。
图3 S4A程序及硬件连接
使用S4A的好处是比较直观,并且能够制作一些互动多媒体效果,但是缺点是Arduino必须连接电脑才能使用,事实上程序是在电脑上运行的,arduino只是一个根据通讯协议完成指令的“傀儡”,为了让Arduino能够独立完成播放SOS报警音的工作,还需要使用ArduBlock软件将程序下载到Arduino当中。
3.产品
使用ArduBlock软件可以很方便地在不编写代码的情况下使用类似S4A拖拽式的操作,完成对Arduino的编程,在这里我们使用的是ArduBlock的教育版本,在网盘下载EDUarduino后,解压缩即可使用。安装驱动,在Arduino软件中选择好串口号后,选择工具菜单中的ArduBlock选项就可以使用。
图4 打开EDUarduino配置ArduBlock的运行环境
ArduBlock软件相当于一个将图形化语言翻译为Arduino代码的一个翻译器,这个改进后的ArduBlock界面更加简洁,适用于初学者。如图5所示,使用类似S4A的代码完成对11号端口的操作,之后单击“上载到Arduino”按钮程序就会下载到Arduino上,并可以离线运行。
图5 用ArduBlock完成SOS报警器的制作
经过一系列的折腾,SOS报警器终于可以自动工作了,这个过程并不复杂,读者甚至可以一步跨越到第三个阶段,但是我们仍然放慢了这个速度,希望能够让大家自己比较各种解决方案的优点和缺点。最后我们不妨做一些小小的工业设计,如图6所示,用透明胶带将蜂鸣器和Arduino板固定在电池盒的背面,这样可以防止蜂鸣器在使用过程中的滑脱,同时也让整个方案在结构上更为完整,更加便于携带,另外粘在电池盒背面的方案也使得我们更加容易更换电池。
图6 项目作品定型
在这个项目中,Arduino担任着“可编程中控单元”的角色,我们希望,在未来,每一个家用电器的智能处理核心是可互换、可重用、可编程的,这样每个人可以定制家电的个性化功能,可以去改装一些新的家用电器,也可以将这些改装的经验发布出去,毕竟可重用、可循环和手工DIY代表着一个更加可持续发展的地球的未来,而在分享过程中结识的朋友和形成的社群,则是这个过程中最大的收获之一,为此我们希望感兴趣的读者可以加入创客教育的QQ群(191759502,78497583),也衷心地希望大家可以和创客三级跳的主持人吴俊杰和谢作如老师联系,期待着《无线电》杂志营造的这个平台,能够让更多的人团结起来,体味创客的快乐。春节刚过,祝愿每一位读者新的一年平安喜乐!