最近在做物聯網實訓,智慧型停車場專案用到了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赫茲的聲波稱為 超聲波 因其方向性好,穿透能力強,易於獲得較集中的聲能,在水中傳播距離遠,可用於測距 測速 清洗 焊接 碎石 殺菌消毒等。在醫學 軍事 工業 ...