999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于樹莓派的超聲波避障小車

2018-01-04 11:06:12孫智勇戴文翔程文龍
電腦知識與技術 2018年30期

孫智勇 戴文翔 程文龍

摘要:如今越來越多人走出課本不拘泥于文字之上,他們更多的邊做邊學,樹莓派就是其中一個很好的例子,不少人會去拿樹莓派去控制小燈,或通過樹莓派來實現網頁對小車的控制,更有甚者用樹莓派來做智能家居。該文則介紹一個相對簡單些的利用超聲波來做避障小車,以樹莓派為核心通過它L298n的控制來控制小車,利用超聲波傳感器來實時監測小車與障礙物之間的距離,利用算法來實現避障

關鍵詞:超聲波傳感器;Raspberry;樹莓派

中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2018)30-0206-02

1 硬件組成

(1)避障小車硬件組成包括:小車底盤、4個車輪、四個直流電機、超聲波測距傳感器模塊、電源盒、移動電源(也可直接通過5v電源接口直接使用)、無線網卡、樹莓派。注:如果使用的板子是3個輪子的,則3個車輪中,兩個前輪由直流電機直接驅動,后輪選擇萬向輪。

(2)電源部分:包括四節1.5V(5號)電池,5000毫安移動電源。四節1.5V(5號)電池為L298n提供6V電壓,5000毫安移動電源為樹莓派提供穩定的5V電壓。

(3)驅動部分:包括小車底盤、L298n電機驅動、直流電機(2/4個)。3輪小車需要L298n驅動前輪,配合萬向輪實現前進、后退以及左右轉向。

(4)主控制部分:樹莓派。樹莓派通過L298n控制直流電機轉動,全方向達到移動的目的。樹莓連接超聲波測距模塊,以達到實時測量與障礙物的距離。從而可以做到小車再碰到障礙物之前能按預設避讓方式進行避讓,最終實現智能避讓。

(5)傳感器部分:超聲波測距傳感器模塊連與樹莓派,正常工作時,超聲波測距傳感器模塊的工作電壓為5V左右,電壓會下降0.1V左右。傳感器通過向空中發送超聲波脈沖并測量反彈所需的時間來工作。該值可以用于計算脈沖行進的距離進而產生信號,是樹莓派執行避讓語句。

注意點:找到距離的計算依賴于聲音的速度,這隨溫度而變化。腳本根據預定義的溫度計算要使用的正確值。如果需要可以更改此值,或者使用溫度傳感器動態測量該值。

2 軟件編譯

(1)定義接口控制輪子:

import RPi.GPIO as gpio

import time

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BCM)

zuoqian = 7

zuohou = 11

youqian = 15

youhou = 13

注:首先沒有HDMI線的人可以直接通過putty通過樹莓派ip來遠程登錄樹莓派,賬戶名為:pi,密碼為raspberry(密碼不可見)在樹莓派上首次使用引腳時,首先要通過sudo apt-get install python-dev指令安裝Python——dev(dev: 開發包,包含相關庫和頭文件,用于開發用),然后使用sudo pip install rpi.gpio指令安裝適用于Python的GPIO模塊。

