编者注:本项目编译自Instructables,原作者是Tsartsanis,转载请注明。
市面上销售的可操控的监控相机价格都挺高的,但实际上只需要一些舵机和一个网络摄像头,任何人都可以自己做一个网络监控相机。
所需硬件:
计算机(必须安装Windows XP Service Pack2或更新版本的系统)
Actobotics旋转、倾斜结构DDT560和DDT155
Hitec HS-625MG连续调制舵机和HS-5485HB舵机
Arduino Leonardo
USB摄像头
面包板
线材、扎带和螺丝等
所需软件:
操作系统:Linux Distro或Windows XP Service Pack 2或以上
Contacam,用于视频监控和图像处理(只支持Windows)
远程控制接入软件:Tight VNC或VNC或其它
对Linux用户而言,需要安装VLC,Arduino IDE,Process IDE 和Tightvnc。
对Windows用户而言,需要安装Contacam(也可使用VLC,但Contacam更好),Arduino IDE,Process IDE 和Tightvnc。
基座旋转结构DDT155的组装工作非常简单,有条件的也可以选择自己设计结构单元。这里我们选用的舵机是Hitec HS-625MG连续调制舵机,让整个结构能够在水平上实现360度的旋转。
(视频教程第一部分)
(视频教程第二部分)
只要实现了水平基座的360度旋转,要想实现对整个空间的监控,就只需要素质竖直方向的舵机具有180度的工作范围即可。这里选用的是标准HS-5485HB舵机。
接下来将本结构和基座安装到一起,基本结构方面就完成了。
将摄像头组件固定到能够竖直转向的结构上,根据你选择的摄像头的不同,可以选择胶带或螺钉进行固定。
舵机的导线并不长,我们需要对其进行延长。这个工作并不复杂,说明一下舵机的几条导线的作用:
黄色导线是信号线(连接到Arduino的数字/模拟引脚)
红色导线是电源线(连接到Arduino的5V引脚)
黑色导线是接地线(连接到Arduino的GND引脚)
这里可以用到一块面包板,只要保证一块Arduino能为两个舵机提供电力即可。其中HS-625MG连续调制舵机的信号线连接到Arduino的第10脚,而HS-5485HB舵机则使用Arduino的第9脚。这两个引脚是可以重新定义的,但修改的同时还需要调整相应的代码。
基座使用的是可以连续旋转的舵机,其旋转速度由脉冲调制控制。因为其旋转角度为360度无死角,所以其旋转方向总是选择旋转角度较小的方向。
为了对基座的旋转进行更好的测试,我分别写了用于左转和右转的代码,代码非常简单,即让转动结构左转或右转5秒,然后暂停10秒。其中可以对函数myservo.write(89)的值进行修改以调整基座旋转的速度,比如可以改成myservo.write(86),可以看看是变快了还是变慢了。函数myservo.write(90)则是用于控制舵机的停止点。
将以上代码逐个上传到Arduino测试即可。
首先下载代码sketch_servo_mouse_control.ino并将其上传到Arduino。然后打开Processing程序,将文件processing_single_servo_mouse.pde上传;完成之后运行此代码,那么你会在计算机桌面上看到一个弹出的对话框,此时移动鼠标你能看到竖直转动结构会发生相应的运动。
将摄像头连接到电脑。如果是Linux,按路径Vlc --> Media --> Open capture device打开摄像头;如果是Windows,则按路径Contacam --> Capture打开摄像头即可。
当然,通过更多的网络配置,你开始通过远程的方式查看摄像头的内容。
到这里我们项目就基本上完成了,但是系统还是略有些臃肿,操作方式也较为复杂。事实上再配置上更复杂的代码可以实现对目标的跟踪拍摄,也可以通过恰当的配置将此系统用于网络在线直播。
你有什么想法?不妨与我们分享。
2015-2016赛季全球创客马拉松深圳大学站已经开始接受报名啦!关注“硬创邦”(微信号:leiphone_bang),回复“深大”即可参与报名!而且,雷锋网在未来三个月内选一个合适的时间,在北上深选择一个地点,举办创马“火星救援”专场!详情可点此处了解。
此外还可加入全球创客马拉松主群(群号:259592983),参与我们的互动讨论~