婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

Arduino項(xiàng)目式編程教學(xué)第四章——超聲波測(cè)距_arduino超聲波測(cè)距,HCSR04超聲波傳感器

作者:佚名    文章來源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):    更新時(shí)間:2024/11/2

硬件清單
一、超聲波測(cè)距原理
二、HCSR04超聲波傳感器的使用
三、LCD1602液晶顯示屏的使用
1.Arduino上的I2C通信協(xié)議
2.使用LCD1602液晶顯示屏顯示“Hello World!”字符
四、完成超聲波測(cè)距
五、總結(jié)

硬件清單

 

一、超聲波測(cè)距原理

超聲波測(cè)距原理詳解 
我們所使用的超聲波傳感器型號(hào)為HCSR04,可觀察到他有兩個(gè)“眼睛”狀的部件,兩個(gè)部件的作用一樣,均可發(fā)射接收超聲波,并且按照上述原理圖進(jìn)行工作。
首先傳感器發(fā)射超聲波,并計(jì)時(shí),當(dāng)超聲波接觸到障礙物會(huì)被反射,當(dāng)傳感器接收到反射波,計(jì)時(shí)結(jié)束,然后利用距離、速度、時(shí)間公示進(jìn)行計(jì)算,得到傳感器到障礙物間的距離。
其具體工作原理簡單了解即可,并不影響后述對(duì)超聲波傳感器的使用。
HCSR04超聲波傳感器 
因此HCSR04超聲波傳感器的四個(gè)引腳的作用就比較明顯了,除了VCC接正極、GND接負(fù)極外,還有兩個(gè)引腳“Trig”及“Echo”,其中“Trig”用于控制發(fā)射超聲波,“Echo”用于接收反射波,所以“Trig”所接引腳應(yīng)為輸出,“Echo”所接引腳應(yīng)為輸入,因此在后續(xù)接線時(shí)可以把兩個(gè)引腳分別接到兩個(gè)數(shù)字端口,在端口初始化時(shí)分別設(shè)置輸入和輸出即可。

二、HCSR04超聲波傳感器的使用

接下來將HCSR04超聲波傳感器與Arduino進(jìn)行連接,除了VCC及GND分別接正負(fù)極外,這里“Trig”與數(shù)字端口D5連接,“Echo”與數(shù)字端口D4連接,如下圖所示:
HCSR04超聲波傳感器與Arduino進(jìn)行連接 

并且確定安裝的庫文件是否一致,不同的開發(fā)者貢獻(xiàn)的庫文件不同,調(diào)用方法的名稱也就不同,因此如果與本文按裝的庫文件不同的話,大概率會(huì)報(bào)錯(cuò),建議安裝與下圖一致的庫文件。
 

將超聲波傳感器與Arduino板連接之后,繼續(xù)完成以下程序:

//此程序功能為將SR04超聲波傳感器測(cè)的的距離數(shù)值,通過串口進(jìn)行輸出
#include<HCSR04.h>  //導(dǎo)入超聲波SR04庫
HCSR04 ultrasonic(5,4);  //聲明一個(gè)對(duì)象,其名為ultrasonic(自定義的名稱)
                      //4號(hào)為“Echo”,5號(hào)為“Trig”
void setup()
{
 pinMode(4, INPUT);  //設(shè)置“Echo”接入的引腳為輸入
 pinMode(5, OUTPUT);  //設(shè)置“Trig”接入的引腳為輸出
 Serial.begin(9600);  //串口監(jiān)視器初始化
}
int distance;  //定義一個(gè)名為“distance”的變量,用于存放檢測(cè)的距離數(shù)值
void loop()
{
 distance = ultrasonic.dist();  //調(diào)用了超聲波庫里的“dist()”方法,獲得檢測(cè)距離數(shù)值
 Serial.print(distance);  //輸出distance數(shù)值,且不換行
 Serial.println(" cm");  //緊接著輸出單位,且換行
}

