超聲波感測器測距報警器

2021-10-23 22:41:12 字數 2574 閱讀 6076

hc-sr04超聲波測距模組;

lcd;

蜂鳴器;

qmc5883l電子羅盤模組;

步進機(可無)。

position.c(qmc5883l電子羅盤模組)

#include "lcd.h"

extern uchar buf[8]; //資料快取

//延時5us

void delay_5us()

//起始訊號

void qmc5883_start()

//停止訊號

void qmc5883_stop()

//傳送應答訊號

//入口引數:ack (0:ack 1:nak)

void qmc5883_sendack(bit ack)

//接收應答訊號

bit qmc5883_recvack()

//向iic匯流排傳送乙個位元組資料

void qmc5883_sendbyte(uchar dat)

qmc5883_recvack();

}//從iic匯流排接收乙個位元組資料

uchar qmc5883_recvbyte()

return dat;

}//寫入單位元組資料

void single_write_qmc5883(uchar reg_address,uchar reg_data)

//連續讀出qmc5883內部角度資料,位址範圍0x00~0x05

void multiple_read_qmc5883(void)

else

}qmc5883_stop(); //停止訊號

lcd1602_delay1ms(5);

}//初始化qmc5883

void init_qmc5883()

main.c(hc-sr04超聲波測距模組+蜂鳴器頻率報警)

#include #include #include "lcd.h"

#include "math.h"

#include "stdio.h"

typedef uint u16; //對資料型別進行宣告定義

typedef uchar u8;

sbit trig = p1^4;

sbit echo = p1^5;

sbit beep=p2^0; //蜂鳴器

uchar showp1="distance:";

uchar showp2="-offset:";

uchar code ascii[15] = ;//定義字元

static uchar disnum = 0; //顯示用指標

uint time=0;

unsigned long s=0;

bit flag =0;

uchar disbuff[4]=;

unsigned long sss=0;

uchar first=0,second=0,third=0,fourth=0,wan=0; //顯示變數

uchar buf[8]=0; //資料緩衝區

int x=0,y=0;

double angle_xy=0;

//蜂鳴器

void delay(u16 i)

void ring(long ss)

j++;

if(j==50)

}}void count(void)

else

if(s<=200)

else

}void zd0() interrupt 1//t0中斷用來計數器溢位,超過測距範圍

void startmodule()//啟動模組

void delayms(uint ms) }}

//顯示在lcd的資料取位

void conversion(uint temp_data)

void position()

else if(angle_xy>=1200&&angle_xy<1500)

else if(angle_xy>=2100&&angle_xy<2400)

else if(angle_xy>=3000&&angle_xy<3300)

else

//顯示偏移量

displayonechar(10,1,fourth);

displayonechar(11,1,third);

displayonechar(12,1,second);

displayonechar(13,1,'.');

displayonechar(14,1,first);

}void main(void)

position();

delayms(2); //方位

超聲波感測器 單介紹超聲波

超聲波是聲波的一部分,是人耳聽不見 頻率高於20khz的聲波,它和聲波有共同之處,即都是由物質振動而產生的,並且只能在介質中傳播 同時,它也廣泛地存在於自然界,許多動物都能發射和接收超聲波,其中以蝙蝠最為突出,它能利用微弱的超聲回波在黑暗中飛行並捕捉食物。但超聲還有它的特殊性質 如具有較高的頻率與較...

STM32驅動超聲波測距感測器

先貼 以後再補說明 tim icinittypedef tim5 icinitstructure void tim5 cap init u16 arr,u16 psc u8 tim5ch1 capture sta 0 輸入捕獲狀態 u16 tim5ch1 capture val 輸入捕獲值 定時器5...

樹莓派C語言超聲波感測器測距

分享乙個樹莓派超聲波測距教程。非常基礎的小製作,可以激發一下樹莓派或其它基礎嵌入式開發興趣。首先準備乙個超聲波感測器 這裡是hc hr04型 樹莓派及連線排線。參考對照表將感測器引腳與樹莓派連線,連線方式不唯一,一定仔細連線。感測器vcc引腳連線樹莓派5v引腳,gnd連線0v接地引腳,trig ec...