找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 6141|回复: 11

夏普GP2D12红外线测距传感器与LCD1602液晶

[复制链接]
发表于 2012-4-5 18:13:11 | 显示全部楼层 |阅读模式
实验全景图.jpg
这个实验任务是:把GP2D12红外线测距传感器采集的数据,通过Arduino控制器的算式转换为实际距离值,再显示在集成了I2C接口的LCD1602液晶面板上。

    夏普GP2D12红外线测距传感器,是一种性价比较高的模拟量传感器。如何把这个传感器所测的模拟量数据,采集和算式处理,最终获取实际距离呢?我下面就会讲。

GP2D12 传感器.jpg

算式曲线.jpg
  上图就是GP2D12红外线测距传感器的电压值与距离值的关系曲线,从这个曲线可以看出,电压输出与距离成反比,而且是非线性关系。

   根据上图关系曲线,大约关系为10cm距离时有2.55V输出,80cm距离时有0.42V输出。可以通过该曲线拟合出电压值与距离值的数学关系式,但是这个关系式里的距离是参考距离值,实际距离值=(参考距离值-0.42)cm,另外由于Arduino的模拟量采样命令analogRead(),采样的数据范围是0至1023,对应的电压范围是0至5V,每格数据代表0.0049V,于是读取的有效数据应该由86(0.42V)至520(2.548V)。所以最终可以推导出实际距离与采样数据之间的关系式为:

    实际距离=2547.8/((float)采样数据*0.49-10.41)-0.42

    这个实际距离与采样数据之间的关系式,您会在下面程序中再次看到,我用红色字体标注出来了。

    Arduino 328控制器端口实在是有限,加几个传感器、SD卡啥的,就没有端口了,还想接个1602液晶显示,怎么办?DFRobot公司开发的集成了I2C接口的1602LCD就解决了上述问题,利用I2C通讯,只需SDA、SCL、GND和VCC四根线就可以实现数据显示,还可以挂其他I2C设备。

LCD1602_I2C.jpg

     用四根杜邦线,把1602LCD后面的I2C接口四个引脚与Xbee传感器扩展板V5的I2C专用端口连接起来,就可以实现Arduino控制器与LCD1602液晶的I2C硬件联系,如文章的第一张图所示。这个集成了I2C接口的1602LCD好用,不仅体现在硬件连线方便,而且您使用专门为这个LCD液晶写的库文件LiquidCrystal_I2C,编写程序也特别简单。




如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-4-5 19:14:52 | 显示全部楼层
受益了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-4-5 19:29:58 | 显示全部楼层
{:soso_e127:}这一章是彻彻底底和乐高没关系了。。。。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2012-4-5 21:10:56 | 显示全部楼层
杀,桃,闪 发表于 2012-4-5 19:43
这一次真是跟乐高没关系了……放弃了?

耐心看下去,只看了小说的开头。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-4-5 21:27:53 | 显示全部楼层
乐高的强项是结构,入门简单,但接口不够丰富。

很多人不是说乐高贵嘛,便宜的半成品来了又……

这种中级开发板我觉得非常好,适应高级需求嘛
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-4-6 13:45:33 | 显示全部楼层
实际距离=2547.8/((float)采样数据*0.49-10.41)-0.42


这个公式太有用了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-4-6 20:50:44 | 显示全部楼层
宜昌城老张 发表于 2012-4-5 21:10
耐心看下去,只看了小说的开头。

我会耐心地看下去的
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-5-20 14:48:07 | 显示全部楼层
红外测距会不会与红外遥控发射与接收器有冲突呀?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-5-20 16:25:32 | 显示全部楼层
晓舟 发表于 2012-4-5 16:59
这一章是彻彻底底和乐高没关系了。。。。

张老师的文章拓展我们的视野,告诉我们不要只看lego,Arduino也很优秀
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-5-20 16:28:00 | 显示全部楼层
我觉得您应该着重研究一下用Arduino制作NXT的高端传感器,很多论坛的朋友都很期盼。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-5-25 20:39:36 | 显示全部楼层
谢了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-5-19 06:08 , Processed in 0.125248 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表