找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8667|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Arduino+Mixly藍牙語音鍵控超聲波避障智能機器人小車制作

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:313638 發(fā)表于 2020-5-3 10:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
電子制作要與時俱進就必須要智能化,電子工程師和廣大的電子愛好者希望能降低計算機編程難度,又能制作出高智能的電子產(chǎn)品。本文通藍牙機器人小車的制作,啟發(fā)您如何用最簡單的圖形編程,制作出高智能的電子產(chǎn)品。
本文選用Arduino uno單片機作為開發(fā)主板,選用Mixly(米思齊)圖形編程軟件編程,避免繁瑣復(fù)雜的編程程序(例如在51單片機和其他計算機中使用中斷和計數(shù)編程達到PWM電機調(diào)速和硬件延時功能,要編很多程序還要調(diào)用頭文件,還要編譯復(fù)雜的超聲波避障程序),F(xiàn)在我們在Arduino單片機上用Mixly(米思齊)圖形編程軟件編程,不僅使得編程更容易,而制作出的產(chǎn)品依然能保障高質(zhì)量。
首先按照藍牙機器人小車的實物圖a.b.c.d從淘寶購買模塊和元器件。



下面具體說一下主板和主要元件的選擇:
Adiuino 單片機主板:
意大利進口原裝單片機主板淘寶參考價85-168元左右見圖:
國產(chǎn)兼容Arduino UNO單片機主板16—48元左右見圖:
經(jīng)本人實際使用國產(chǎn)主板在性能上不比原裝的差,是原裝主板四分之一的價格。建議追求經(jīng)濟實惠的朋友購買。
擴展板淘寶價10元左右,用來擴展接口方便接線,給兩個參考圖:
藍牙HC-05 主從機一體藍牙模塊淘寶參考價28元:

      
小車車體最好選擇兩個電機轉(zhuǎn)速相近的:
超聲波模塊2塊,用途:測距,距離達到設(shè)定范圍后讓小車前后避障。
紅外避障模塊4塊,用途:距離達到設(shè)定范圍后讓小車在四個角避障。
L298N電機驅(qū)動模塊
  由于單片機主板的功率較小帶負載能力弱,所以要采用電機驅(qū)動模塊來驅(qū)動電機運轉(zhuǎn),還要外加7.2V的鋰電池供電。
左圖的L298N電機驅(qū)動模塊是大功率的,能驅(qū)動4個電機,有PWM使能控制接口,用跳線帽選擇。右圖的模塊能驅(qū)動2個電機,本例采用的是這款,這款電機驅(qū)動模塊體積小,耗電量低,價格非常低,沒有PWM脈寬調(diào)制調(diào)速使能接口,適合Arduino單片機不適合51單片機。
數(shù)字電壓表模塊:
數(shù)字電壓表模塊用來顯示鋰電池的電壓,防止使用中鋰電池電壓降到安全電壓以下使鋰電池報廢。
USB-TTL串口模塊用來和串口軟件調(diào)試和設(shè)置藍牙模塊,參考價5元(輔助調(diào)試器件,具體操作可查看商家給的技術(shù)操作手冊。本例中如果藍牙通訊正常也可不用)。
硬件備齊后我們來安裝手機APP軟件。
我們藍牙模塊型號選用HC-05,能和HC-05藍牙模塊兼容的上位機APP軟件很多,不象JDY-18藍牙模塊通訊距離60米挺遠,但藍牙模塊基本上找不到兼容的手機軟件,本人推薦兩個軟件,編程兼顧兩個軟件設(shè)置。
藍牙小車:軟件控制方式是觸屏方式發(fā)指令。下圖分別是藍牙小車軟件圖標(biāo),藍牙小車操作界面,藍牙小車指令設(shè)置圖界面。




這個軟件操作比較簡單,但是非常好用。手指放到方向箭頭上是運行,手指離開是停止;方向鍵的設(shè)置是自己定義的。
藍牙智能小車:軟件控制方式有語音模式、按鍵模式、重力模式、手勢模式、多種方式見圖:

     

藍牙小車軟件下載地址:http://shouji.baidu.com/software/11629425.html
手機軟件安裝好后我們來安裝Mixly(米思齊)圖形編程軟件。
Mixly官方的軟件下載地址:http://www.imkedu.com/thread-92-1-1.html
下載后安裝到你的電腦系統(tǒng)上,接下來把Arduin開發(fā)板插到電腦USB口上,鼠標(biāo)右鍵單擊這臺電腦,點設(shè)備管理器,打開端口小三角記下端口號。
現(xiàn)在我們用它來編寫藍牙模塊和手機APP軟件通信程序。
打開米思齊軟件按下圖把程序?qū)懞煤簏c編譯,成功后在右下角的主板型號選擇項目
   
中點選Arduino Uno,端口號選你剛才電腦端口上測到的那個號,我這里是COM9,見下圖:
      
然后點上傳將程序燒到單片機中,關(guān)閉單片機電源,F(xiàn)在把藍牙模塊用杜邦線按下圖連接到Arduino主板上,LED就不要接了,用串口監(jiān)視器查看窗口的數(shù)碼和字符串顯示就行了。

藍牙模塊的 TX 與 Arduino RX 連接,RX 與 Arduino TX 連接,藍牙模塊的VCC連接Arduino 5V,藍牙模塊的GND連接Arduino GND

   

現(xiàn)在上電打開端口,點擊串口監(jiān)視器將其打開觀察串口信號我們發(fā)現(xiàn)全是16進制的F這是手機沒有發(fā)指令,F(xiàn)在我們用藍牙智能小車的APP軟件發(fā)指令,按上下左右停鍵在單片機串口分別顯示2、8、6、7、3。測試語音指令前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止分別得到:2、8、9、16、3.見圖:

