Arduino与Proteus仿真实例-GP2D12红外测距传感器驱动仿真

GP2D12红外测距传感器驱动仿真

1、GP2D12介绍

GP2D12红外传感器 是日本夏普公司推出的一款性价比高、常用的红外测距传感器、其可用来对物体的距离进行测量,实现轮式机器人的避障功能。它不但体积小、功耗低、价格便宜,而且测距效果好,适合广大机器人发烧友使用。

GP2D12特点如下:

  1. 测量射程范围:10 to 80 cm
  2. 允许角度:>40°
  3. 电源电压:4.5 to 5.5V
  4. 平均功耗:35mA
  5. 峰值功耗:约200mA
  6. 更新频率/周期:25Hz/40ms
  7. 模拟输出噪声:<200mV
  8. 测量距离与输出模拟电压关系:2.4V-0.4V模拟信号对应10cm-80cm,输出与距离成反比非线性关系。

在这里插入图片描述

2、仿真电路原理图

在这里插入图片描述

3、仿真代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uint16\_t cal\_gp2d12 (uint16\_t value);

void setup() {
Serial.begin (9600);
}

void loop() {
// put your main code here, to run repeatedly:
uint16\_t value;
uint16\_t range;

value = analogRead (A0);
range = cal\_gp2d12(value)/10.0;

Serial.print("distance =");
Serial.println(range);

delay(100);
}

uint16\_t cal\_gp2d12 (uint16\_t value){
if (value < 10) value = 10;
return ((67870.0 / (value - 3.0)) - 40.0);
}


3、仿真结果

在这里插入图片描述

文章来源: https://iotsmart.blog.csdn.net/article/details/128262750