本制作以STC89C52RC單片機和ADXL345加速度模塊。加速度模塊固定在手上時,當手向左傾斜,小車左轉;手向右傾斜,小車右轉;手向前傾斜,小車前進;手向后傾斜,小車倒退;手水平不動,小車停止任何動作。有效控制范圍 10米(開闊地)。小車視頻可以見教程附件。
原理:ADXL345加速度模塊可以測量X Y Z三軸的加速度和傾角。人的手做動作時,勢必會改變模塊的加速度大小和傾角。由于測量加速度叫繁瑣,所以測量的是傾角數據。當傾角數據滿足一定范圍時,通過藍牙模塊傳輸控制指令到小車,實現小車的動作。
制作教程(配圖見附于文章結尾):
本制作除了單片機最小系統需要焊接外,其他的組件都是模塊(單片機系統可以自己焊接,也可以使用模塊。最小系統圖看最后面附圖),直接和單片機的IO口連線就可以了,單片機最小系統原理圖我已經上傳,本教程主要是講解模塊的說明和接線方式。
一 小車系統:
可以是四驅型的,也可以是萬向型的,只要你會改程序,就無需局限于小車制動類型。當然,如果你不會改程序,那就使用四驅,小車的套件在淘寶上的價格都很便宜,幾十塊的也有,根據自己的經濟能力決定。購買時注意電機的額定電壓和轉速就可以了。
小車電機接線:
1號輪紅線接L293D輸出端:8
1號輪黑線接L293D輸出端:7
2號輪紅線接L293D輸出端:6
2號輪黑線接L293D輸出端:5
3號輪紅線接L293D輸出端:4
3號輪黑線接L293D輸出端:3
4號輪紅線接L293D輸出端:2
4號輪黑線接L293D輸出端:1
注:必須確定小車的方向,本例為1號輪為小車前進輪;實際的接線可以完全相反,只需要改變輸入端線序即可!
二 電機驅動模塊
我使用的是成品模塊,型號為L293D,模塊省去了焊接調試工作,直接使用即可。此類模塊還有一個優點,就是當你的供電電源大于6V時,模塊可以當5V的電源使用,可以給單片機系統和藍牙系統供電, 模塊的供電電壓是5v到16V,當你需要外接5V電源時,可用6V至16V電源供電。最大可提供1A驅動電流。
模塊接線:
P1.0接IN8
P1.1接IN7
P1.2接IN6
P1.3接IN5
P1.4接IN4
P1.5接IN3
P1.6接IN2
P1.7接IN1
注:若組裝好后,小車運動與預設完全相反,只需要單片機端口線序倒置即可:如P1.7接IN8,P1.6接IN7以此類推。
三 供電系統
我使用的是12V鉛酸蓄電池。注意,你使用的電池電壓必須在你電機的額定電壓工作范圍內。驅動模塊的控制信號是0到5V(單片機電壓),但驅動模塊給電機供電是,就是電源電壓,所以一定要注意電機的額定工作范圍。
供電接線:
蓄電池正極——L293D Vcc
蓄電池負極——L293D Gnd
L293D 5V ——單片機系統Vcc
L293D Gnd——單片機Gnd
四 無線傳輸模塊
我使用的是UART藍牙模塊,這種模塊自動配對,且無需額外編程,價格在30元左右(一只),雖然網上有很多幾塊錢的模塊,性價比較高,但是我的程序重點在于加速度模塊程序的設計,所以沒有過多精力來搞無限通信。如果你有良好的程序基礎,那么建議你購買價格便宜的無線模塊。藍牙模塊分主從模式,我使用的是主從一體的藍牙模塊,通過管腳可以切換主從,但有些是需要AT指令切換主從的,購買的時候需要注意。藍牙模塊工作時必須一主一從才能配對成功。
藍牙模塊連接:
1主模塊連接:
SET與3V3腳短接
VCC接可接3.3或5V
RX接單片機TX
TX接單片機RX
GND接地
2從模塊連接
SET腳與地短接
VCC接可接3.3或5V
RX接單片機TX
TX接單片機RX
GND接地
注:不管是主模塊還是從模塊,只要配對好,是可以互相通信的。所以不管是哪個連接到小車都可以。
五 加速度ADXL345模塊
此模塊的程序設計是整個制作的核心。模塊的詳細參數見模塊官方手冊說明。
模塊接線:
VCC接5V
GND接地
SCL接P1.0
DAT接P1.1
附圖:




最后附上完整的代碼和資料,小伙伴們放開手腳去做吧!下載地址:http://www.zg4o1577.cn/f/QQ221.rar