知识点0204 夏普红外测距传感器 主讲人:宁波鄞州职业教育中心学校 陈浙 (Arduino功能模块与应用) 同学们大家好,今天本次课我们共同来学习夏普红外测距传感器。
一、传感器介绍 二、应用电路搭接 三、编程与调试 我们将从以下3个方面进行学习
一、传感器介绍 首先是传感器的介绍
1、传感器功能介绍 GP2Y0A02YK0F是夏普的一款距离测量传感器模块。传感器输出电压值对应探测的距离,通过测量电压值就可以得出所探测物体的距离。 该型号传感器是夏普的一款距离测量传感器。传感器输出电压值对应探测的距离,通过测量电压值就可以得出所探测物体的距离。
2、传感器参数介绍 距离测量范围: 20 to 150 cm 2. 信号输出类型:电压模拟信号 3. 供电电压:4.5 to 5.5 V 4.精度与采集的AD位数以及转化计算公式有关 该传感器的距离测量范围为20至150cm,信号输出类型为电压模拟信号,供电电压为4.5V至5.5V,精度与采集的AD位数以及转化计算公式有关
二、应用电路搭接 介绍了传感器之后,我们来进行电路的连接
1、传感器引脚说明 1.黄色代表信号输出 2.黑色代表接地 3.红色代表电源Vcc ① 为了接线方便这里给出了该型号传感器的引脚说明,同学们可以根据自己的模块了解模块引脚
2、绘制接线图 nano板与传感器的搭接图 然后根据给出的连接线路图将Arduino nano板与红外距离传感器进行连接
3、应用电路搭接 nano板上的G代表接地 V代表电源 S代表信号
三、编程与调试 完成了电路搭接,我们开始程序的编写与调试。
1、设计程序流程图 流程图 串口初始化 读取电压值 用公式计算距离 串口输出 利用EXCEL软件取6点生成公式
2、程序介绍 return (float)(63.453*pow(val,-1.134)); } void setup() { Serial.begin(9600); } void loop() { Serial.print("distance = "); Serial.print(read_distance()); Serial.println("cm"); delay(500); } #include<math.h> int distance_sensor=A0; float val; float read_distance(void) { int temp; temp=analogRead(distance_sensor); val=(float)(temp*(5.0/1023.0)); if(val<0.3) return -1; 在程序中主要应用了模拟量读取函数analogRead、X的Y次方pow函数,并将其转换为电压值,然后利用公式进行计算出距离,并在串口调试窗口进行显示。
3、程序下载及运行 演示运行效果