找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10856|回复: 13
打印 上一主题 下一主题
收起左侧

红外测距传感器模块GP2Y0A41SK0F的简单测试程序

  [复制链接]
跳转到指定楼层
楼主
毕业设计要用到这个红外测距模块,收到货后简单写了个测试程序,当物体与模块的距离大约在4cm左右时led会亮起

实物图:


单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "adc.h"
  4. #include "led.h"
  5. int main(void)       
  6. {       
  7.         u16 adcx;
  8.         float temp;
  9.         Adc_Init();
  10.         LED_Init();
  11.         delay_init();
  12.        
  13.         while(1)
  14.         {
  15.                 adcx=Get_Adc_Average(ADC_Channel_1,10);
  16.                 temp=(float)adcx*(3.3/4096);
  17.                 if (temp > 2.6 & temp < 3)
  18.                
  19.                         GPIO_ResetBits(GPIOE,GPIO_Pin_5);
  20.        
  21.                 else
  22.                         GPIO_SetBits(GPIOE,GPIO_Pin_5);
  23.                 delay_ms(250);       
  24.         }
  25. }
复制代码

所有资料51hei提供下载:
test.zip (1.98 KB, 下载次数: 226)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:321034 发表于 2018-7-26 19:26 | 只看该作者
兄弟,我 用了 你的程序  红外模块上下移动,怎么灯不亮啊   
回复

使用道具 举报

板凳
ID:488090 发表于 2019-3-10 19:49 | 只看该作者
51dasttwbd 发表于 2018-7-26 19:26
兄弟,我 用了 你的程序  红外模块上下移动,怎么灯不亮啊

是不是线接错了
回复

使用道具 举报

地板
ID:505884 发表于 2019-4-6 18:46 | 只看该作者
你好   请问GPIO_ResetBits(GPIOE,GPIO_Pin_5);和GPIO_SetBits(GPIOE,GPIO_Pin_5);是啥意思啊?
回复

使用道具 举报

5#
ID:505884 发表于 2019-4-6 19:18 | 只看该作者
51dasttwbd 发表于 2018-7-26 19:26
兄弟,我 用了 你的程序  红外模块上下移动,怎么灯不亮啊

兄弟  为什么我的灯一直闪啊??
回复

使用道具 举报

6#
ID:546528 发表于 2019-5-24 18:26 | 只看该作者
asd1714485438 发表于 2019-4-6 18:46
你好   请问GPIO_ResetBits(GPIOE,GPIO_Pin_5);和GPIO_SetBits(GPIOE,GPIO_Pin_5);是啥意思啊?

ResetBit是复位就是PE5设置输出为0,SetBit是置位也就是PE5设置输出1的意思
回复

使用道具 举报

7#
ID:316613 发表于 2019-6-17 14:51 | 只看该作者
asd1714485438 发表于 2019-4-6 18:46
你好   请问GPIO_ResetBits(GPIOE,GPIO_Pin_5);和GPIO_SetBits(GPIOE,GPIO_Pin_5);是啥意思啊?

setbits  是 PE5值高, 前面那个是吧PE5置低
回复

使用道具 举报

8#
ID:551311 发表于 2019-8-9 15:39 | 只看该作者
asd1714485438 发表于 2019-4-6 19:18
兄弟  为什么我的灯一直闪啊??

你的问题解决了嘛,
a我的也是一直闪
回复

使用道具 举报

9#
ID:826505 发表于 2020-10-7 13:00 | 只看该作者
怎么连这些的
回复

使用道具 举报

10#
ID:939430 发表于 2021-6-17 17:20 | 只看该作者
你好,想请问下楼主,所用的模块的测量距离范围是多少?还有就是怎么定出temp > 2.6 & temp < 3?
另外这个模块不需要人为触发?它自动触发,一直发送和接收红外线吗?
回复

使用道具 举报

11#
ID:733381 发表于 2021-8-9 11:45 | 只看该作者

这个传感器就三根线,红的是5V 黑色的是地线 还有一根信号线,信号线接到你单片机定义的端口上
回复

使用道具 举报

12#
ID:978015 发表于 2021-11-6 17:38 | 只看该作者
线没接错,是不是我的sys.h文件里的代码不一样,led一直不亮
回复

使用道具 举报

13#
ID:555149 发表于 2022-2-15 14:41 | 只看该作者
官方手册里这玩意的电压与测距曲线是非线性的,通常是分段一阶函数来计算测距值,我用matlab计算了一段函数,之后测距很不准确,你们有这种现象吗
回复

使用道具 举报

14#
ID:971 发表于 2022-2-17 11:41 | 只看该作者

怎么连这些的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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