找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12796|回復: 13
收起左側

紅外測距傳感器模塊GP2Y0A41SK0F的簡單測試程序

  [復制鏈接]
ID:310466 發(fā)表于 2018-4-17 22:10 | 顯示全部樓層 |閱讀模式
畢業(yè)設計要用到這個紅外測距模塊,收到貨后簡單寫了個測試程序,當物體與模塊的距離大約在4cm左右時led會亮起

實物圖:

IMAG0203.jpg 0.jpg
單片機源程序如下:
  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 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:321034 發(fā)表于 2018-7-26 19:26 | 顯示全部樓層
兄弟,我 用了 你的程序  紅外模塊上下移動,怎么燈不亮啊   
回復

使用道具 舉報

ID:488090 發(fā)表于 2019-3-10 19:49 | 顯示全部樓層
51dasttwbd 發(fā)表于 2018-7-26 19:26
兄弟,我 用了 你的程序  紅外模塊上下移動,怎么燈不亮啊

是不是線接錯了
回復

使用道具 舉報

ID:505884 發(fā)表于 2019-4-6 18:46 | 顯示全部樓層
你好   請問GPIO_ResetBits(GPIOE,GPIO_Pin_5);和GPIO_SetBits(GPIOE,GPIO_Pin_5);是啥意思?
回復

使用道具 舉報

ID:505884 發(fā)表于 2019-4-6 19:18 | 顯示全部樓層
51dasttwbd 發(fā)表于 2018-7-26 19:26
兄弟,我 用了 你的程序  紅外模塊上下移動,怎么燈不亮啊

兄弟  為什么我的燈一直閃??
回復

使用道具 舉報

ID:546528 發(fā)表于 2019-5-24 18:26 | 顯示全部樓層
asd1714485438 發(fā)表于 2019-4-6 18:46
你好   請問GPIO_ResetBits(GPIOE,GPIO_Pin_5);和GPIO_SetBits(GPIOE,GPIO_Pin_5);是啥意思?

ResetBit是復位就是PE5設置輸出為0,SetBit是置位也就是PE5設置輸出1的意思
回復

使用道具 舉報

ID:316613 發(fā)表于 2019-6-17 14:51 | 顯示全部樓層
asd1714485438 發(fā)表于 2019-4-6 18:46
你好   請問GPIO_ResetBits(GPIOE,GPIO_Pin_5);和GPIO_SetBits(GPIOE,GPIO_Pin_5);是啥意思。

setbits  是 PE5值高, 前面那個是吧PE5置低
回復

使用道具 舉報

ID:551311 發(fā)表于 2019-8-9 15:39 | 顯示全部樓層
asd1714485438 發(fā)表于 2019-4-6 19:18
兄弟  為什么我的燈一直閃??

你的問題解決了嘛,
a我的也是一直閃
回復

使用道具 舉報

ID:826505 發(fā)表于 2020-10-7 13:00 | 顯示全部樓層
怎么連這些的
回復

使用道具 舉報

ID:939430 發(fā)表于 2021-6-17 17:20 | 顯示全部樓層
你好,想請問下樓主,所用的模塊的測量距離范圍是多少?還有就是怎么定出temp > 2.6 & temp < 3?
另外這個模塊不需要人為觸發(fā)?它自動觸發(fā),一直發(fā)送和接收紅外線嗎?
回復

使用道具 舉報

ID:733381 發(fā)表于 2021-8-9 11:45 | 顯示全部樓層

這個傳感器就三根線,紅的是5V 黑色的是地線 還有一根信號線,信號線接到你單片機定義的端口上
回復

使用道具 舉報

ID:978015 發(fā)表于 2021-11-6 17:38 | 顯示全部樓層
線沒接錯,是不是我的sys.h文件里的代碼不一樣,led一直不亮
回復

使用道具 舉報

ID:555149 發(fā)表于 2022-2-15 14:41 | 顯示全部樓層
官方手冊里這玩意的電壓與測距曲線是非線性的,通常是分段一階函數來計算測距值,我用matlab計算了一段函數,之后測距很不準確,你們有這種現(xiàn)象嗎
回復

使用道具 舉報

ID:971 發(fā)表于 2022-2-17 11:41 | 顯示全部樓層

怎么連這些的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表