將程序上傳之前先對(duì)以上程序的部分代碼塊進(jìn)行解釋:
1.“HCSR04 ultrasonic(4, 5)”我們稱之為對(duì)象的實(shí)例化,即HCSR04為超聲波庫的名稱,在其后自定義一個(gè)名稱“ultrasonic”(即超聲波的英文,可自定義任意名稱),并且不同的實(shí)例化過程有不同的參數(shù)要輸入,比如HCSR04后需要加入“Trig”和“Echo”所接引腳的端口號(hào),從而在后述程序中,如果要調(diào)用HCSR04庫內(nèi)的方法的話,僅需使用“ultrasonic.方法名()”,即可。
2.“distance = ultrasonic.dist()”這一代碼塊是調(diào)用了超聲波傳感器中獲取距離的方法“dist()”,與前面int定義的distance截然不同,int定義的變量可取任意名稱,僅為變量名,但“Distance()”為超聲波傳感器固定的方法。
接下來將上述程序上傳至Arduino板,并且打開串口監(jiān)視器,觀測(cè)所測(cè)的數(shù)值是否準(zhǔn)確。
 

另外HCSR04型號(hào)的超聲波傳感器的測(cè)量范圍官方聲稱為2cm ~ 450cm,因此超出這個(gè)范圍的數(shù)值會(huì)不準(zhǔn)確。

三、LCD1602液晶顯示屏的使用

LCD1602液晶顯示屏 
LCD1602液晶顯示屏 
首先觀察LCD1602顯示屏的正反面(其中反面為實(shí)物圖),當(dāng)前LCD顯示屏的驅(qū)動(dòng)板(即黑色的電路板)上共6個(gè)引腳,左側(cè)兩個(gè)相鄰的引腳直接連接即可,連接后便打開了背光;右側(cè)的引腳“GND接負(fù)極”“VCC接正極”已經(jīng)比較熟悉了,對(duì)于“SDA”及“SCL”引腳,我們先對(duì)此進(jìn)行詳細(xì)介紹。

1.Arduino上的I2C通信協(xié)議

 
I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。
每種不同的硬件都有不同的I2C地址,因此對(duì)于I2C通信的工作原理我們可以理解為:SCL(時(shí)鐘線)用于規(guī)定當(dāng)前時(shí)刻是否要傳輸數(shù)據(jù),就如同紅綠信號(hào)燈的作用,防止數(shù)據(jù)傳輸混亂;SDA(數(shù)據(jù)線)用于在給定時(shí)間內(nèi)給不同地址的硬件傳輸數(shù)據(jù),并且雙向傳輸。當(dāng)前我們僅需了解不同硬件的I2C地址即可輕松使用I2C通信。

2.使用LCD1602液晶顯示屏顯示“Hello World!”字符

 
在Arduino拓展板的復(fù)位鍵旁邊設(shè)有專門的I2C引腳,可直接對(duì)應(yīng)連接,當(dāng)然也可以“SDA - A4”“SCL - A5”的線序連接。
連接好之后觀察屏幕,在未寫入程序之前,LCD顯示屏的第一行應(yīng)該是可以顯示16個(gè)小方塊的,如果未顯示,則使用十字螺絲刀來擰動(dòng)顯示屏背板藍(lán)色的旋鈕,直到小方塊清晰可見。這也就是為什么LCD1602顯示屏標(biāo)有“1602”——此顯示屏可顯示16列2行字符(英文)。
本章使用的LCD顯示屏為I2C通信,因此使用的庫文件也需要對(duì)應(yīng),可看下圖使用的庫文件:
 

接下來完成下列程序:

//此程序功能為使用LCD1602輸出“Hello World!”字符
#include <Wire.h>  //導(dǎo)入I2C通信庫
#include <LiquidCrystal_I2C.h>  //導(dǎo)入LCD顯示屏庫
LiquidCrystal_I2C lcd(0x27,16,2);  //實(shí)例化一個(gè)名為“l(fā)cd”的對(duì)象,并且內(nèi)部有三個(gè)參數(shù)
                                   //分別為(I2C通信地址,顯示列數(shù),顯示行數(shù))
