十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章主要介紹“Python制作藍(lán)牙無(wú)線小車(chē)的方法是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Python制作藍(lán)牙無(wú)線小車(chē)的方法是什么”文章能幫助大家解決問(wèn)題。
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、高端網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)公司擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專(zhuān)才。
1.實(shí)驗(yàn)?zāi)康?/strong>
1. 學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡(jiǎn)單I/O 接口的方法。
2. 進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計(jì)方法。
3. 學(xué)習(xí)藍(lán)牙模塊的接線方法及其工作原理。
4. 學(xué)習(xí) L298N電機(jī)驅(qū)動(dòng)板模塊的接線方法。
5. 學(xué)習(xí)藍(lán)牙控制小車(chē)的工作原理。
2.所需元器件
TPYBoard開(kāi)發(fā)板一塊(主要MCU,能跑MicroPython的開(kāi)發(fā)板)
藍(lán)牙串口模塊一個(gè)
L298N電機(jī)驅(qū)動(dòng)板模塊一個(gè)
智能小車(chē)底盤(pán)一個(gè)
數(shù)據(jù)線一條
杜邦線若干
3.藍(lán)牙串口模塊原理
(1)引出接口包括EN,5V,GND,TX,RX,STATE,我們小車(chē)只用到RX,TX,GND,5V四個(gè)針腳。
(2)模塊默認(rèn)波特率位9600,默認(rèn)配對(duì)密碼為1234,默認(rèn)名稱(chēng)位為HC-06。
(3)led指示藍(lán)牙連接狀態(tài),閃爍表示沒(méi)有藍(lán)牙連接,常亮表示藍(lán)牙已連接并打開(kāi)了端口,當(dāng)我們用安卓手機(jī)軟件發(fā)送指令時(shí),通過(guò)串口給TPYBoard發(fā)送指令,TPYBoard收到指令通過(guò)L298BN模塊來(lái)驅(qū)動(dòng)小車(chē)前進(jìn),后退,向左,向右或者停止。
如下圖接線,5V 接TPYBoard的VIN, GND 為地線,TX接TPYBoard的RX(這用的是TPYBoard串口2,X3,X4)即X4,RX接TPYBoard的TX即X3。
4.學(xué)習(xí)L298N電機(jī)驅(qū)動(dòng)板模塊的接線方法
本模塊是2路的H橋驅(qū)動(dòng),所以可以同時(shí)驅(qū)動(dòng)兩個(gè)電機(jī),接法如圖所示使能ENA ENB之后,可以分別從IN1 IN2輸入PWM信號(hào)驅(qū)動(dòng)電機(jī)1的轉(zhuǎn)速和方向,可以分別從IN3 IN4輸入PWM信號(hào)驅(qū)動(dòng)電機(jī)2的轉(zhuǎn)速和方向。我們將電機(jī)1接口的OUT1與OUT2與小車(chē)的一個(gè)電機(jī)的正負(fù)極連接起來(lái),將電機(jī)2接口的OUT3與OUT2與小車(chē)的另一個(gè)電機(jī)的正負(fù)極連接起來(lái)。然后將兩邊的接線端子,即供電正極(中間的接線端子為接地)連接TPYboard的VIN,中間的接線端子即接地,連接TPYBoard的GND,In1-In4連接TPYBoard的Y1,Y2,Y3,Y4,通過(guò)Y1,Y2與Y3,Y4的高低電平,來(lái)控制電機(jī)的轉(zhuǎn)動(dòng),從而讓小車(chē)前進(jìn),后退,向左,向右。
接線ok后,編寫(xiě)main.py,給TOYBoard通電就ok了,下面是源代碼。
5.源代碼
import pyb from pyb import UART from pyb import Pin M2 = Pin('X3', Pin.IN) M3 = Pin('X4', Pin.IN) N1 = Pin('Y1', Pin.OUT_PP) N2 = Pin('Y2', Pin.OUT_PP) N3 = Pin('Y3', Pin.OUT_PP) N4 = Pin('Y4', Pin.OUT_PP) u2 = UART(2, 9600) while True: pyb.LED(2).on() pyb.LED(3).on() pyb.LED(4).on() _dataRead=u2.readall() if _dataRead!=None: #停止(讀取手機(jī)APP傳過(guò)來(lái)的指令,不同的軟件指令可能不同,可以自己設(shè)定,在這里是默認(rèn)的,下同) if(_dataRead.find(b'\xa5Z\x04\xb1\xb5\xaa')>-1): print('stop') N1.low() N2.low() N3.low() N4.low() #向左 elif(_dataRead.find( b'\xa5Z\x04\xb4\xb8\xaa')>-1): print('left') N1.low() N2.high() N3.high() N4.low() #向右 elif(_dataRead.find( b'\xa5Z\x04\xb6\xba\xaa')>-1): print('right') N1.high() N2.low() N3.low() N4.high() #后退 elif(_dataRead.find(b'\xa5Z\x04\xb5\xb9\xaa')>-1): print('back') N2.high() N1.low() N4.high() N3.low() #向前 elif(_dataRead.find( b'\xa5Z\x04\xb2\xb6\xaa')>-1): print('go') N1.high() N2.low() N3.high() N4.low()
關(guān)于“Python制作藍(lán)牙無(wú)線小車(chē)的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。