本篇內(nèi)容介紹了“Micropython如何DIY藍(lán)牙智能小車”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為紅山企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,紅山網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
1.實(shí)驗(yàn)?zāi)康?/p>
1.學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡單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)牙控制小車的工作原理。
2.所需元器件
TPYBoard板子一塊
藍(lán)牙串口模塊一個(gè)
L298N電機(jī)驅(qū)動(dòng)板模塊一個(gè)
智能小車底盤一個(gè)
數(shù)據(jù)線一條
杜邦線若干
3.藍(lán)牙串口模塊原理
(1)引出接口包括EN,5V,GND,TX,RX,STATE,我們小車只用到RX,TX,GND,5V四個(gè)針腳。
(2)模塊默認(rèn)波特率位9600,默認(rèn)配對密碼為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),后退,向左,向右或者停止。
如下圖接線,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ī),接法如圖所示使能ENAENB之后,可以分別從IN1IN2輸入PWM信號驅(qū)動(dòng)電機(jī)1的轉(zhuǎn)速和方向,可以分別從IN3IN4輸入PWM信號驅(qū)動(dòng)電機(jī)2的轉(zhuǎn)速和方向。我們將電機(jī)1接口的OUT1與OUT2與小車的一個(gè)電機(jī)的正負(fù)極連接起來,將電機(jī)2接口的OUT3與OUT2與小車的另一個(gè)電機(jī)的正負(fù)極連接起來。然后將兩邊的接線端子,即供電正極(中間的接線端子為接地)連接TPYboard的VIN,中間的接線端子即接地,連接TPYBoard的GND,In1-In4連接TPYBoard的Y1,Y2,Y3,Y4,通過Y1,Y2與Y3,Y4的高低電平,來控制電機(jī)的轉(zhuǎn)動(dòng),從而讓小車前進(jìn),后退,向左,向右。
接線ok后,編寫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傳過來的指令,不同的軟件指令可能不同,可以自己設(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()
“Micropython如何DIY藍(lán)牙智能小車”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!