找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 12631|回復(fù): 13
收起左側(cè)

紅外測(cè)距傳感器模塊GP2Y0A41SK0F的簡(jiǎn)單測(cè)試程序

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

實(shí)物圖:

IMAG0203.jpg 0.jpg
單片機(jī)源程序如下:
  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. }
復(fù)制代碼

所有資料51hei提供下載:
test.zip (1.98 KB, 下載次數(shù): 226)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

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

怎么連這些的
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

這個(gè)傳感器就三根線,紅的是5V 黑色的是地線 還有一根信號(hào)線,信號(hào)線接到你單片機(jī)定義的端口上
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

你的問(wèn)題解決了嘛,
a我的也是一直閃
回復(fù)

使用道具 舉報(bào)

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

setbits  是 PE5值高, 前面那個(gè)是吧PE5置低
回復(fù)

使用道具 舉報(bào)

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

ResetBit是復(fù)位就是PE5設(shè)置輸出為0,SetBit是置位也就是PE5設(shè)置輸出1的意思
回復(fù)

使用道具 舉報(bào)

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

兄弟  為什么我的燈一直閃??
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

是不是線接錯(cuò)了
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表