|
1.實(shí)驗(yàn)?zāi)康?br />
學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡(jiǎn)單I/O接口的方法。
進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計(jì)方法。
學(xué)習(xí)藍(lán)牙模塊的接線方法及其工作原理。
學(xué)習(xí)L298N電機(jī)驅(qū)動(dòng)板模塊的接線方法。
學(xué)習(xí)藍(lán)牙控制小車的工作原理。
2.所需元器件
TPYBoardv102板子1塊
藍(lán)牙串口透?jìng)髂K(HC-06)1個(gè)
L298N電機(jī)驅(qū)動(dòng)板模塊1個(gè)
智能小車底盤1個(gè)
數(shù)據(jù)線1條
杜邦線若干
智能藍(lán)牙小車APP(Android版)點(diǎn)擊下載
1.png (562.74 KB, 下載次數(shù): 73)
下載附件
2017-11-15 13:10 上傳
3.藍(lán)牙串口模塊原理
2.png (142.34 KB, 下載次數(shù): 68)
下載附件
2017-11-15 13:10 上傳
(1)引出接口包括EN,5V,GND,TX,RX,STATE,我們小車只用到RX,TX,GND,5V四個(gè)針腳
(2)模塊默認(rèn)波特率位9600,默認(rèn)配對(duì)密碼為1234,默認(rèn)名稱位為HC-06
(3)led指示藍(lán)牙連接狀態(tài),閃爍表示沒有藍(lán)牙連接,常亮表示藍(lán)牙已連接并打開了端口,當(dāng)我們用安卓手機(jī)軟件發(fā)送指令時(shí),通過串口給TPYBoard發(fā)送指令,TPYBoard收到指令通過L298BN模塊來驅(qū)動(dòng)小車前進(jìn),后退,向左,向右或者停止。
如下表接線:
[td]藍(lán)牙模塊(HC-06) | TPYBoardv10x | 5V | VIN(+5V) | GND | GND | RX | Y9(UART(3)-TX) | TX | Y10(UART(3)-RX) |
4.四路紅外循跡模塊
3.jpg (59.75 KB, 下載次數(shù): 74)
下載附件
2017-11-15 13:11 上傳
(1)當(dāng)模塊檢測(cè)到前方障礙物信號(hào)時(shí),電路板上紅色指示燈點(diǎn)亮,同時(shí)OUT端口持續(xù)輸出低電平信號(hào),該模塊檢測(cè)距離2~60cm,檢測(cè)角度35°,檢測(cè)距離可以通過電位器進(jìn)行調(diào)節(jié),順時(shí)針調(diào)電位器,檢測(cè)距離增加;逆時(shí)針調(diào)電位器,檢測(cè)距離減少。
(2)傳感器屬于紅外線反射探測(cè),因此目標(biāo)的反射率和形狀是探測(cè)距離的關(guān)鍵。其中黑色探測(cè)距離最小,白色最大;小面積物體距離小,大面積距離大。
(3)傳感器模塊輸出端口OUT可直接與單片機(jī)IO口連接即可,也可以直接驅(qū)動(dòng)一個(gè)5V繼電器模塊或者蜂鳴器模塊;連接方式:VCC-VCC、GND-GND、OUT-IO。
(4)比較器采用LM339,工作穩(wěn)定。
(5)可采用3.3V-5V直流電源對(duì)模塊進(jìn)行供電。當(dāng)電源接通時(shí),綠色電源指示燈點(diǎn)亮。
5.四路紅外感應(yīng)探頭的安裝
尋跡的原理其實(shí)就光的吸收,反射和散射。大家都知道,白色反射所有顏色的光,而黑色吸收所有顏色的光,這就為小車尋跡提供了有力的科學(xué)依據(jù)。在小車的車頭上安裝上紅外探頭(我是安裝了四個(gè)),一字順序排開。哪個(gè)探頭接收不到反射或者散射回來的光時(shí),說明這個(gè)探頭此時(shí)正在黑色的尋跡帶上。
6.判斷反饋的信號(hào)
如果要是正前方的探頭接收不到光,那么說明小車此時(shí)走在黑色的尋跡帶上。可以使小車直線行走。如果左面的探頭接收不到光,那么說明小車左面出現(xiàn)了黑色尋跡帶,此時(shí)小車應(yīng)該執(zhí)行左轉(zhuǎn)彎。右轉(zhuǎn)彎同左轉(zhuǎn)彎原理。如果要是小車前面,左面,右面三個(gè)方向全都接收不到光,或者是兩個(gè)方向上的探頭都接收不到光,到底是左轉(zhuǎn)彎,右轉(zhuǎn)彎還是繼續(xù)直行,這個(gè)就要看你自己在程序里怎么做判斷了。
7.探頭的安裝與接線
四路紅外探頭接線很簡(jiǎn)單,雖然有十八根線,但是有十二根是三根三根的分成四組,一一對(duì)應(yīng)接線,其余的六根,是VCC和GND。還有四根是接到TPYBoardv10x開發(fā)板的IO口上的,用于接收四路紅外循跡模塊反饋的信號(hào)。
接線OK后,編寫main.py,給TPYBoard通電就ok了,下面是源代碼。
8.源代碼
- # main.py -- put your code here!
- import pyb
- from pyb import UART
- from pyb import Pin
- N1 = Pin('X1', Pin.OUT_PP)
- N2 = Pin('X2', Pin.OUT_PP)
- N3 = Pin('X3', Pin.OUT_PP)
- N4 = Pin('X4', Pin.OUT_PP)
- M1 = Pin('Y1', Pin.IN)
- M2 = Pin('Y2', Pin.IN)
- M3 = Pin('Y3', Pin.IN)
- M4 = Pin('Y4', Pin.IN)
- blue=UART(3,9600)
- mode='1'#1:表示藍(lán)牙模式 2:循跡模式
- def Stop():
- N1.low()
- N2.low()
- N3.low()
- N4.low()
- def Back():
- N1.high()
- N2.low()
- N3.high()
- N4.low()
- def Go():
- N1.low()
- N2.high()
- N3.low()
- N4.high()
- def Left():
- N1.high()
- N2.low()
- N3.low()
- N4.high()
- def Right():
- N1.low()
- N2.high()
- N3.high()
- N4.low()
- while True:
- if blue.any()>0:
- data=blue.read().decode()
- print(data)
- if data.find('0')>-1:
- #stop
- Stop()
- mode="1"
- print('stop')
- if data.find('1')>-1:
- Go()
- print('go')
- if data.find('2')>-1:
- Back()
- pyb.delay(500)
- Stop()
- if data.find('3')>-1:
- Left()
- pyb.delay(250)
- Stop()
- if data.find('4')>-1:
- Right()
- pyb.delay(250)
- Stop()
- if data.find('5')>-1:
- mode="1"
- Stop()
- if data.find('6')>-1:
- mode="2"
- else:
- if mode=="2":
- print('循跡模式')
- if(M1.value() and M2.value() and M3.value()):
- Stop()
- mode="1"
- if(M2.value() or M3.value()):
- pyb.LED(2).on()
- pyb.LED(3).off()
- pyb.LED(4).off()
- Go()
- if M1.value():
- pyb.LED(3).on()
- pyb.LED(2).off()
- pyb.LED(4).off()
- Right()
- pyb.delay(10)
- if M4.value():
- pyb.LED(4).on()
- pyb.LED(2).off()
- pyb.LED(3).off()
- Left()
- pyb.delay(10)
復(fù)制代碼
9.智能藍(lán)牙小車APP的使用
下載安裝后,打開[藍(lán)牙智能小車]APP,進(jìn)入操作界面。如下:
4.png (30.27 KB, 下載次數(shù): 72)
下載附件
2017-11-15 13:11 上傳
點(diǎn)擊左下角的桃心圖標(biāo),進(jìn)入自定義編碼界面。通過這個(gè)界面,我們可以自定義操作界面中各個(gè)按鍵發(fā)出去的指令內(nèi)容。如下:
5.png (52.02 KB, 下載次數(shù): 72)
下載附件
2017-11-15 13:11 上傳
點(diǎn)擊頁面下方的關(guān)于我們,可以加入我們的技術(shù)交流群和關(guān)注微信公眾號(hào)。如下:
6.png (86.65 KB, 下載次數(shù): 104)
下載附件
2017-11-15 13:12 上傳
接下來,回到一開始的操作界面,點(diǎn)擊右下角的設(shè)置圖標(biāo),進(jìn)行藍(lán)牙模塊的連接。首先先點(diǎn)擊[搜索藍(lán)牙設(shè)備],界面會(huì)自動(dòng)加載搜索到的藍(lán)牙設(shè)備,當(dāng)出現(xiàn)HC-06時(shí),點(diǎn)擊進(jìn)行連接。
7.png (26.78 KB, 下載次數(shù): 82)
下載附件
2017-11-15 13:12 上傳
如果是第一次連接,需要進(jìn)行配對(duì),配對(duì)的密碼默認(rèn)1234。
8.png (28.46 KB, 下載次數(shù): 74)
下載附件
2017-11-15 13:12 上傳
提示連接成功后,我們就可以通過四個(gè)方向鍵來操縱智能藍(lán)牙小車了。
大家可以看到,右上角的圖標(biāo),可以進(jìn)行藍(lán)牙模式和循跡模式的切換。當(dāng)按下時(shí),兩種模式來回切換。當(dāng)處于循跡模式時(shí),界面如下。
9.png (14.05 KB, 下載次數(shù): 67)
下載附件
2017-11-15 13:12 上傳
|
|