自制wifi小车摄像头附代码

上传人:mg****85 文档编号:34342854 上传时间:2018-02-23 格式:DOCX 页数:8 大小:2.16MB
返回 下载 相关 举报
自制wifi小车摄像头附代码_第1页
第1页 / 共8页
自制wifi小车摄像头附代码_第2页
第2页 / 共8页
自制wifi小车摄像头附代码_第3页
第3页 / 共8页
自制wifi小车摄像头附代码_第4页
第4页 / 共8页
自制wifi小车摄像头附代码_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《自制wifi小车摄像头附代码》由会员分享,可在线阅读,更多相关《自制wifi小车摄像头附代码(8页珍藏版)》请在金锄头文库上搜索。

1、自制 Wi-Fi 遥控小车:改造摄像头 无须 APP1 前期准备,硬件组装流程写在前面本文编译自 geekfans,作者: FixedGear。虽然没有视频教程,但图文还算到位,方法也比较另类,整理了一下分享给大家。Wi-Fi 遥控小车的想法称不上新颖,国外电影频频出现,国内喜欢折腾的 geeker 也晒过相关教程。这里再推荐个 鬼仔s Blog 小窝,主人将自己折腾出来的 两代 Wi-Fi 小车经验都分享了出来(不过只说了原理,没说代码 。),一代是基于 51 单片机,二代跟今天 FixedGear 分享的这个一样,基于 Arduino。做这种遥控小车,Arduino 平台像是量身打造的,开

2、发起来要比单片机简单很多,关于 Arduino,度娘 收录的已经比较详细,这里就不介绍了,感兴趣的朋友闲来无事可以了解、学习一下。【PConline 资讯】改进(基本原理):利用网络摄像头报警输出端口的继电器开开合合形成一个二进制的编码,然后用 Arduino 翻译,扩展摄像头 I/O。准备材料1、网络摄像头(上海 KaiCong)2、Arduino 控制板3、电机驱动扩展板4、Arduino 稳压板(为了保证网络摄像头稳定的电源)5、10k 电阻(端口上拉)及面包线6、小车底盘、(2WD / 4WD)(含直流电机、电源)这些东西 TB 上都能淘到,其中,网络摄像头和 Arduino 控制板比

3、较核心,一个眼睛一个大脑,放到最后重点说。L298P 电机驱动扩展板:为了保证摄像头使用电压的稳定,我没有使用 Arduino 板上的 5V 电压,而是单独用了一块稳压扩展板。该扩展板在小车调试前期可不用,直接用稳压器给网络摄像头提供电源。稳压扩展板:小车底盘(2WD /4WD)是路虎 5 履带底盘。最后找了一个直插的 10k 电阻,再准备一些面包线,这样所有的材料都准备好了。组着完毕后的底盘:开动!稳压扩展板的使用很简单,我们先来简单介绍一下。如下图的标识,将电池接到扩展板的输入端子,输入端子旁边的两个跳线帽要跳到 PWRIN 位置。然后调节输出电压微调电位器,用万用表测量电源输出端电压使其

4、稳定在 5V。最后将网路摄像头电源接口与扩展板电源输出端连在一起。至于电机驱动板的使用相信大家都比较熟悉了,这里再简单提两句。先要选择控制方式,这个制作中使用的是 PWM 方式。再者就是连接直流电机,如下图所示的连接端子。M1+和 M1连接一个直流电机,M2+和 M2连接另一个直流电机,电机驱动板占用 Arduino 的 4、5、6、7 脚。连接眼睛和大脑最后,重点来说一下 Arduino 控制板与网络摄像头的连接。网上有朋友用摄像头公司提供的插件做了一个运行在 PC 端的 app,以此来控制继电器产生宽窄不一的脉冲。这里我没有采用这种方式,做 app 也不是谁都能完成的。本人采用的方式是直接

5、用 Arduino 捕获摄像头内控制步进电机的信号,拆掉了摄像头中左右转的步进电机,用摄像头本身左右旋转的信号来控制小车的左右转,而用继电器的吸合来控制小车的前进与停止。具体方法如下:导线引出后,我们合上摄像头的底盖,来看看它背面的接口。如下图所示,在摄像头后面最中间的是天线接口,天线右侧的 4 个 I/O 口就是报警输出端口,4 个 I/O 用 1、2、3、4 标识,其中 1、2 是报警输出端口,分别接到了继电器两端,3 为报警输入端口(此端口未用),4 为摄像头内容电路的数字地。这 3 个 I/O(不包括 3 号 I/O)加上之前的 A+和 B+总共 5 条线,与 Arduino 的连接关

