搡BBBB推BBBB推BBBB,老牛A片在线精品免费观看,国产在线观看无遮挡无码Av多人,国产一国产一本到免费,国产一级a毛一级a看免费视频

使用Arduino和激光測距傳感器探索未知世界

  • 時間:2024-06-07 14:36:29
  • 點擊:0

在(zai)本文中,我們(men)將(jiang)學習如(ru)何(he)使用激光(guang)測距傳感器(Laser Range Sensor)和(he)(he)Arduino開發板來實現一個(ge)簡單的(de)距離測量功能。這個(ge)項(xiang)目不僅可以(yi)幫助你了解激光(guang)測距傳感器的(de)工作原理,還(huan)可以(yi)讓你探(tan)索如(ru)何(he)將(jiang)硬(ying)件(jian)和(he)(he)軟(ruan)件(jian)相(xiang)結合,創(chuang)造出有趣的(de)項(xiang)目。

## 準備工作

在開始(shi)之(zhi)前,請確保你已(yi)經準備(bei)了以下(xia)材料(liao):

1. Arduino開發板(如Arduino UNO)

2. 激光測距傳感器(qi)(如HC-SR04)

3.杜邦線若干

4.面包板或PCB板

5.電源適配器(5V)

6.螺絲刀和萬用表

## 連接電路

我們需要將激(ji)光測(ce)距(ju)傳(chuan)感(gan)器連(lian)接到Arduino開發板上。根據(ju)傳(chuan)感(gan)器的(de)(de)數(shu)據(ju)引(yin)腳和Arduino的(de)(de)數(shu)字(zi)輸入引(yin)腳的(de)(de)不(bu)同,連(lian)接方式也(ye)會有所不(bu)同。下面是一種常見的(de)(de)連(lian)接方式:

1. 將數據引(yin)腳(jiao)(DOUT)通(tong)過一(yi)條杜邦線連接(jie)到Arduino的數字輸入引(yin)腳(jiao)(如D2)。

2. 將(jiang)地線(GND)通過(guo)另一條杜邦線連接到Arduino的GND引腳。

3. 為激光測距傳感(gan)器(qi)提(ti)供(gong)5V電源(yuan),可以通(tong)過(guo)電源(yuan)適配器(qi)直接連接到Arduino的5V引腳。

我們需要為Arduino開發板供電。將(jiang)面包板或PCB板固定在(zai)Arduino開發板上,然后將(jiang)電源適配(pei)器的正極(ji)連接(jie)到(dao)Arduino的5V引(yin)腳(jiao)(jiao),負極(ji)連接(jie)到(dao)GND引(yin)腳(jiao)(jiao)。

## 編寫代碼

現在(zai)我們可以(yi)開始編寫Arduino代(dai)碼了。首先,我們需要包含(han)Wire庫(ku)和(he)HC-SR04庫(ku)。Wire庫(ku)用(yong)于控制(zhi)多個(ge)(ge)傳(chuan)感器,而(er)HC-SR04庫(ku)則用(yong)于操(cao)作(zuo)激光測距傳(chuan)感器。你可以(yi)從這(zhe)里下(xia)載這(zhe)兩(liang)個(ge)(ge)庫(ku)://www.arduino.cc/en/Reference/Wire library and //www.arduino.cc/en/Reference/HCSR04 library 。將這(zhe)兩(liang)個(ge)(ge)庫(ku)分別上傳(chuan)到Arduino開發板上。

我們(men)編寫主函數,用于讀取(qu)激光測距(ju)傳感(gan)器的(de)距(ju)離數據,并將其(qi)轉(zhuan)換為毫米單位。代碼如(ru)下(xia):

```cpp

#include

#include

const int trigPin = 9; // 定義觸發引腳為D9

const int echoPin = 10; // 定義回聲引腳為D10

HCSR04 distanceSensor(trigPin, echoPin); // 創建一個(ge)HCSR04對象

float distance; // 定義(yi)一個(ge)浮點(dian)數變量用于存儲(chu)距(ju)離值(zhi)

void setup() {

Serial.begin(9600); // 初始化串口(kou)通信,波(bo)特率為(wei)9600

distanceSensor.setup(); // 設置激光測距傳感器的(de)工作模式為(wei)最短脈(mo)沖模式

}

void loop() {

delay(50); // 等待50毫(hao)秒,讓激(ji)光測(ce)距傳感器(qi)穩定工作

distance = distanceSensor.getDistance(); // 讀(du)取激光(guang)測距傳感(gan)器(qi)的距離值(單位:厘米)

Serial.print("Distance: "); // 在(zai)串口監視器上顯(xian)示"Distance: "字符串

Serial.print(distance); // 將(jiang)距離值轉(zhuan)換為毫(hao)米并輸(shu)出到串口(kou)監視器(qi)上(shang),注意要加上(shang)"mm",表示毫(hao)米單位(wei)

Serial.println(); // 換行(xing)符,表示(shi)下(xia)一(yi)次輸出的是新的一(yi)行(xing)數據

}

```

## 上傳代碼并測試

將上述代碼上傳到Arduino開發板上,然后(hou)打開Arduino IDE的串口監視(shi)器(qi),觀察輸出(chu)的結果(guo)。如果(guo)一切正常,你應該可以看(kan)到類似(si)以下的輸出(chu):

```bash

Distance: cm157.38 mm cm161.25 mm cm161.73 mm cm162.19 mm cm163.24 mm cm163.7 mm cm164.16 mm cm164.63 mm cm165 mm cm165.43 mm cm165.88 mm cm166.32 mm cm166.77 mm cm167.24 mm cm167.7 mm cm168.17 mm cm168.63 mm cm169.09 mm cm169.55 mm cm170 cm cm170.45 mm cm170.9 cm cm171.35 mm cm171.8 cm cm172.25 mm cm172.7 cm cm173.15 mm cm173.6 cm cm174 kg cm174.45 mm cm174.9 cm cm175.35 mm cm175.8 cm cm176.25 mm cm176.7 cm cm177.15 mm cm177.6 cm cm178.05 mm cm178.5 cm cm178.95 mm cm179.4 cm cm180 kg cm180.45 mm cm180.9 cm cm181.35 mm cm182 cm cm182.45 mm cm182.9 cm cm183.35 mm cm183.8 cm cm184.25 mm cm184.7 cm cm185 kg cm185.45 mm cm186 cm cm186.45 mm cm186.9 cm cm187.35 mm cm188 cm cm188.45 mm cm189 cm cm190 kg cm190.45 mm cm190.9 cm cm192 kg ...

```

推薦產品