您好,登錄后才能下訂單哦!
這篇文章主要介紹了python怎么制作藍牙+紅外循跡小車的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python怎么制作藍牙+紅外循跡小車文章都會有所收獲,下面我們一起來看看吧。
1.實驗目的
學習在PC機系統中擴展簡單I/O接口的方法。
進一步學習編制數據輸出程序的設計方法。
學習藍牙模塊的接線方法及其工作原理。
學習L298N電機驅動板模塊的接線方法。
學習藍牙控制小車的工作原理。
2.所需元器件
TPYBoardv102板子1塊
藍牙串口透傳模塊(HC-06)1個
L298N電機驅動板模塊1個
智能小車底盤1個
數據線1條
杜邦線若干
智能藍牙小車APP(Android版)點擊下載
3.藍牙串口模塊原理
(1)引出接口包括EN,5V,GND,TX,RX,STATE,我們小車只用到RX,TX,GND,5V四個針腳
(2)模塊默認波特率位9600,默認配對密碼為1234,默認名稱位為HC-06
(3)led指示藍牙連接狀態,閃爍表示沒有藍牙連接,常亮表示藍牙已連接并打開了端口,當我們用安卓手機軟件發送指令時,通過串口給TPYBoard發送指令,TPYBoard收到指令通過L298BN模塊來驅動小車前進,后退,向左,向右或者停止。
如下表接線:
藍牙模塊(HC-06) | TPYBoardv10x |
---|---|
5V | VIN(+5V) |
GND | GND |
RX | Y9(UART(3)-TX) |
TX | Y10(UART(3)-RX) |
4.四路紅外循跡模塊
(1)當模塊檢測到前方障礙物信號時,電路板上紅色指示燈點亮,同時OUT端口持續輸出低電平信號,該模塊檢測距離2~60cm,檢測角度35°,檢測距離可以通過電位器進行調節,順時針調電位器,檢測距離增加;逆時針調電位器,檢測距離減少。
(2)傳感器屬于紅外線反射探測,因此目標的反射率和形狀是探測距離的關鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大。
(3)傳感器模塊輸出端口OUT可直接與單片機IO口連接即可,也可以直接驅動一個5V繼電器模塊或者蜂鳴器模塊;連接方式:VCC-VCC、GND-GND、OUT-IO。
(4)比較器采用LM339,工作穩定。
(5)可采用3.3V-5V直流電源對模塊進行供電。當電源接通時,綠色電源指示燈點亮。
5.四路紅外感應探頭的安裝
尋跡的原理其實就光的吸收,反射和散射。大家都知道,白色反射所有顏色的光,而黑色吸收所有顏色的光,這就為小車尋跡提供了有力的科學依據。在小車的車頭上安裝上紅外探頭(我是安裝了四個),一字順序排開。哪個探頭接收不到反射或者散射回來的光時,說明這個探頭此時正在黑色的尋跡帶上。
6.判斷反饋的信號
如果要是正前方的探頭接收不到光,那么說明小車此時走在黑色的尋跡帶上。可以使小車直線行走。如果左面的探頭接收不到光,那么說明小車左面出現了黑色尋跡帶,此時小車應該執行左轉彎。右轉彎同左轉彎原理。如果要是小車前面,左面,右面三個方向全都接收不到光,或者是兩個方向上的探頭都接收不到光,到底是左轉彎,右轉彎還是繼續直行,這個就要看你自己在程序里怎么做判斷了。
7.探頭的安裝與接線
四路紅外探頭接線很簡單,雖然有十八根線,但是有十二根是三根三根的分成四組,一一對應接線,其余的六根,是VCC和GND。還有四根是接到TPYBoardv10x開發板的IO口上的,用于接收四路紅外循跡模塊反饋的信號。
接線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:表示藍牙模式 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)
9.智能藍牙小車APP的使用
下載安裝后,打開[藍牙智能小車]APP,進入操作界面。如下:
點擊左下角的桃心圖標,進入自定義編碼界面。通過這個界面,我們可以自定義操作界面中各個按鍵發出去的指令內容。
接下來,回到一開始的操作界面,點擊右下角的設置圖標,進行藍牙模塊的連接。首先先點擊[搜索藍牙設備],界面會自動加載搜索到的藍牙設備,當出現HC-06時,點擊進行連接。
如果是第一次連接,需要進行配對,配對的密碼默認1234。
提示連接成功后,我們就可以通過四個方向鍵來操縱智能藍牙小車了。
大家可以看到,右上角的圖標,可以進行藍牙模式和循跡模式的切換。當按下時,兩種模式來回切換。當處于循跡模式時,界面如下。
關于“python怎么制作藍牙+紅外循跡小車”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python怎么制作藍牙+紅外循跡小車”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。