欢迎光临
我们一直在努力

基于Arduino的倒车雷达系统

20171208120203_11

==概述==

倒车雷达系统:

倒车雷达是汽车驻车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员驻车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷。工作原理:倒车雷达在倒车时,利用超声波原理,由装置在车尾保险杠上的探头发送超声波撞击障碍物后反射此声波,计算出车体与障碍物间的实际距离,然后提示给司机,使停车或倒车更容易、更安全。

倒车雷达主要由超声波传感器、控制器和显示器或蜂鸣器等组成

1、超声波传感器:主要功能是发出和接收超声波信号,然后将信号输入到主机里面,通过显示设备显示出来。

2、控制器:对信号进行处理,计算出车体与障碍物之间的距离及方位。

3、显示器或蜂鸣器:当传感器探知汽车距离障碍物的距离达到危险距离时,系统会通过显示器和蜂鸣器发出警报,提醒驾驶员。

本次是以小实验的方式写的,对于模块不了解的,可以先看一下我们的模块教程,了解掌握模块使用方法后,再尝试本小实验。

(对于非本店模块不提供技术支持!如果无法做通,可能是不兼容导致,请自行尝试)。

模块教程http://zhongbest.com/2016/09/01/%E8%B6%85%E5%A3%B0%E6%B3%A2%E6%A8%A1%E5%9D%97/

所需元件:

Arduino主控板一块:点我购买

面包板:点我购买

I2C1602显示屏:点我购买

超声波模块:点我购买

蜂鸣器模块:点我购买

三色RGBLED模块:点我购买

杜邦线或面包线(若干):面包线      杜邦线

==接线图==

daocheleida_55

==接线方式==

超声波模块:

TRIG———————-Arudino  D3

ECHO———————Arduino D4

VCC———————–Arduino 5V

GND———————-Arduino GND

*************************************************

蜂鸣器模块:

VCC—————Arduino 5V

GND————–Arduino GND

I/O—————Arduino D8

*************************************************

三色LED模块:

GND————–Arduino GND

R—————–Arduino D5

G—————–Arduino D6

B—————–Arduino D7

***************************************************

I2C1602显示屏模块:

VCC——————-Arduino VCC

GND——————Arduino GND

SDA——————A4

SCL——————-A5

==例子程序==

/*
  * 本实验仅供交流使用,代码为开源,切勿用在商业用途。
  * 最终解释权归 zhongbest.com所有。
  */
#include "SR04.h"//超声波模块头文件
#include <Wire.h> //I2C头文件
#include <LiquidCrystal_I2C.h>//I2C1602显示屏头文件
//###################################################
LiquidCrystal_I2C lcd(0x27,16,2);  //调用I2C地址
//###################################################
#define TRIG_PIN 3//定义超声波模块TRIG引脚
#define ECHO_PIN 4//定义超声波模块ECHO引脚
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);//调用函数
float a; //浮点数a
//###################################################
int ledpin1 = 5;  // 定义R灯的引脚
int ledpin2 = 6;  // 定义G灯的引脚
int ledpin3 = 7;  // 定义B灯的引脚
int beeppin = 8;  // 定义蜂鸣器的引脚
int i = 0;//变量i
//###################################################
 
void setup ()
{
   lcd.init();//初始化显示屏             .
   lcd.backlight();//点亮屏幕
   lcd.print("hello,zhongbest!");//招呼语,不用可删除。
   delay(500);//招呼语显示时间。
   lcd.clear();//清屏
   lcd.print("distance:");//显示字符:distance
   lcd.setCursor(0,0);//字符显示坐标
   pinMode(ledpin1,OUTPUT);//定义R灯为输出模式
   pinMode(ledpin2,OUTPUT);//定义G灯为输出模式
   pinMode(ledpin3,OUTPUT);//定义B灯为输出模式
   pinMode(beeppin,OUTPUT);//定义蜂鸣器为输出模式
}
  //###################################################
 
void loop()
{
   a=sr04.Distance();//用浮点数a表示超声波距离
lcd.setCursor(0,1);//超声波距离显示坐标
lcd.print(a);//显示超声波距离
lcd.setCursor(5,1);//单位显示坐标
lcd.print("cm");//显示超声波距离单位
delay(100);
 
  if(a<20)            //当距离<20cm,红色R灯亮,蜂鸣器急促声。
   {
     setColor(0, 0, 255);//R灯参数
     buzzer1();//蜂鸣器急促声参数
   }
   else if (a<=40)    //当距离<40cm,蓝色B灯亮,蜂鸣器短促声。
   {
     setColor(255, 0, 0);//B灯参数
     buzzer2();//蜂鸣器短促声。
   }
   else if (a>41)//当距离大于41厘米(安全距离),蜂鸣器间隔短声。
   {
     setColor(0, 255, 0);//G灯参数
     buzzer3(); //蜂鸣器间隔短声。
   }
}
 
//###################################################
void buzzer1()
{
   tone(beeppin,900);
   delay(300);  //声音间隔,急促声
   noTone(beeppin);
}
 
void buzzer2()
{
   tone(beeppin,600);
   delay(500);  //声音间隔,短促声
   noTone(beeppin);
}
 
void buzzer3() 
{
   if(i%10 == 1){
     tone(beeppin,800);//间隔短声
   }
   else{
     noTone(beeppin);
   }
   i++;
}
 
void setColor(int red, int green, int blue) 
{
   analogWrite(ledpin3, red);//red为共阴LED灯,255-red为共阳LED灯。
   analogWrite(ledpin2, green);
   analogWrite(ledpin1, blue);
   //定义RGB-LED灯参数。
}

==实验效果==

当距离大于41CM时,报警声平缓,绿灯亮。

当距离小于等于40厘米时,报警声短促,蓝灯亮。

当距离小于20厘米时,报警声急促,红灯亮(基本可以停车了)

==相关下载==

库文件:https://pan.baidu.com/s/1c2B83ra

未经允许不得转载:Arduino-Maker » 基于Arduino的倒车雷达系统

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育