US 100超聲波測距

2021-10-09 13:40:18 字數 1862 閱讀 2278

最近在做物聯網實訓,智慧型停車場專案用到了us-100超聲波感測器,這裡給大家介紹一下us-100感測器的使用。

us-100超聲波測距模組可實現2cm ~ 4.5m的非接觸測距功能,擁有2.4 ~5.5v的寬電壓輸入範圍,靜態功耗低於2ma,自帶溫度感測器對測距結果進行校正,同時具有gpio,串列埠等多種通訊方式,內帶看門狗,工作穩定可靠。

1.初始化串列埠

init_serial("/dev/ttysac1",9600);

2.向管腳寫入0x55(9600)

write(fd,,1);

3.等待模組返回測距資料

sleep(1) ==> usleep(...)

4.讀取模組返回的資料

char s[2];

read(fd,s,2);

dis=s[0]*256+s[1];

注意乙個問題:返回速度非常快,延時1秒可能你要等一會,接受到你想要的資料

#include

#include

#include

#include

#include

#include

#include

#include

#include

/* 串列埠初始化函式

/dev/ttysac1

/dev/ttysac2

/dev/ttysac3

以上的埠號 -. com

speed ——》 波特率 -》 9600

*/int

init_serial

(char

*com,

int speed)

struct termios t;

t.c_cflag |

=(cread | clocal)

;//本地模式,可接受資料

t.c_cflag &

=~cstopb;

//停止位1

t.c_cflag &

=~csize;

//清空資料位

t.c_cflag |

= cs8;

//設定8位資料位

t.c_cflag &

=~parenb;

//不要奇偶校檢

t.c_cflag &

=~crtscts;

//不要流控

//設定波特率

switch

(speed)

//清空輸入快取區內容

tcflush

(fd,tciflush)

;//設定串列埠屬性

tcsetattr

(fd,tcsanow,

&t);

return fd;

}int

main

(void

)return dis/10;

}

實物:

測距成功:

開發板:gec6818

感測器:us-100

軟體:source insight+ubuntu 18.04.4+securecrt

基於STM32F4的US 100超聲波測距

開發板是乙個叫icore的板子,但是晶元是f4的,總體大同小異,只是引腳定義不一樣,改一改就可以直接用。先拔掉跳線帽轉到串列埠觸發模式下,通過給感測器傳送0x55就可以接收到距離資料,串列埠中斷裡面拿兩個數放到陣列裡面計算就可以了 distance.c檔案 void usart6 init u32 ...

超聲波測距程式

利用51微控制器實現超聲波測距,也是大二做得,當時沒有照相機,無法提供 比較遺憾,這個程式,有很多問題,但是還是實現了測距,誤差兩厘公尺,範圍從20cm 500cm include define uchar unsigned char define uint unsigned int define ...

超聲波測距初識

人類耳朵能聽到的聲波頻率為20hz 20khz。當聲波的振動頻率大於20khz或小於20hz時,我們便聽不見了。因此,我們把頻率高於20000赫茲的聲波稱為 超聲波 因其方向性好,穿透能力強,易於獲得較集中的聲能,在水中傳播距離遠,可用於測距 測速 清洗 焊接 碎石 殺菌消毒等。在醫學 軍事 工業 ...