void setup()
{
  lcd.init();  //顯示屏初始化
  lcd.backlight();  //開啟顯示屏背光
  lcd.setCursor(0,0);  //設(shè)置顯示光標(biāo)位置(列,行)
  lcd.print("Hello, world!");  //顯示字符
  lcd.setCursor(0,1);  //在第一列,第二行開始顯示
  lcd.print("Successful!");  //顯示字符
}
void loop()
{
}

將以上程序上傳,并觀察是否顯示了兩行字符,分別是“Hello, world!”及“Successful!”;接下來對(duì)部分代碼塊進(jìn)行解釋:
1.“#include <Wire.h>”為導(dǎo)入I2C通信庫。
2.“#include <LiquidCrystal_I2C.h>”為導(dǎo)入本程序使用的基于I2C通信協(xié)議的LCD顯示屏庫。
3.“LiquidCrystal_I2C lcd(0x27,16,2)”為實(shí)例化了一個(gè)名為“l(fā)cd”的對(duì)象,并規(guī)定了LCD的I2C地址“0x27”,以及顯示屏顯示的列行數(shù)。
其他的代碼作用均已在程序中進(jìn)行了注釋解釋,則不再贅述。

四、完成超聲波測(cè)距

超聲波測(cè)距_arduino超聲波測(cè)距 
按照上圖將“SR04超聲波傳感器”及“LCD1602顯示屏”與Arduino板進(jìn)行連接;“Trig”與數(shù)字端口D5連接,“Echo”與數(shù)字端口D4連接,LCD顯示屏的引腳連接到IIC區(qū)域;然后完成以下程序:

//此程序功能為將超聲波傳感器測(cè)得的數(shù)值使用LCD進(jìn)行顯示
//并且在2cm-450cm內(nèi)正常顯示,超出范圍則輸出錯(cuò)誤提示
#include<HCSR04.h>  //導(dǎo)入超聲波SR04庫
#include<Wire.h>  //導(dǎo)入I2C通信庫
#include<LiquidCrystal_I2C.h>  //導(dǎo)入LCD顯示屏庫
LiquidCrystal_I2C  lcd(0x27,16,2);  //聲明使用LCD庫的對(duì)象
HCSR04 ultrasonic(5,4);  //聲明一個(gè)對(duì)象,其名為ultrasonic(自定義的名稱)
                      //4號(hào)為“Echo”,5號(hào)為“Trig”
void setup()      
{
  lcd.init();  //顯示屏初始化
  lcd.backlight();  //開啟LCD顯示屏背光
  pinMode(4,INPUT); //Echo引腳
  pinMode(5,OUTPUT); //Trig引腳
}
int distance;  //定義一個(gè)變量用于存儲(chǔ)超聲波測(cè)量的數(shù)值
void loop()
{
  distance = ultrasonic.dist();  //將超聲波測(cè)得的數(shù)值賦值給變量
  if(distance >= 2 && distance <= 450)  //判斷測(cè)得數(shù)值是否在測(cè)量范圍內(nèi)
  {
    lcd.setCursor(0,0);  //設(shè)置LCD顯示光標(biāo)位置
    lcd.print(distance);  //使用LCD顯示屏顯示distance的數(shù)值
    lcd.print(" cm");  //顯示單位“cm”
    delay(200);  //延時(shí)200毫秒
    lcd.clear();  //LCD顯示屏清屏,用于顯示下一個(gè)數(shù)值
  }
  else  //如果超出范圍
  {
    lcd.print("Wrong!");  //輸出“Wrong!”
    delay(200);
    lcd.clear();
  }
}

