㈠ 倒車雷達的超聲波發送模塊怎麼與單片機連接,接那個引腳
模塊的VCC GND,直接接入單片機的系統的VCC GND,收、發埠可以接單片機的任意兩個 I/o埠上,接好後在寫程序時,定義一下你所接的埠就行。
㈡ 超聲波探頭怎麼連接單片機
另外兩個引腳,一個是觸發控制信號輸入TRIG ,另一個是回響信號輸出ECHO,只要你的單片機有兩個引腳可以通過軟體控制,可以輸入輸出,就可以接上,沒有強制要接到哪兩個引腳上。
㈢ 超聲波感測器模塊為HC-SR40,它有四個引腳:VCC,GND,Trig,Echo,單片機為AT89C52,請問它們實物如何連接
VCC GND是電源,TRIG是控制端(輸入),ECHO是返回端(輸出)。
VCC GND外接電源正負極給感測器供電,TRIG、ECHO接單片機AT89C52的I/O埠,具體接哪個埠要根據電路和單片機內的程序設定來確定。
大致的過程是單片機給TRIG所接埠個高電平脈沖,超聲波發射模塊SR40開始發送超聲波,當收到反射波的時候,ECHO輸出有效信號,單片機檢測到該信號後,測量從TRIG觸發開始到接收到ECHO的時間差,即可換算出距離。
(3)超聲波模塊和單片機怎麼接擴展閱讀:
根據被檢測對象的體積、材質、以及是否可移動等特徵,超聲波感測器採用的檢測方式有所不同,常見的檢測方式有如下四種:
1、穿透式
發送器和接收器分別位於兩側,當被檢測對象從它們之間通過時,根據超聲波的衰減(或遮擋)情況進行檢測。
2、限定距離式
發送器和接收器位於同一側,當限定距離內有被檢測對象通過時,根據反射的超聲波進行檢測。
3、限定范圍式
發送器和接收器位於限定范圍的中心,反射板位於限定范圍的邊緣,並以無被檢測對象遮擋時的反射波衰減值作為基準值。當限定范圍內有被檢測對象通過時,根據反射波的衰減情況(將衰減值與基準值比較)進行檢測。
4、回歸反射式
發送器和接收器位於同一側,以檢測對象(平面物體)作為反射面,根據反射波的衰減情況進行檢測。
㈣ 怎樣把單片機與超聲波測距模塊蜂鳴器連接一起
超聲波測距模塊有二種,一種是輸入一個啟動脈沖,測量模塊輸出高電平的時間,需計算得出距離,另一種直接用串口讀數據,蜂鳴器一般用三極體驅動,如果單片機可以輸出20MA的電流,也可直接用IO管腳驅動,但聲音小一些,最好加一個限流電阻
㈤ 我買了個超聲波模塊,模塊有四個引腳的怎麼接啊請問有沒有相關的電路圖和程序基於AT89C52RC的超聲波測
2主要技術參數:
1:
使用電壓:DC5V2:靜態電流:小於2mA
3:電平輸出:高5V4
:電平輸出:底0V
5:感應角度:不大於15度
6:探測距離:2cm-450cm
7:高精度:可達0.3cm
8.PCB板大小:4.5*2.0CM
接線方式,VCC、trig(控制端)、echo(接收端)、GND
本產品使用方法:一個控制口發一個10US以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計時,當此口變為低電平時就可以讀定時器的值,此時就為此次測距的時間,方可算出距離.如此不斷的周期測,就可以達到你移動測量的值了~~
(1)採用IO觸發測距,給至少10us的高電平信號;
(2)模塊自動發送8個40khz的方波,自動檢測是否有信號返回;
(3)有信號返回,通過IO輸出一高電平,高電平持續的時間就是
超聲波從發射到返回的時間.測試距離=(高電平時間*聲速(340M/S))/2;
㈥ 超聲波模塊用什麼連接單片機
IO口連接單片機,超聲波模塊也就是幾個輸出口直接連接到單片機的IO口就行了!
㈦ 單片機如何接收超聲波感測器的信號
單片機和超聲換能器之間,應該是有發射電路和小信號放大電路。單片機控制發射電路發射,小信號放大電路接收到超聲換能器的信號,進行放大後接入單片機。至於要怎麼採集,採集的時間,要看你具體要實現的功能。
㈧ 這個51單片機和超聲波模塊怎麼連接呢(有圖)
看到你的板子上右下角沒有,那裡有一個電源跟GND,跟超聲波相接就好
還有你這個是串口通信的,你接P2口是模擬串口通信嗎?
㈨ 超聲波模塊如何把數據傳輸給單片機
超聲波與單片機之間的數據,並不是直接由超聲波模塊發送給單片機的,而是單片機通過超聲波一個觸發信號,從而得到超聲波的響應,根據這個響應來計算距離。
可以給給你一個程序,這個程序同時測試了兩個超聲波,你可以根據情況選一個,刪一個,顯示採用的是數碼管顯示,可以根據自己情況改寫。
#include <reg52.H> //器件配置文件
#include <intrins.h>
unsigned int time=0;
unsigned int times=0;
unsigned long S=0;
sbit la=P1^0;
sbit wela=P1^1;
sbit echo =P1^3; //echo
sbit tring =P1^2; //trig
sbit echo2 = P1^5;
sbit tring2 = P1^4;
sbit beep = P3^6;
bit stat = 1;
unsigned int beep_cnt = 0;
unsigned char flag = 0;
unsigned char qianwei1,wei1,shiwei1,gewei1;
unsigned char qianwei2,wei2,shiwei2,gewei2;
unsigned char aa = 0;
unsigned char leddata[]={
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
};
unsigned char leddatadot[] = {
0xbf, //"0"
0x86, //"1"
0xdb, //"2"
0xcf, //"3"
0xef, //"4"
0xed, //"5"
0xfd, //"6"
0x87, //"7"
0xFF, //"8"
0xEF, //"9"
};
void Display(unsigned long num);
void Conut(void){
unsigned short aa;
aa = 65535;
time= aa * times + TH0 * 256 + TL0;
times = 0;
TH0=0;
TL0=0;
S = (time * 1.845) / 100;
}
void init(){
TMOD=0x11;
TH0=0;
TL0=0;
ET0=1;
TR0=0;
EA=1;
}
void delay(unsigned char z){
int i, j;
for(i = 0; i < z; i++)
for(j = 0; j < 210; j++)
;
}
void start(){
if(flag % 2){
TH0 = 0;
TL0 = 0;
tring = 1;
delay(10);
tring = 0;
}else{
TH0 = 0;
TL0 = 0;
tring2 = 1;
delay(10);
tring2 = 0;
}
}
void beep_act(unsigned int a){
unsigned char i;
if(a < 40){
for(i = 0; i < 30; i++){
beep = 1;
delay(1);
beep = 0;
delay(1);
}
}else
if(a < 140){
for(i = 0; i < 3; i++){
beep = 1;
delay(1);
beep = 0;
delay(1);
}
}
}
void main(void){
init();
while(1){
start();
if(flag % 2){
while(!echo);
TR0=1;
while(echo);
TR0=0;
}else{
while(!echo2);
TR0=1;
while(echo2);
TR0=0;
}
Conut();
Display(S);
if(flag % 2)
beep_act(S);
flag++;
}
}
void Display(unsigned long num){
if(!(flag % 2)){
qianwei1 = num / 1000;
wei1 = (num / 100) % 10;
shiwei1 = (num / 10) % 10;
gewei1 = num % 10;
}else{
qianwei2 = num / 1000;
wei2 = (num / 100) % 10;
shiwei2 = (num / 10) % 10;
gewei2 = num % 10;
}
for(aa = 0; aa < 20; aa++){
wela=1;
P2=0xfe;
wela=0;
la=1;
P0 = leddata[qianwei2];
la=0;
delay(1);
wela=1;
P2=0xfd;
wela=0;
la=1;
P0=leddatadot[wei2];
la=0;
delay(1);
wela=1;
P2=0xfb;
wela=0;
la=1;
P0 = leddata[shiwei2];
la=0;
delay(1);
wela=1;
P2=0xf7;
wela=0;
la=1;
P0=leddata[gewei2];
la=0;
delay(1);
//behind led
wela=1;
P2=0xef;
wela=0;
la=1;
P0 = leddata[qianwei1];
la=0;
delay(1);
wela=1;
P2=0xdf;
wela=0;
la=1;
P0=leddatadot[wei1];
la=0;
delay(1);
wela=1;
P2=0xbf;
wela=0;
la=1;
P0 = leddata[shiwei1];
la=0;
delay(1);
wela=1;
P2=0x7f;
wela=0;
la=1;
P0=leddata[gewei1];
la=0;
delay(1);
}
}
/********************************************************/
void zd0() interrupt 1 {
TH0 = 0;
TL0 = 0;
times++;
}