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

QQ登錄

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

搜索
查看: 9203|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

STM32單片機(jī)+SHARP 2Y0A21紅外測(cè)距模塊進(jìn)行測(cè)距的源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  通過(guò)  SHARP 2Y0A21 紅外測(cè)距模塊  進(jìn)行 測(cè)距  ,  要使用 ADC

  源程序 如下:
/*******************************************************************************
*                 
*                                        普中科技
--------------------------------------------------------------------------------
* 實(shí) 驗(yàn) 名                 : ADC轉(zhuǎn)換實(shí)驗(yàn)
* 實(shí)驗(yàn)說(shuō)明       : 通過(guò)printf打印AD檢測(cè)數(shù)據(jù) ,調(diào)節(jié)AD模塊旁邊的電位器 在串口助手上即可輸出電壓,
                                        見(jiàn)文件內(nèi)截圖
* 連接方式       :
* 注    意                 :         所用函數(shù)在頭文件.c文件內(nèi)
*******************************************************************************/


#include "public.h"
#include "printf.h"
#include "adc.h"
#include "systick.h"

int main()
{        
        u16 ad;
        u8 i;
        float adc;  //電壓
        float Distance; //距離
        adc_init();         //ADC初始化
        printf_init(); //printf初始化
        while(1)
        {
                //ad = ad>>2;//12位AD轉(zhuǎn)換成10位
                for(i=0;i<50;i++)//讀取50次的AD數(shù)值取其平均數(shù)較為準(zhǔn)確        
                {
                        ADC_SoftwareStartConvCmd(ADC1, ENABLE);
                        while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//轉(zhuǎn)換結(jié)束標(biāo)志位
                        ad=ad+ADC_GetConversionValue(ADC1);//返回最近一次ADCx規(guī)則組的轉(zhuǎn)換結(jié)果               
                }
                ad=ad/50;   //取平均值
               
                adc =(float)ad*(3.3/4096);
                Distance = (1/(ad*(0.0000954)+0.000502))-4;
               
                printf(" 電壓值= %f V \n",adc);
                printf(" 測(cè)量距離= %f cm \n",Distance );
                delay_ms(10000);                        
        }                        
}


全部資料51hei下載地址:
紅外測(cè)距.7z (1.4 MB, 下載次數(shù): 283)

評(píng)分

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

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:376360 發(fā)表于 2018-8-8 16:47 | 只看該作者
感謝分享!
回復(fù)

使用道具 舉報(bào)

板凳
ID:45290 發(fā)表于 2019-2-14 16:11 | 只看該作者
感謝分享!!
回復(fù)

使用道具 舉報(bào)

地板
ID:89134 發(fā)表于 2019-2-15 00:01 | 只看該作者
實(shí)測(cè)得的最長(zhǎng)距離有多少?
回復(fù)

使用道具 舉報(bào)

5#
ID:508312 發(fā)表于 2019-4-12 19:20 | 只看該作者
在哪里用到了紅外測(cè)距模塊
回復(fù)

使用道具 舉報(bào)

6#
ID:508312 發(fā)表于 2019-4-12 19:46 | 只看該作者
有電路連接圖嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:561958 發(fā)表于 2020-3-9 20:20 | 只看該作者
感謝分享。謝謝
回復(fù)

使用道具 舉報(bào)

8#
ID:316613 發(fā)表于 2020-11-14 13:40 | 只看該作者
好像不對(duì)
回復(fù)

使用道具 舉報(bào)

9#
ID:847574 發(fā)表于 2020-12-1 00:01 | 只看該作者
為什么我的數(shù)據(jù)不對(duì)啊
回復(fù)

使用道具 舉報(bào)

10#
ID:908677 發(fā)表于 2024-3-19 14:53 | 只看該作者
看完帖子都是電壓  測(cè)距在哪里啊
回復(fù)

使用道具 舉報(bào)

11#
ID:1135375 發(fā)表于 2024-11-3 14:12 | 只看該作者
小笨拙 發(fā)表于 2024-3-19 14:53
看完帖子都是電壓  測(cè)距在哪里啊

Distance = (1/(ad*(0.0000954)+0.000502))-4;
這個(gè)就是電壓轉(zhuǎn)化的距離呀
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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