上述程序是對(duì)超聲波傳感器及LCD顯示屏的綜合應(yīng)用,并且使用了“if判斷”,其代碼塊的作用均已標(biāo)柱到代碼區(qū)域,不再詳細(xì)解釋。
將上述代碼進(jìn)行上傳,并測(cè)試是否可實(shí)現(xiàn)超聲波測(cè)距功能。

五、總結(jié)

本章使用SR04超聲波傳感器結(jié)合LCD液晶顯示屏來實(shí)現(xiàn)了超聲波測(cè)距的功能;并且對(duì)于超聲波傳感器及顯示屏都需要調(diào)用相應(yīng)的庫文件進(jìn)行控制,這里需要注意的是一定要使用正確的庫文件,因?yàn)楦黝愑布膸煳募鶃碜杂诓煌拈_發(fā)者,不同的開發(fā)者貢獻(xiàn)的庫會(huì)存在庫文件名稱及方法名不同的情況,當(dāng)然理論上不同的庫文件都能實(shí)現(xiàn)對(duì)硬件的控制,所以最好使用與本文相同的庫文件。完成本章的超聲波測(cè)距功能之后,不妨聯(lián)想汽車的倒車?yán)走_(dá)原理,其功能也是可以通過Arduino平臺(tái)來實(shí)現(xiàn)的,后續(xù)還會(huì)帶來更多硬件的使用方法及組合成完整功能的教學(xué)。

