Sharp_GP2Y0A 红外测距传感器 Arduino读取
Sharp_GP2Y0A
GP2Y0A02YK0F, GP2Y0A710K0F Arduino 程序
GP2Y0A02YK0F
传感器参数:
- 20~150cm Analog output type.
- 4.5 to 5.5V, 33mA
- Block diagram
- Timing Chart
- Output
参考V-cm图, 用查表法, 连接Vout到Arduino的A0引脚, 测量频率20Hz.
//SHARP GP2Y0A02
//Yellow Vout
//Black GND
//Red 5Vfloat distance[] = {20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150};
float voltage[14] = {2.5, 2, 1.55, 1.25, 1.1, 0.85, 0.8, 0.73, 0.7, 0.65, 0.6, 0.5, 0.45, 0.4};typedef struct {float maxDistance; //cmfloat minDistance; //cmfloat offset; //cmfloat distance; //cm, int frequency; //Hzint pin;
}SHARP;SHARP Sharp = {150, 20, 0, 0, 20, A0};void getDistance(SHARP* Sharp) {float v = analogRead(Sharp->pin);v = v / 1024.0 * 5;int index = 0;for(index = 0; index < 14; index++) {if(v >= voltage[index]) {break;}}if(index == 0) {Sharp->distance = 20;} else if(index == 14) {Sharp->distance = 150;} else {Sharp->distance = map(v, voltage[index], voltage[index-1], distance[index], distance[index-1]);}
}void setup() {Serial.begin(115200);
}void loop() {static unsigned long lastTime = millis();if(millis() - lastTime > 1000/Sharp.frequency) {lastTime = millis();getDistance(&Sharp);Serial.println(Sharp.distance);
// int v = analogRead(Sharp.pin);
// Serial.println(v);}
}
GP2Y0A710K0F
传感器参数:
- 100~550cm Analog output type
- 4.5~5.5V, 30mA
- Block diagram
- timing chart
- Output
一开始用的公式法, 参考的是V-1/cm图, 结果测出来数据有点糟糕, 跳来跳去. 后来用查表法. 连接Vout到Arduino的A0引脚, 测量频率40Hz.
Github
代码参考我的Github: Sharp_GP2Y0A
Sharp_GP2Y0A 红外测距传感器 Arduino读取相关推荐
- Arduino + GP2D12红外测距传感器+LCD1602
一: GP2Y0A21YKIR Sensor是日本夏普公司推出的一款性价比高.最常用的红外测距传感器.其与GP2D12测量射程相同,但探测面积略有增加,可用来对物体的距离进行测量,实现轮式机器人的避障 ...
- 第十七篇、基于Arduino uno,获取cp2d12红外测距传感器的原始值和距离值——结果导向
0.结果 说明:先来看看串口调试助手显示的结果,第一个值是原始的模拟电压值,第二个值是距离值,如果是你想要的,可以接着往下看. 1.外观 说明:虽然红外测距传感器形态各异,但是原理和代码都是适用的,只 ...
- Arduino与ROS通讯的示例代码HelloWorld改写成夏普红外测距传感器数据传输的代码
改写详情: 其实就是在原来的代码的基础上加了个红外测距传感器的代码,然后把红外测距传感器的double类型的数据用dtostrf函数转换成了char类型的字符串数组.并没有对消息类型进行任何的更改,仅 ...
- arduino学习笔记十--Arduino 读红外测距传感器
Arduino 读红外测距传感器GP2D12 实例,仅供大家参考! 器材:Arduino 开发板,GP2D12,1602 字符液晶,连接线若干. GP2D12 是日本SHARP 公司生产的红外距离传感 ...
- GP2Y0E03夏普红外测距传感器简单使用
夏普红外测距传感器规格书引脚如下 一共七个引脚,如果要改地址的话还需要用到第八个引脚(当时改地址试了半天,仔细一看数据手册还有第八个引脚),第八个引脚Vpp如下图所示 和GP2Y0E03通讯是用IIC ...
- 红外测距传感器GP2D12与STM32单片机程序,滤波算法
红外测距传感器GP2D12与STM32单片机程序,滤波算法,设计步骤和代码流程清晰非常实用. 是机器人中最常用的红外测距传感器. 程序源码注释详细,非常适合单片机开发人员. ID:7887031794 ...
- 距离感应音乐玩具计算机系统设计,可编程机器人玩具程小奔红外测距传感器测量距离案例...
文:邱老师 上次课程我们学习了用速度乘以时间计算程小奔移动距离的方法.那么,它能否测量还没有走过的路程距离呢?答案是可以的. 程小奔编程机器人集合了多种传感器,今天我们要使用程小奔机器人的红外测距传感 ...
- 红外测距传感器(GP2D12、74HC595、ADC0832)
红外测距传感器GP2D12 应用 要做的项目 原理 仿真效果图 74HC595的作用(串入) 项目目录 ADC0832X.c(延用之前的,但注意CS.CLK.DIO所对应的端口发生了变化) 74HC5 ...
- 夏普GP2Y0AYK0F红外测距传感器在STM32F103C8T6中的使用及电压转换公式。
夏普GP2Y0AYK0F红外测距传感器在STM32F103C8T6中的使用及电压转换公式. 1.夏普GP2Y0AYK0F红外测距传感器介绍 参数介绍 品牌 夏普SHARP 型号 GP2Y0A21YK0 ...
最新文章
- 面试算法:Maxbuild
- java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...
- JAVA——文件操作工具类封装的简单实现
- FileDescriptor的作用
- 单目可见光静默活体检测 Binary or Auxiliary Supervision论文解读
- sklearn--各分类算法简单应用
- 利用cad计算型材的弹性模量_3米高广告牌钢结构设计计算书(最后附CAD图纸)
- 在wps里面怎么设置触发器_wps触发器怎么设置
- 如何将IE11降级到IE10
- godot引擎学习10
- 4.1.1 网络层的功能(路由选择与分组转发、异构网络互连、拥塞控制)
- android酷炫转圈动画,android常用旋转线条加载动画
- 怎样实现微信公众号点击菜单自动回复文字信息
- 电脑编程入门需要学什么呢
- C++如何运用play sound函数,给你的程序加点音乐
- windows的dmp文件使用
- 数学建模常用模型04:灰色关联分析法
- win10html5无法播放,Win10网页视频无法播放提示启用adobe flash player
- 三星 android 自定义物理按键,新机皇驾到!三星Note10将取消物理按键,网友:这造型逼死强迫症...
- Tomcat7.0源码分析——请求原理分析(上)