本制作以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
|