Tags:arduino,超聲波測(cè)距,超聲波  
責(zé)任編輯:admin
  • 上一個(gè)文章:
  • 下一個(gè)文章: 沒有了
  • 請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
    <button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • www国产无套内射com| 免费毛片小视频| 亚洲乱码日产精品bd在线观看| 亚洲国产成人精品无码区99| av噜噜在线观看| 无罩大乳的熟妇正在播放| 美女黄色片网站| 亚洲综合123| 99re精彩视频| 一区二区三区免费播放| 成人在线观看黄| 凹凸日日摸日日碰夜夜爽1| 狠狠干 狠狠操| 欧美在线一区视频| 热99这里只有精品| 黑人糟蹋人妻hd中文字幕| 国产真人做爰毛片视频直播| 日本免费a视频| 国产精品自拍合集| 欧美不卡在线播放| 好吊妞无缓冲视频观看| 国产二级片在线观看| 日韩a在线播放| 情侣黄网站免费看| 国产1区2区在线| 国产aaaaa毛片| 波多野结衣在线免费观看| 国产精品av免费| 97久久国产亚洲精品超碰热| 国产av熟女一区二区三区| 日本午夜激情视频| 欧美日韩在线观看不卡| 26uuu成人| 亚洲色欲久久久综合网东京热| 免费高清一区二区三区| 北条麻妃在线观看| 极品粉嫩美女露脸啪啪| 欧美成人精品免费| 手机看片福利盒子久久| 一个色综合久久| 免费av手机在线观看| 精品视频一区二区在线| 日本成人性视频| 黄色片视频在线免费观看| 日韩精品视频一二三| 成人亚洲免费视频| 亚洲色成人一区二区三区小说| 久热精品在线观看视频| 日韩成人三级视频| 亚欧激情乱码久久久久久久久| 丰满人妻一区二区三区53号| 成人一区二区三| 亚洲色成人www永久在线观看| 国产精品视频黄色| 国产精品12345| 警花观音坐莲激情销魂小说| 免费看a级黄色片| 欧美图片激情小说| 偷拍盗摄高潮叫床对白清晰| 久草青青在线观看| 欧美精品自拍视频| 真实国产乱子伦对白视频| 最新av免费在线观看| 亚洲国产精品毛片av不卡在线| 久久久久亚洲av无码专区喷水| av五月天在线| 黄色片视频在线播放| 97视频久久久| 国产乱子伦精品视频| 一级做a爱视频| 在线免费视频a| 九色91popny| 免费观看成人网| 国产情侣av自拍| 黑森林福利视频导航| 漂亮人妻被中出中文字幕| 国产亚洲精品久久久久久久| 欧美一级黄色录像片| 99精品视频国产| 99日在线视频| av不卡在线免费观看| 日韩精品视频网址| www.黄色网址.com| 免费在线精品视频| 欧美日韩视频免费在线观看| 国产精品嫩草影视| 毛毛毛毛毛毛毛片123| 久久国产精品免费观看| 国产精品久久成人免费观看| 狠狠干视频网站| 婷婷五月综合缴情在线视频| 免费在线a视频| 国产极品美女高潮无套久久久| 99视频在线免费| 欧美激情第四页| 欧美不卡在线播放| 在线观看av日韩| 日韩av福利在线观看| 2022中文字幕| 免费裸体美女网站| 久久久成人精品一区二区三区| 日本熟妇人妻xxxx| 欧美男女交配视频| 亚洲欧美日韩不卡| av网址在线观看免费| 国产精品99久久久久久大便| 免费超爽大片黄| 国产免费又粗又猛又爽| 麻豆映画在线观看| 日韩a在线播放| 日本一二三四区视频| 91视频最新入口| xxxx在线免费观看| 久久九九国产视频| 男人添女荫道口女人有什么感觉| 亚洲国产精品毛片av不卡在线| 国内精品国产三级国产aⅴ久| 国产精品无码人妻一区二区在线 | 日韩最新中文字幕| 亚洲国产精品久久久久婷蜜芽| xx欧美撒尿嘘撒尿xx| 男女猛烈激情xx00免费视频| 亚洲天堂av一区二区| jizzjizzxxxx| 日本熟妇人妻xxxx| 中文字幕第一页亚洲| 久久婷五月综合| 国产二区视频在线播放| 日本免费成人网| 亚洲免费视频播放| 无套内谢丰满少妇中文字幕| 污污视频网站免费观看| 成年人视频观看| 精品一二三四五区| 免费日韩在线观看| 免费观看中文字幕| 黄色高清视频网站| 亚洲国产精品女人| 国产免费xxx| 欧美日韩激情四射| japanese在线播放| 青青草综合视频| 成人在线观看毛片| 国产在线视频综合| 国产精品成人久久电影| 在线无限看免费粉色视频| 日本一级淫片演员| 17c丨国产丨精品视频| 日本一二三区视频在线| 9色视频在线观看| 黄色特一级视频| 五十路熟女丰满大屁股| 黄色一级视频在线播放| 免费 成 人 黄 色| 成人一区二区三| 亚洲无在线观看| 大陆极品少妇内射aaaaaa| 国产日韩欧美精品在线观看| 波多野结衣综合网| 天天干天天干天天干天天干天天干| 成人午夜激情av| 在线播放黄色av| 久久亚洲中文字幕无码| 亚州精品一二三区| 丰满女人性猛交| 丰满人妻中伦妇伦精品app| 久久久久久三级| 男人草女人视频| 国产又黄又猛视频| 51自拍视频在线观看| 精品人妻少妇一区二区| 天天摸天天碰天天添| 99sesese| 国产无限制自拍| 亚洲一区二区三区观看| 成人午夜视频免费观看| 日本激情视频在线| 日本中文字幕一级片| www.天天射.com| 久久99久久久久久| 99九九99九九九99九他书对| 国产a级片网站| 手机免费av片| 日本福利视频在线| 日本一级淫片演员| 日韩在线不卡一区| 亚洲人精品午夜射精日韩| 午夜免费福利网站| 五月天婷婷激情视频| 日韩欧美国产综合在线| 在线观看污视频| 超碰中文字幕在线观看| 黄色三级视频在线| 亚洲黄色a v| av免费观看大全| 超碰人人爱人人| 欧美三级午夜理伦三级老人| 最新天堂在线视频| 午夜免费福利在线| 久久久久免费精品|