接下來我們用相同的方法對藍牙小車軟件的指令進行測試。先在手機軟件中將前后左右停分別設(shè)置成大寫字母A、B、L、R、S。然后拔掉藍牙模塊的VCC 5V電壓的導(dǎo)線(向Arduino主板燒寫程序一般是斷開藍牙模塊和主板的連接,否則不僅上傳失敗還可能損壞模塊)。打開米思齊軟件按下圖編程測試結(jié)果如圖。
藍牙小車上位機發(fā)出的指令不是16進制數(shù),而是常用字符,所以我們要打印讀取字符串。(此時如果用串口監(jiān)視器觀察智能小車發(fā)的指令會發(fā)現(xiàn)是象制表符一樣的特殊符號,因為有些符號本人找不到,所以改用16進制接受。而藍牙小車軟件不存在這種問題)。打開串口監(jiān)視器我們把手指放到上下左右停止鍵上對應(yīng)串口監(jiān)視器顯示ABLRS,當(dāng)手指離開后都會顯示S。到這一步藍牙模塊和手機通訊已經(jīng)成功!接下來我們按照測試結(jié)果在米思齊軟件上編出能與這兩種手機軟件匹配的藍牙智能小車的程序。見圖:
   
下圖是各函數(shù)模塊折疊后的程序圖,是不是感覺很清爽,這是因為我們編程序的方法是用函數(shù)編程。需要了解函數(shù)時我們把它逐條展開來,你一看就明白不用我解釋程序;這是圖形編程的好處。

我們按下圖連接元器件。
   

將兩個電機分別接到電機A和電機B上,在電機驅(qū)動模塊上用杜邦線將A1,A2分別接到Arduino主板的接口5和接口6上;B1,B2分別接到Arduino主板的接口9和接口10上。將Arduino主板的接口5V和GND分別接到電機驅(qū)動板的“+”和“-”上。在小車上接完線如果安裝了車輪要讓輪子懸空,請不要連接藍牙模塊。接著將程序裝到主板里,關(guān)機。接下來在Arduino主板連上藍牙模塊,用手機發(fā)送前進指令,觀察兩電機車輪的旋轉(zhuǎn)方向是否是前進轉(zhuǎn)向,如果不相符將插在Arduino主板上的5和6或9和10杜邦線插頭對調(diào),調(diào)整到兩車輪轉(zhuǎn)動方向都是前進就OK了。兩個輪子的速度調(diào)整我們采用(PWM)脈沖寬度調(diào)制,速度的賦值范圍可在120-255之間選擇。兩個輪子電機轉(zhuǎn)速如果不同小車就不能走直線,就要做相應(yīng)的調(diào)整,數(shù)值越大轉(zhuǎn)速越快。接下來我們給機器人安裝超聲波避障模塊和紅外避障模塊。
我們展開超聲波函數(shù)的程序:
程序中前面的超聲波模塊的Trig發(fā)射和Echo接受是分別接在Arduino主板的第7和第8接口上的,我們用杜邦線將它們連接在一起;再把模塊的VCC和GND分別接到Arduino主板的5V和GND上。把小車后面的超聲波模塊的Trig發(fā)射和Echo接受分別接在Arduino主板的第A2和第A3接口上,再把模塊的VCC和GND分別接到Arduino主板的5V和GND上。程序中小車的避障距離是小于12mm,進入避障范圍后向反方向運行1秒后停止。如果加轉(zhuǎn)向和復(fù)雜的動作會在電池電量不足的時候小車遙控失靈,直接STOP,就沒有這種現(xiàn)象。接下來打開紅外避障函數(shù)程序:
程序中小車4個角的紅外避障模塊的OUT輸出分別接到Arduino主板的A1.A4.A5.13接口,并將各自的VCC和GND分別接到Arduino主板的5V和GND上。程序中非數(shù)字輸入管腳的意思是這個管腳輸入的是低電平,紅外接收管沒有收到紅外發(fā)射波。紅外管收到信號時串口監(jiān)視器中顯示“1”就是高電平,受到障礙是顯示“0”模塊連接好后給機器人小車供電,最好是7.2V(兩節(jié)1650鋰電池串聯(lián),如果用2個這樣的串聯(lián)電池再并聯(lián)效果更好,能讓小車工作時間加倍還能保護鋰電池,如本例電源)。用十字螺絲刀調(diào)整各紅外模塊的避障范圍,具體是用手掌放到模塊前,前后慢慢移動手掌,旋轉(zhuǎn)模塊上的電位器調(diào)到距離大約4-6cm兩個LED燈都亮為止,4個角的模塊都要這樣調(diào)好。
藍牙遙控程序見上圖:程序是按藍牙智能小車和藍牙小車的多種模式編的,程序中語音控制的9和16是加了延時200毫秒和STOP函數(shù)的限制轉(zhuǎn)動的角度在20度左右。大家可以根據(jù)自己的需要靈活制定轉(zhuǎn)動角度。

由于小車后輪是萬向輪所以走直線不如4驅(qū)小車,動力也比4驅(qū)小,但比4驅(qū)省電。兩驅(qū)制作完,四驅(qū)小車的制作你會覺的易如反掌:
采用4驅(qū)電機驅(qū)動模塊見上圖,按圖接線,程序稍加改動再連接4個接口(3、4、11、12),將左邊兩個電機并聯(lián)再將右邊的兩個電機并聯(lián)即可其他都不改動。讀者還可根據(jù)自己的需要增加其他功能,例如WiFi遠程遙控攝像智能小車,無人駕駛高清攝像飛機等。

                                     作者: 薛 成

以上文檔.doc

3.36 MB, 下載次數(shù): 48, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表