接著你可以使用vim編譯器或者也是用nano編譯器,指令為:sudo vim +文件名.py或者sudo nano +文件名。py(注:樹莓派默認的是沒有安裝vim編譯器的,所以要通過sudo apt-get install -y vim指令安裝。而nano為大部分Linux系統的默認編譯器,還有兩種簡易方式,一種使用樹莓派的可視化界面,第二種是使用WinSCP直接進入樹莓派內部文件。

(2)初始化GPIO口:

def init():

gpio.setmode(gpio.BOARD)

gpio.setup(7,gpio.OUT)

gpio.setup(11,gpio.OUT)

gpio.setup(13,gpio.OUT)

gpio.setup(15,gpio.OUT)

注:gpio.setmode(gpio.BOARD)意思為gpio調用BOARD編號方式。

因為樹莓派需要通過L298n來控制直流電機,所以連接7,11,13,15這幾個GPIO端口且要為輸出端。而與紅外避障模塊相連GPIO端口,因為需要其收集的路況信息,所以設置為輸入端

(3)定義基礎方向:

def qianjin(timerun):

init()

gpio.output(7,True)

gpio.output(11,False)

gpio.output(15,True)

gpio.output(13,False)

time.sleep(timerun)

gpio.cleanup()

注:定義基礎方向時要注意L298n的安裝朝向,gpio7和gpio11應相對應接右邊,而gpio15及gpio13口應相對應左側,注意同側間可能會有與直流電機出現正負極順序錯誤的可能,極有可能形成左右輪轉向相反,小車方向控制不了的情況。

第一個(qianjin)代碼使得左右輪都問前進;同理后退(houtui)代碼的false與ture指令與第一個相反則形成后退。

def zuozhuan(timerun):

init()

gpio.output(7,False)

gpio.output(11,False)

gpio.output(15,True)

gpio.output(13,False)

time.sleep(timerun)

gpio.cleanup()

此條指令(左轉)則通過gpio.output(7,Fals),gpio.output(11,False) 兩個代碼使得左邊輪子停止而右邊的兩個gpio接口依舊正常使得右邊向前則形成的左轉,右轉也是同樣的道理在這里就不一一贅述了。

def tingzhi(timerun):

init()

gpio.output(7,False)

gpio.output(11,False)

gpio.output(15,False)

gpio.output(13,False)

time.sleep(timerun)

gpio.cleanup()

最后一個是(停止)指令四個gpio口的指令都為False,使得四輪子全部停止。即形成了指令。

最后我們要注意的是Python對空格極為敏感,有可能我們沒有觀察出來的地方沒對齊,或某處忘縮進就會造成程序錯誤。所以最好統一使用Tap鍵縮進,或者統一使用空格鍵。

(4)超聲波測距傳感器的連接與編輯:

import RPi.GPIO as gpio

import time

def distance():

gpio.setmode(gpio.BOARD) gpio.setup(12,gpio.OUT) gpio.setup(16,gpio.IN) gpio.output(12,True)

time.sleep(0.000015) gpio.output(12,False)

while not gpio.input(16):

pass

t1 = time.time()

while gpio.input(16):

pass

t2 = time.time()

return (t2-t1)*34000/2

gpio.cleanup()

return distance

print(distance())

注:通過gpio.output(12,True)指令發出觸發信號保持10us以上,從發現高電平時開始計時記為t1,當高電平結束時停止計時記為t2,由此可計算t1,t2的時間差從而通過公式:(t1-t2)*3400/2來計算出距離。

通過先定義小車前后左右的動作和測算距離后,我們就可以令小車進行距離判斷進行相應的動作了。

dis = int(checkdistance())

print(dis)

If dis<=30

print”distance less than 0.30m and back

Int()

houtui(1)

這只是定義了一個選擇更多的可以通過對距離的判斷來做。

3 結語

本文中的超聲波小車不過是樹莓派眾多實驗中的九牛一毛,但實驗中的步驟多相似之處,像編程語言的注意事項和工具等這些都是基礎也是需要加強的地方,所以我們要加強對Python和C++的學習,從中發現樂趣。

參考文獻:

[1] 胖若兩人.[樹莓派]樹莓派小車(三)Python控制小車(簡書網)

[2] 趙貴生.一起來玩樹莓派.www.sentdex.com(一工程師教程)

【通聯編輯:代影】

主站蜘蛛池模板: 国产高颜值露脸在线观看| 无码电影在线观看| 国产成人喷潮在线观看| 午夜小视频在线| 99ri精品视频在线观看播放| 一区二区三区在线不卡免费| 日韩欧美国产精品| 日韩高清在线观看不卡一区二区| 亚洲精品卡2卡3卡4卡5卡区| 欧美一区二区福利视频| 国产在线精品美女观看| 欧美国产成人在线| 国产精品午夜电影| 人妻免费无码不卡视频| 天堂va亚洲va欧美va国产| 91麻豆精品视频| 亚洲中字无码AV电影在线观看| 亚洲AⅤ无码日韩AV无码网站| 久久久久无码精品| 亚洲黄色网站视频| 强乱中文字幕在线播放不卡| 91亚洲视频下载| 爱爱影院18禁免费| 乱人伦99久久| 91精品啪在线观看国产91九色| 国禁国产you女视频网站| 欧美不卡二区| 亚洲日韩国产精品综合在线观看| 日韩黄色在线| 久久无码av一区二区三区| 国产伦片中文免费观看| 欧美天堂久久| 色亚洲成人| 精品欧美一区二区三区在线| 亚洲成年网站在线观看| 亚洲精品无码成人片在线观看| 久久无码高潮喷水| 91九色国产在线| 亚洲av无码人妻| 九九热这里只有国产精品| 国产成人在线无码免费视频| 91系列在线观看| 在线综合亚洲欧美网站| 亚洲综合婷婷激情| 91精品国产福利| 红杏AV在线无码| 久久婷婷国产综合尤物精品| 国产一区二区色淫影院| 69av免费视频| 国产丝袜一区二区三区视频免下载| 日韩小视频在线播放| 日韩免费毛片视频| 国产毛片基地| 亚洲清纯自偷自拍另类专区| 国产成人艳妇AA视频在线| 精品久久香蕉国产线看观看gif| 久久动漫精品| 成人综合网址| 国产人成在线观看| 亚洲v日韩v欧美在线观看| 成人精品免费视频| 亚洲综合精品香蕉久久网| 自慰网址在线观看| 国产成人欧美| 国产精品无码一二三视频| 日本精品视频一区二区| 国产精品久久久久无码网站| 久久伊人色| 国产综合在线观看视频| 国产69囗曝护士吞精在线视频| 午夜在线不卡| 亚洲天堂区| 国产精品无码AV片在线观看播放| 日韩精品视频久久| 精品人妻无码中字系列| 深爱婷婷激情网| 久久久91人妻无码精品蜜桃HD| 在线国产三级| 午夜福利无码一区二区| 国产一级α片| 成人欧美在线观看| 老司机精品久久|