第八课.倒车雷达

课前学习

单词 含义
buzzer 蜂鸣器
distance 距离

一.进制

1.什么是进制?

进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。

2.生活中的进制

关于进制,我们平时接触的最多的就是十进制,用于计数。除了常用十进制,比较常用的还有跟时间相关的进制,比如七进制(一周七天)、十二进制(一年12个月)、二十四进制(一天24小时)、三十进制(一月30天)、六十进制(一小时60分钟)等。

3.二进制的由来

发明二进制的德国数学家哲学家莱布尼茨(1646-1716)是计算机科学的奠基人, 莱布尼茨有个神父朋友叫白晋,早年就来到中国传播主的福音,痴迷于中国文化尤其是《易经》的博大精深,莱布尼茨在1703年收到白晋寄自中国的邵雍版《伏羲六十四卦方位图》,并在同年发表了《论单纯使用0和1的二进制算术兼论其用途及它赋予伏羲所使用的古老图形的意义》一文。

4.二进制与十进制的相互转换

  • 十进制转二进制方法:除2取余法


    十进制转发进制

    十进制转二进制的例子
  • 二进制转十进制方法:把二进制数按权展开、相加即得十进制数。

    二进制转十进制的例子

二.超声波传感器

1.什么是超声波传感器?

超声波测距模块是用来测量距离的一种产品,通过发送和就接收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。
超声波传感器

2.特点

HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。

3.工作原理

  • 1.采用IO口TRIG触发测距,给最少10us的高电平信呈。
  • 2.模块自动发送8个40Khz的方波,自动检测是否有高电平返回;
  • 3.有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

三.制作倒车雷达

1.作品说明

倒车雷达(PDC,Parking Distance Control)全称叫“倒车防撞雷达”,也叫“泊车辅助装置”,是汽车泊车或者倒车时的安全辅助装置,由超声波传感器(俗称探头)、控制器和显示器(或蜂鸣器)等部分组成。在倒车时,帮助司机“看见”后视镜里看不见的东西,以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高驾驶的安全性。倒车雷达也存在一定的盲区,包括过于低矮的障碍物(低于探头中心10~15cm以下的障碍物)、过细的障碍物(例如隔离桩、斜拉钢缆)还有沟坎。
倒车雷达示意图

2.准备器材

名称 实物图 数量
主控板
1
面包板
1
超声波传感器
1
无源蜂鸣器
1
LED灯
220欧姆电阻
1
导线
若干

3.画电路连接图

电路连接图

4.实物连接图

实物连接图

5.程序设计

(模块代码)
模块代码设计

(英文代码)

volatile int distance;

float checkdistance_10_9() {
  digitalWrite(10, LOW);
  delayMicroseconds(2);
  digitalWrite(10, HIGH);
  delayMicroseconds(10);
  digitalWrite(10, LOW);
  float distance = pulseIn(9, HIGH) / 58.00;
  delay(10);
  return distance;
}

void setup(){
  distance = 0;
  pinMode(10, OUTPUT);
  pinMode(9, INPUT);
  pinMode(2, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop(){
  distance = checkdistance_10_9();
  if (distance <= 40 && distance > 20) {
    digitalWrite(2,HIGH);
    tone(11,988,50);
    delay(1000);
    digitalWrite(2,LOW);
    tone(11,988,50);

  } else if (distance <= 20 && distance > 10) {
    digitalWrite(2,HIGH);
    tone(11,587,50);
    delay(400);
    digitalWrite(2,LOW);
    tone(11,587,50);
  } else if (distance <= 10) {
    digitalWrite(2,HIGH);
    tone(11,988,50);
    delay(100);
  } else {
    digitalWrite(2,LOW);

  }

}

你可能感兴趣的:(第八课.倒车雷达)