6、系如下图所示。连接摄像头内报警继电器一端的 2 脚连到 Arduino 的 GND,而连接继电器另一端的 1 脚连到 Arduino 的 9 脚,同时在 9 脚加上 10k 的上拉电阻,这样当继电器未吸合时,9 脚因为上拉电阻,所以状态为高;而当继电器吸合时,9 脚接GND,所以状态为低。网络摄像头报警接口的 4 脚也要连接到 Arduino 的 GND,以使网络摄像头控制板与 Arduino共地。A+与 B+分别连接到 Arduino 的 2、3 脚,这两个脚如果连反了可以在程序中调整。步进电机的控制方式是不断的变化 A、B 两相上的电压大小和电流方向,这样在 A+和 B+上就会产生一串脉冲

7、。使用示波器观察我们发现,当发送左转的命令时,首先在 A+上产生脉冲,而当发送右转的命令时,首先在 B+上产生脉冲,效果如下图所示。我们就利用 A+、B+上的信号差异,以及继电器的吸合来实现对小车的控制。Arduino 端用到了外部中断功能,2 脚对应 Arduino 外部中断 0,3 脚对应 Arduino 外部中断 1。2 软件控制代码回顶部详细代码/*捕获步进电机信号控制直流电机使用 Arduino 的外部中断created 2013by Nille*/int InterruptA = 1; /定义 InterruptA 为外部中断 1,也就是引脚 3int InterruptB = 0

8、; /定义 InterruptB 为外部中断 0,也就是引脚 2volatile int state = 0; /定义 state 用来保存小车左右转的状态,/1 为左转,2 为右转void setup()/2、3 脚为外部中断 0、1,用来捕获 A+、B+上的信号pinMode(2, INPUT);pinMode(3, INPUT);/4、5、6、7 用于控制直流电机pinMode(4, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(7, OUTPUT);/9 脚用于检测继电器的状态pinMode(9, INPUT);/ 监视外部

9、中断输入引脚的变化attachInterrupt(InterruptA, stateInterruptA, FALLING);attachInterrupt(InterruptB, stateInterruptB, FALLING);void loop()if(digitalRead(2) = LOW | digitalRead(3) = LOW)if(state = 1)/state 为 1 时小车左转digitalWrite(4,LOW);digitalWrite(7,HIGH);analogWrite(5,240);analogWrite(6,240);else if(state = 2

10、)/state 为 2 时小车右转digitalWrite(4,HIGH);digitalWrite(7,LOW);analogWrite(5,240);analogWrite(6,240);else/小车停止analogWrite(5,0);analogWrite(6,0);elsestate = 0;/在继电器吸合的情况下if(digitalRead(9) = 0)/小车前进digitalWrite(4,HIGH);digitalWrite(7,HIGH);analogWrite(5,250);analogWrite(6,250);else/小车停止analogWrite(5,0);ana

11、logWrite(6,0);/中断函数 stateInterruptA,当 A+先收到脉冲则小车左转void stateInterruptA()if(state = 0)state = 1;/中断函数 stateInterruptB,当 B+先收到脉冲则小车左转void stateInterruptB()if(state = 0)state = 2;ps:可以在代码中添加一些 Serial.println()的语句来查看一下程序在我们控制摄像头时能够做出正确的相应。代码调试完成后,如图下图所示,将 Arduino 控制板、电机驱动扩展板、稳压扩展板层叠的插在一起固定在小车的后面,前方安装好摄像

12、头。完成后的 Wi-Fi 小车上电工作正常后,如图下图所示。Wi-Fi 小车的控制与摄像头的控制方式类似,打开电脑浏览器,在地址栏中输入网络摄像头的 IP 地址进入监控界面,就可以使用界面右侧的按钮来控制这部简易的 Wi-Fi 小车。另外,我选的这款摄像头还有一个厂家分配的唯一域名,只要在我们的路由器端简单配置就能够实现广域网条件下的小车控制了。OK,大功告成! 推荐阅读pconline 万能的网友中自然也不乏高手,单片机全手工版,教程点这里,成品晒单帖点这里。了解更多网络设备资讯,想分享想吐槽,登陆我们的论坛 http:/ 用到基本就是 AVR 芯片好不好 ,它只是一个集成的开发环境 ,不用配置寄存器而已.但代码编译后体积会很大,特别调用一些库后.简直是巨大,.但是唯一就是方便实现, 有什么想法就可以先试一下.文档也简单,入门方便.我玩过 Arduino,说实话,只是 AVR 单片机的一种,只不过在编程上,所有模块都是现成的,所以编程容易。但是缺点显而易见,功能太弱。这个 wifi 小车的摄像头是独立工作的,也就是说不是用 Arduino 控制的,相当于车和摄像头是两个模块,而且摄像头的程序也是自带的,跟 Arduino 可以说没多大联系。当然,自己感兴趣玩的话也很好玩的,毕竟比 51 容易很多,程序也很容易编写。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号