极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15913|回复: 2

WisCam + arduino 倒车雷达(开源)

[复制链接]
发表于 2017-7-6 11:59:32 | 显示全部楼层 |阅读模式
本帖最后由 fwy丶lucifer 于 2017-7-7 16:50 编辑

基本原理
    现在市场大部分倒车摄像头,只有影像没有声音,还有就是传统的倒车雷达只是有声音没有影像,那么结合两者是不是提高了倒车的安全性,本设计是在看到倒车影像的同时,当判断距离障碍物的距离,小于30cm时蜂鸣器提醒司机此时要小心控车,当大于30cm时蜂鸣器停止预警。因为WisCam是一个能和arduino完全对接的WIFI视频模块,所以我选择了,WisCam。WisCam工作在AP模式下,手机或者电脑连接WisCam的AP热点; Wiscam通过串口与Arduino串口连接。硬件连接成功之后,手机或者电脑就可以通过TCP Client 连接到wiscam的TCP server,端口号是502,建立链接之后就可以通过硬件串口透传数据了。Arduino外接一个超声波测距模块和蜂鸣器,最终测得距离通过串口传给电脑或者手机超过设定的阈值时蜂鸣器就会自动报警。本次使用windows 平台的电脑进行测试

实验设备
(1)arduino R3开发板一块
(2)WisCam视频开发板一块
(3)HC-SR04 超声波测距模块一个
(4)蜂鸣器一个
(5)5V 电源供电
(6)杜邦线若4根
主模块介绍:
    arduino:更多资料去官网:https://www.arduino.cc/
    arduino它构建于开放原始码simple I/O介面版,并且具有使用类似JavaC语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

WisCam IoT WiFi开源硬件模块
更多资料去官网:http://www.rakwireless.com/cn/
WisCam是一款超低成本物联网WIFI视频评估套件,集成强大的ARM9处理器,Nabto P2P云服务器实现视频远程播放,2.4G WI-FI模组,硬件兼容Arduino等。WisCam可以通过Wi-Fi传输视频到APP,APP源码,硬件设计资料源文件,软件代码均已上传到Github。因此可快速帮助开发人员使用Linux操作系统设计Wi-Fi视频产品。
WisCam支持YUV RAW DATA,开发人员可以进行视频缩放(1〜8倍缩放),视频裁剪,视频层叠,更改CMOS图像传感器等。



超声波测距模块:
百度文库说明书:https://wenku.baidu.com/view/ce9e5e48767f5acfa1c7cd8a.html
硬件连接
把Wiscam直接插到Arduino的母座上(端口完全对接),如图2所示HC-SR04 超声波测距模块的Trig脚接Arduino 的Pin 8和Echo脚接Arduino 的Pin 9(在程序中可自定义)、VCC接(Arduino)VCC 5V,GND接(Arduino)GND。组合之后单独给Wiscam供电即可(5V)或给Arduino 供电(5V)。
   
测试代码
1、上位机软件(源代码)
   1)控制界面

(2)下载地址(上位机源代码)
   https://github.com/RAKWireless/wiscam-Ultrasonic-ranging.git
1、下位机(Arduino程序
// 引脚定义
const int trig = 8;    // 触发信号
const int echo = 9;    // 反馈信号
int beeper = 3;
char sen[1];
int flase = 0;
//初始化
void setup() {
  pinMode(echo, INPUT);
  pinMode(trig, OUTPUT);
  //触发端口设置为输出,反馈端口设置为输入
  Serial.begin(115200);
  while (!Serial)
  {
      ; // wait for serial port to connect. Needed for Leonardo only
     }
}
//主循环
void loop() {
  long IntervalTime=0; //定义一个时间变量
    digitalWrite(trig, 1);//置高电平
    delayMicroseconds(15);//延时15us
    digitalWrite(trig, 0);//设为低电平
    IntervalTime=pulseIn(echo, HIGH);//用自带的函数采样反馈的高电平的宽度,单位us
    float S=IntervalTime/58.00; //使用浮点计算出距离,单位cm
    Serial.println(S);//通过串口输出距离数值
  if (S < 30) analogWrite(3, 160);//蜂鸣器预警
     else if (S > 30) analogWrite(3, 0);//蜂鸣器停止预警
  if (Serial.available() > 0)
  {
    flase = 1;
    for (int i = 0; i < 1; i++)
    {
      sen = S;
     Serial.write(sen );
    }
  }
    S=0;IntervalTime=0;//对应的数值清零
  delay(500);//延时间隔决定采样的频率,根据实际需要变换参数
}







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2017-7-6 16:35:07 | 显示全部楼层
漏拍了蜂鸣器,这里设置距离是小于30cm时,蜂鸣器提醒司机
回复 支持 反对

使用道具 举报

发表于 2017-9-19 17:53:15 | 显示全部楼层
楼主强捍,谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 19:20 , Processed in 0.059491 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表