红外线测试.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外线测试

宜昌城老张 ?发消息 ??写留言? ?加好友 ??RSS订阅 博文分类 全部 Arduino基础(24) Arduino与LEGO积木(18) Arduino和Labview(20) Processing与Arduino的互动艺术(8) 乐高technic小品(25) NXT-G与乐高机器人(19) C语言与乐高机器人(7) LabVIEW与乐高机器人(10) 微软机器人软件MSRDS(5) Andriod手机与机器人(3) Arduino与慧鱼创意组合(3) 创客资讯(16) Arduino与Proteus仿真(8) MakeBlock金属机器人(8) 必威体育精装版博客 来学习下选用电位器的知识 包含的... 关于指针5-地址的传递 ?从iPhone6看中国制造的神秘幕后... 内核移植之设备树 TQ210v6开发板与TQ210V4底板端口... 300W清洗机专用射频电源、匹配器... 信号在PCB走线中传输时延(下) 使用stm32flash串口烧写STM芯片 有开发项目你就来,飞凌嵌入式免... 中国功率半导体的发展现状分析 夏普GP2D12红外线测距传感器与LCD1602液晶 ?2012-04-12 09:05 分享到: ? ? ? ?这个实验任务是:把GP2D12红外线测距传感器采集的数据,通过Arduino控制器的算式转换为实际距离值,再显示在集成了I2C接口的LCD1602液晶面板上。 ? ? 夏普GP2D12红外线测距传感器,是一种性价比较高的模拟量传感器。如何把这个传感器所测的模拟量数据,采集和算式处理,最终获取实际距离呢?我下面就会讲。 ? ? ? ? ?上图就是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设备。 ? ? ? ? ?用四根杜邦线,把1602LCD后面的I2C接口四个引脚与Xbee传感器扩展板V5的I2C专用端口连接起来,就可以实现Arduino控制器与LCD1602液晶的I2C硬件联系,如文章的第一张图所示。这个集成了I2C接口的1602LCD好用,不仅体现在硬件连线方便,而且您使用专门为这个LCD液晶写的库文件LiquidCrystal_I2C,编写程序也特别简单。 LiquidCrystal_I2库文件的RAR文件请下载:LiquidCrystal_I2C.rar ? ? ?您可以将RAR文件下载并解压缩后,复制到您的Arduino安装目录下的libraries文件夹里面,如图。 ? ? 把GP2D12传感器连接到Arduino传感器扩展板的模拟量端口0、LCD1602的I2C引脚连接到传感器扩展板的I2C专用端口,又安装好和LiquidCrystal_I2库文件,那就可以编写GP2D12传感器距离值采集和LCD1602液晶显示的程序了。 注意:由于“单三角括号”里的内容,博客里显示不出来,所以我把头文件声明命令“被迫”进行了修改,以便在博客里看到头文件,例如改成#include 《Wire.h。 程序如下: ?// 声明集成了I2C接口的LCD1602编程所需库文件 ? #include 《Wire.h? #include 《LiquidCrystal_I2C.h //设置LCD1602的I2C地址为0x27,LCD1602为两行,每行16个字符的液晶显示器 ? LiquidCrystal_I2C lcd(0x27,16,2);? ? int GP2D12 = 0;//把夏普GP2D12红外测距传感器连接在模拟量端口0 ? int val

您可能关注的文档

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档