需要模塊: 1. STC89C52RC單片機+最小系統 2. HC06藍牙從機模塊 3. L298電機驅動模塊 4. 電源(7v) 5. 電機+車輪 以上都可以在淘寶上購買的到。不過建議DIY的同志還是自己買單個原件焊接,比較有學習意義。 第一步 ——車體 小車車體建議自己制作,一是簡單,而是可以節省成本,找一塊塑料板,買一瓶502膠水,把在網上買的電機直接粘上去就可以了,很穩固。淘寶也有成品的車體,我就是直接買成品的。自己動手太浪費時間也不好看,但是就沒有成就感了。
第二步——控制系統 動手制作一個單片機最小系統,安上芯片,非常的簡單 51單片機最小系統的電路圖大家應該都知道——
第三部——電機驅動 底盤和最小系統搞好了,小車還是跑不起來——缺少電機驅動。 單片機的I/O是驅動不了電機的,我選用的是L298N電機專用驅動芯片。 我當時是偷懶,所以就在網上買了一個電機驅動,6塊錢吧,買單個L298芯片好像是3塊錢,感覺買一個現成的更劃算 電機模塊原理圖如下:
有興趣的可以根據這圖畫一塊PCB,自己動手做。 第四步——HC06藍牙轉串口模塊 既然使用手機藍牙控制,那小車上必須要有一個藍牙模塊與手機藍牙通信。在這里選用了HC06藍牙轉串口模塊。
HC06藍牙轉串口模塊的作用是將從手機藍牙發送過來的指令接收到后轉換成串口的形式通過單片機的串口傳給單片機。只需將該模塊的TXD接上51單片機的RXD引腳就行(當然還有電源),TXD不用接,因為我們只用它接收手機藍牙信號,不發送數據。它出廠默認設置的波特率9600 ,不重新設置它的波特率的話,在寫單片機串口程序時,也要將波特率設置為9600。 第五步——電源 你可以根據實際情況選擇電源,用電池組或小型蓄電池,我用的是兩塊3.7V的電池串聯來給電機驅動供電,然后用一塊手機電池3.7V給單片機和藍牙串口供電。 最后一步: 用安卓手機下載一個叫“藍牙串口”的軟件,一般人只要玩玩都會用, 手機通過藍牙向單片機發送一個數據(字符),單片機檢測到便執行相應的指令。程序看文件夾下“參考程序” 附加功能:給小車加了四個燈,通過手機可以打開,關閉。 在車子前進和后退時四個燈會閃爍。轉向時也會有相應的轉向燈。
做成功后可以在上面添加別的模塊,比如避障,尋跡,測距。。。 教你做Android手機藍牙遙控車
安卓手機遙控小車,顧名思義就是用安卓手機來控制小車前后左右運動。
需要模塊:
HC06藍牙轉串口模塊的作用是將從手機藍牙發送過來的指令接收到后轉換成串口的形式通過單片機的串口傳給單片機。只需將該模塊的TXD接上51單片機的RXD引腳就行(當然還有電源),TXD不用接,因為我們只用它接收手機藍牙信號,不發送數據。它出廠默認設置的波特率9600 ,不重新設置它的波特率的話,在寫單片機串口程序時,也要將波特率設置為9600。
也可以買HC05藍牙。看個人喜歡
第五步——電源
你可以根據實際情況選擇電源,用電池組或小型蓄電池,我用的是兩塊3.7V的電池串聯來給電機驅動供電,然后用一塊手機電池3.7V給單片機和藍牙串口供電。
最后一步:
用安卓手機下載一個叫“藍牙串口”的軟件,一般人只要玩玩都會用,
手機通過藍牙向單片機發送一個數據(字符),單片機檢測到便執行相應的指令。程序看文件夾下“參考程序”
附加功能:給小車加了四個燈,通過手機可以打開,關閉。
在車子前進和后退時四個燈會閃爍。轉向時也會有相應的轉向燈。
做成功后可以在上面添加別的模塊,比如避障,尋跡,測距。。。
我自己也做了APP 和 單片機程序。 發送字符匹配的
單片機源程序如下:
- /**************************************************************************************
- * 串口通信實驗 *
- 實現現象:下載程序后打開串口調試助手,將波特率設置為4800,選擇發送的數據就可以顯示
- 在串口助手上。具體操作參考操作視頻
- 注意事項:無。
- ***************************************************************************************/
- #include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
- typedef unsigned int u16; //對數據類型進行聲明定義
- typedef unsigned char u8;
- u8 a;
- sbit in1=P2^0;
- sbit in2=P2^1;
- sbit in3=P2^2;
- sbit in4=P2^3;
- /*******************************************************************************
- * 函數名 :UsartInit()
- * 函數功能 :設置串口
- * 輸入 : 無
- * 輸出 : 無
- *******************************************************************************/
- void UsartInit()
- {
- SCON=0X50; //設置為工作方式1
- TMOD=0X20; //設置計數器工作方式2
- PCON=0X80; //波特率加倍
- TH1=0XF4; //計數器初始值設置,注意波特率是4800的
- TL1=0XF4;
- ES=1; //打開接收中斷
- EA=1; //打開總中斷
- TR1=1; //打開計數器
- }
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- UsartInit(); // 串口初始化
- while(1)
- {
- switch(a)
- {
- case'a':in1=0;in2=1; in3=1; in4=0; break; // 前進
- case'b':in1=1;in2=0; in3=0; in4=1; break; // 后退
- case'c':in1=0;in2=1; in3=0; in4=0; break; // 左轉
- case'd':in1=0;in2=0; in3=1; in4=0; break; // 右轉
- case'e':in1=0;in2=0; in3=0; in4=0; break; // 停止
- }
- }
- }
- /*******************************************************************************
- * 函數名 : Usart() interrupt 4
- * 函數功能 : 串口通信中斷函數
- * 輸入 : 無
- * 輸出 : 無
- *******************************************************************************/
- void Usart() interrupt 4
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
藍牙串口小車.rar
(33.04 KB, 下載次數: 723)
2018-1-30 17:02 上傳
點擊文件名下載附件
單片機程序 下載積分: 黑幣 -5
APP.rar
(224.63 KB, 下載次數: 356)
2018-1-30 17:02 上傳
點擊文件名下載附件
手機藍牙APP 下載積分: 黑幣 -5
|