課件
第③課:超聲波測距
【課前準備】
教學內容:
1、回顧上節課知識點;
2、了解超聲波模塊的基本原理;
3、學習超聲波模塊的基本控制程序;
4、學習使用超聲波模塊來測量距離;
學習目的:
學會使用超聲波的程序設置
物料準備:
電腦、Arduino智能套件
【內容講解】
1、
器材簡介
超聲波模塊:
(1)工作電壓:5V
(2)有效探測距離:2Mm~2.5m
(3)感應角度範圍:15°
(4)超聲波傳感器有四個引腳:GND、VCC、Trig、Echo。Trig為觸發引腳.
(5)Echo為數據接收引腳。
超聲波傳感器及轉接板是利用超聲波的特性而研製而成的傳感器。超聲波接收到觸發信號後,模塊自動發出8個40KHZ的方波,同時開始計時並自動監測是否有信號返回,通過記錄超聲波從開始發送到接收回波間隔,來判斷前方障礙物的距離。
超聲波傳感器有兩個信號引腳:Trig引腳和Echo引腳。Trig引腳是觸發引腳,Echo引腳是信號接收引腳。
先向Trig引腳發送時長不小於10μs的高電平,觸發超聲波模塊;
觸發後,模塊會自動發射8個40KHZ的方波,並自動檢測是否有信號返回;
如果有信號返回,則通過Echo引腳輸出一個高電平,高電平持續的時間是超聲波從發射到接收的時間。
超聲波傳感器測試距離= 高電平持續時間 X 340m/s ÷ 2(音速是介質中微弱壓強擾動的傳播速度,其大小因媒質的性質和狀態而異。空氣中的音速在1個標準大氣壓和15℃的條件下約為340m/秒)
pulseIn()函數:
pulseIn()函數是系統內建函數,用來讀取一個引腳的脈衝(HIGH或LOW)。
例如:
如果函數value的值是HIGH,pulseIn()會等待引腳變為HIGH開始計時,再等待引腳變為LOW時停止計時。返回脈衝的持續時間單位為μs。
(1)pulseIn(pin,value);
(2)pulseIn(pin,value,timeout);
pin:要進行脈衝計時的引腳號
value:要讀取的脈衝類型,HIGH或LOW
timeout(可選):指定脈衝計數的等待時間,單位為μs,默認值是1s。
2、項目效果概述
通過改變超聲波模塊前方的距離,通過串口監視器來實時顯示。
【項目搭建】
電路搭設:將超聲波模塊連接至主板相應的接口上,如下圖所示。
搭設難點:注意Trig和Echo對應的接口。
項目一:距離的測量
電路搭建:
超聲波模塊
Trig
3
Echo
2
GND
GND
VCC
VCC
程序設計:
const int Trig = 3; //定義串口
const int Echo = 2;
int distance; //定義變量,用來表示距離
void setup() {
pinMode(Trig,OUTPUT); //設置串口模式
pinMode(Echo,INPUT);
Serial.begin(9600); //設置波特率
}
void loop() {
digitalWrite(Trig,LOW); //拉低引腳
delayMicroseconds(2);
digitalWrite(Trig,HIGH); //給Trig引腳10us高電平
delayMicroseconds(10);
digitalWrite(Trig,LOW); //再次拉低引腳
distance = pulseIn(Echo,HIGH)/58.00; //用過測定Echo引腳高電平的持續時間來計算前方距離
Serial.print(distance); //列印至串口監視器
Serial.println("cm");
delay(100);
}
【課後總結】
1、了解超聲波模塊的時序;
2、學會使用pulseIn()函數;
3、學會超聲波測距的原理。
往期課件
大顆粒9656-卡車
百變工程:風力發電站
幼兒編程套裝--自動道閘
9686-旋轉飛椅
wedo2.0-轎車(帶轉彎)
青少年一二級等級考試-起重機
全國青少年等級考試四級-課1:讓舵機動起來
- 今日 -
推薦
主營國產產品系列
1、兼容樂高全系列產品。生活與結構、百變工程、管道遊戲、趣味機械 、9686、wedo2.0、EV6。
2、中國機器人技術等級考試一二級、三四級。
3、大顆粒教具零配件,散件,PF電機系列。
渠道批發,支持一件代發
計劃採購的老師請加銷售微信
走過路過,點個 在看 唄
能點個贊就更好啦~