卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何用arduino制作超聲波測(cè)距模塊

超聲波測(cè)距是一種常見的測(cè)量方法,它通過發(fā)射超聲波,并依據(jù)回波時(shí)間計(jì)算出物體到探頭的距離。在arduino中,可以通過加一個(gè)超聲波測(cè)距模塊來實(shí)現(xiàn)測(cè)距,這樣可以知道一個(gè)東西移動(dòng)了多少距離等。本文將為大家介

超聲波測(cè)距是一種常見的測(cè)量方法,它通過發(fā)射超聲波,并依據(jù)回波時(shí)間計(jì)算出物體到探頭的距離。在arduino中,可以通過加一個(gè)超聲波測(cè)距模塊來實(shí)現(xiàn)測(cè)距,這樣可以知道一個(gè)東西移動(dòng)了多少距離等。本文將為大家介紹如何用arduino制作超聲波測(cè)距模塊。

一、超聲波測(cè)距模塊的選擇

超聲波測(cè)距模塊有很多種,本文選用的是US-100。US-100是一款小型的超聲波測(cè)距芯片,具有高精度、低功耗、高可靠性等優(yōu)點(diǎn)。其引腳為左右兩端為正極與地,中間為信號(hào)引腳,因此有兩種出發(fā)方式:電平觸發(fā)和串口觸發(fā)。

二、連線步驟

將超聲波測(cè)距模塊的trig(觸發(fā)信號(hào))和echo(輸出信號(hào))接到arduino開發(fā)板的2、3口上,并將正極和地接到相應(yīng)的位置上。下圖是實(shí)物連線3D圖:

三、程序編寫

1. 電平觸發(fā)方式

首先,需要將觸發(fā)端口設(shè)置為輸出OUTPUT,反饋端口設(shè)置為輸入INPUT,然后給電平即可。以下是電平觸發(fā)的完整代碼:

```

define EchoPin 3 // 設(shè)置輸出端口

define TrigPin 2 // 設(shè)置輸入端口

void setup()

{

(9600); // 設(shè)置串口速率為9600

pinMode(EchoPin, INPUT); // 將輸出端口設(shè)置為輸入模式

pinMode(TrigPin, OUTPUT); // 將輸入端口設(shè)置為輸出模式

}

void loop()

{

digitalWrite(TrigPin, LOW); // 向trig口發(fā)送低電平信號(hào)

delayMicroseconds(2); // 延時(shí)2us

digitalWrite(TrigPin, HIGH); // 向trig口發(fā)送高電平信號(hào)

delayMicroseconds(10); // 延時(shí)10us

digitalWrite(TrigPin, LOW); // 恢復(fù)低電平

float distance pulseIn(EchoPin, HIGH) / 58.00; // 計(jì)算距離

(distance); // 輸出距離值

(" cm"); // 輸出單位

delay(100); // 延時(shí)100ms

}

```

2. 串口觸發(fā)方式

使用串口觸發(fā)也可以實(shí)現(xiàn)超聲波測(cè)距。以下是部分代碼,可以自行編寫完整代碼:

```

const int trigPin 2;

const int echoPin 3;

void setup() {

(9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

long duration, inches, cm;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration pulseIn(echoPin, HIGH);

inches microsecondsToInches(duration);

cm microsecondsToCentimeters(duration);

(inches);

("in, ");

(cm);

("cm");

();

delay(100);

}

long microsecondsToInches(long microseconds) {

return microseconds / 74 / 2;

}

long microsecondsToCentimeters(long microseconds) {

return microseconds / 29 / 2;

}

```

四、測(cè)試結(jié)果

將程序編譯上傳到板子上后,打開軟件右上端的串口工具,就可以在串口工具的輸出框中看到距離超聲波測(cè)距模塊之間的距離??梢杂贸叽鐧z測(cè)是否正確。通過這種方法,我們可以輕松制作出一個(gè)簡(jiǎn)單的超聲波測(cè)距模塊,用于測(cè)量各種距離。

標(biāo)簽: