找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)智能小車藍(lán)牙遙控

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
摘要   本次設(shè)計(jì)選擇基于藍(lán)牙遙控的多功能智能小車為對(duì)象。選用STC98C52RC單片機(jī)作為主控芯片,電機(jī)驅(qū)動(dòng)采用L293N ,電源部分采用兩節(jié)3.7V鋰電池供電.采用C語言模塊化編程,提高開發(fā)效率.藍(lán)牙控制功能.用按鍵或遙控器來控制小車.

關(guān)鍵詞  
51單片機(jī)
L298N_電機(jī)驅(qū)動(dòng)
藍(lán)牙遙控


目 錄
1 前言 1
                                                11 系統(tǒng)研究背景 1
                                                12 系統(tǒng)研究的意義和目的 1
                                                2 系統(tǒng)概述 2
                                                21 系統(tǒng)的結(jié)構(gòu) 2
                                                22 系統(tǒng)的功能 2
                                                23 開發(fā)環(huán)境 2
                                                3 系統(tǒng)實(shí)現(xiàn) 3
                                                31 傳感器技術(shù) 3
                                                32 其它相關(guān)技術(shù) 3
                                                33 硬件實(shí)現(xiàn) 3
                                                34 軟件實(shí)現(xiàn) 3
                                                35 系統(tǒng)測(cè)試 3
                                                4 系統(tǒng)使用說明 4
                                                5 總結(jié) 5
                                                6 參考文獻(xiàn) 6


1. 前言
1.1.     系統(tǒng)研究背景
                                                
        藍(lán)牙屬于短距離內(nèi)進(jìn)行無線控制和收發(fā)的通信技術(shù),伴隨著科技的飛躍性發(fā)展,也讓藍(lán)牙找到了發(fā)展的空間,它可以代替和取代落后的數(shù)字化硬件設(shè)備之間繁瑣的電纜連接。在藍(lán)牙創(chuàng)造的初期,沒有人預(yù)料到藍(lán)牙會(huì)有如此大的潛力和前景,而現(xiàn)在的發(fā)展也是完全超出了我們的預(yù)期,因?yàn)樗{(lán)牙的安全性高,制造成本低廉和所消耗的功率也是同類產(chǎn)品中最低的,所以被很多人使用,越來越受到了廣大消費(fèi)者的歡迎,基于藍(lán)牙技術(shù)的產(chǎn)品也在不斷的更新和投入市場(chǎng)。
       藍(lán)牙技術(shù)是近年來出現(xiàn)的新技術(shù)是一種短距離無線通信和信息傳輸?shù)男滦屯ㄓ嵖萍,它使?shù)據(jù)線的硬件設(shè)備接收更方便快捷。它可以廣泛應(yīng)用于世界各地,是一個(gè)藍(lán)牙設(shè)置一個(gè)通用的范圍,頻率調(diào)制技術(shù)的使用,以防止外部干擾和多一些。低成本,低功耗和小輻射,和加密設(shè)置,讓藍(lán)牙的安全性更高;應(yīng)用范圍廣,這些特點(diǎn)使得藍(lán)牙技術(shù)被廣泛的應(yīng)用在我們?nèi)粘I钪械乃{(lán)牙也支持一對(duì)一和一對(duì)多傳輸?shù)耐ㄐ胚B接,和多個(gè)藍(lán)牙成為微網(wǎng),也有網(wǎng)絡(luò)的特點(diǎn)。
     在現(xiàn)在的智能時(shí)代,小車智能控制,方便了人們的使用。在51單片機(jī)的基礎(chǔ)下,通過藍(lán)牙來控制小車的駕駛。


1.2. 系統(tǒng)研究的意義和目的

                                                                                                          因?yàn)闊o線技術(shù)的廣泛使用,我們?cè)谘芯繜o線和有線通信技術(shù)的方法中了解到藍(lán)牙系統(tǒng)的小區(qū)域性有很大的技術(shù)突破,在國(guó)際上也得到了廣泛的采納,在市場(chǎng)上也有很大的需求。這也使藍(lán)牙技術(shù)的發(fā)展成為了趨勢(shì)之一,藍(lán)牙可以發(fā)送和接受語音和數(shù)據(jù),滿足了大多數(shù)人的需求,它也融合了其他相關(guān)產(chǎn)品的特點(diǎn),也是這樣技術(shù)變得更多樣性。然而,藍(lán)牙的安全性不足,而且在小區(qū)域范圍內(nèi)的一點(diǎn)對(duì)多點(diǎn)的通信受到了很大的限制,這些都是其本身需要改進(jìn)和完善的
      可以使人們更方便,更簡(jiǎn)單的控制小車。實(shí)現(xiàn)了無線控制小車,擺脫了有線控制的不方便,更智能。

2. 系統(tǒng)概述2.1.  系統(tǒng)的結(jié)構(gòu)                                                
                                                                                     系統(tǒng)框圖
                                                                                                  


2.2.  系統(tǒng)的功能                                                 51單片機(jī)的基礎(chǔ)下,通過藍(lán)牙來控制驅(qū)動(dòng),此驅(qū)動(dòng)能把5~12V的電壓,一部分給小車輪子轉(zhuǎn)動(dòng),一部分通過降壓,穩(wěn)壓,最終降為5V來供給此驅(qū)動(dòng),單片機(jī)和傳感器供電。

2.3.  開發(fā)環(huán)境                                                 AT89C5RC單片機(jī)開發(fā)環(huán)境。
          AT89C52是一種8位單片機(jī),它是在MCS-51單片機(jī)系列上加強(qiáng)了一些功能后升級(jí)得到的產(chǎn)物。它的作用基本上就是把外界的數(shù)據(jù)和命令在中斷和時(shí)鐘的幫助下,在自身內(nèi)部?jī)?chǔ)存器上把使用者的數(shù)據(jù)進(jìn)行處理。AT89C52 由8位的內(nèi)部處理器,內(nèi)部數(shù)據(jù)儲(chǔ)存器(RAM,有256個(gè)字節(jié))內(nèi)部?jī)?chǔ)存器有8K的大小,輸入和輸出雙向口有32個(gè),16位的定時(shí)器和5個(gè)兩級(jí)中斷,全雙工串行通信口一個(gè)和時(shí)鐘電路組成。
         AT89C52能夠自主地執(zhí)行給它的指令,也就是你把所需要的指令寫在單片機(jī)的內(nèi)部?jī)?chǔ)存器上,它會(huì)一步步執(zhí)行。AT89C52可以在功耗特別低的情況下工作,就是設(shè)置成空閑選擇和掉電模式兩種狀態(tài)來實(shí)現(xiàn)低功耗。

                                                                     AT89C52
                                                                                                         單片機(jī)與外界的通訊是依靠它自身的I/O 口進(jìn)行的,對(duì)單片機(jī)I/O 口的控制就是對(duì)單片機(jī)的控制。I/O 口的存在不僅可以實(shí)現(xiàn)數(shù)據(jù)的傳輸,還可以改變電平和信號(hào)的性質(zhì),最重要的一點(diǎn)就是I/O 口可以實(shí)現(xiàn)與外部不同電路的連接來使單片機(jī)工作。
         AT89C52單片機(jī)上我們通常使用的是4個(gè)獨(dú)立的雙向通用I/O 口:P0口、P1口、P2和P3口。由于外部設(shè)備的工作速率比較慢或者很快的時(shí)候,我們可以采用同步傳送的方式,而單片機(jī)存在的異步傳送是為了更加簡(jiǎn)練的和硬件連接進(jìn)行傳出。也可以通過中斷傳送和DMA傳送來完成。AT89C52單片機(jī)還可以實(shí)現(xiàn)外部接口單獨(dú)的編址和外部端口和存儲(chǔ)器的統(tǒng)一編制兩種方式。AT89C52單片機(jī)上一共有32個(gè)I/O 口,不同的I/O 口實(shí)線的作用和運(yùn)行的方式都有其自己的方式,我也要通過這次課程設(shè)計(jì),更好地了解,更熟練的運(yùn)用。

3.  系統(tǒng)實(shí)現(xiàn)3.1. 相關(guān)技術(shù)技術(shù)                                                 藍(lán)牙技術(shù),驅(qū)動(dòng)模塊,
3.2.  硬件實(shí)現(xiàn)                                                 HC-06藍(lán)牙模塊
其TX接單片機(jī)的RX,RX接單片機(jī)的TX,VCC接5V(或3.3V),GND接單片機(jī)的地。HC-06藍(lán)牙模塊是通過一款手機(jī)APP(藍(lán)牙串口助手)作為中間媒介,在藍(lán)牙串口助手發(fā)送相關(guān)的數(shù)據(jù)到串口,串口再把相關(guān)信息送到藍(lán)牙模塊,藍(lán)牙模塊再把相關(guān)信號(hào)送到單片機(jī)中。
                                                                              HC-06藍(lán)牙模塊

                                                      HC-06藍(lán)牙模塊和51單片機(jī)連接


                                                                                                  L298N電機(jī)驅(qū)動(dòng)模塊,
該該電機(jī)可以驅(qū)動(dòng)2路直流電機(jī),使能端ENA,ENB,為高電頻有效,
通過單片機(jī)的輸入信號(hào)給IN1和IN2來控制左輪,輸入信號(hào)給IN3和IN4來控制右輪
IN1和IN2,分別給0,1  :正轉(zhuǎn)
IN1和IN2,分別給1,0  :反轉(zhuǎn)
IN1和IN2,分別給1,1 :停止
IN1和IN2,分別給0,0  :停止
IN3和IN4,分別給0,1  :正轉(zhuǎn)
IN3和IN4,分別給1,0  :反轉(zhuǎn)
IN3和IN4,分別給1,1 :停止
IN3和IN4,分別給0,0  :停止

L298N的主要引腳功能如下:
+5V:芯片電壓5V;
VCC:電機(jī)電壓,最大可接50V;
GND:共地接法;
Output1—Output2:輸出端,接電機(jī)1;
Output3—Output4:輸出端,接電機(jī)2;
EN1、EN2:高電平有效,EN1、EN2分別為 IN1和IN2、IN3和IN4的使能端;
Input1~ Input4:輸入端,輸入端電平和輸出端電平是對(duì)應(yīng)的;
                                                                                                                     L298N



3.3.  軟件實(shí)現(xiàn)
                                                                                                                                       程序流程圖
                                                                                                  
                                                                                                  51單片機(jī),源程序:

sbit in1 = P1^0;//左電機(jī)
sbit in2 = P1^1;//左電機(jī)
sbit in3 = P1^2;//右電機(jī)
sbit in4 = P1^3;//右電機(jī)
char i;
/*前進(jìn)*/
void forward()
{
in1=1;
in2=0;
in3=1;
in4=0;
}
/*后退*/
void back()
{
in1=0;
in2=1;
in3=0;
in4=1;
}

/*左轉(zhuǎn)*/
void left()
{
in1=1;
in2=1;
in3=1;
in4=0;
}
/*右轉(zhuǎn)*/
void right()
{
in1=1;
in2=0;
in3=1;
in4=1;
}
/*停止*/
void stop()
{
in1=1;
in2=1;
in3=1;
in4=1;
}
void main (void)               
{
TMOD=0x20;                         //設(shè)置T1為工作方式2
      TH1=0xfd;                        //裝入初值,比特率為9600bps
      TL1=0xfd;
      TR1=1;                              //開啟T1
      REN=1;                             //接收允許
      SM0=0;                             //方式1
      SM1=1;
      EA=1;                               //開全局中斷
      ES=1;                                //開串口中斷
while(1)
{i=SBUF;//SBUF為單片機(jī)接收到的數(shù)據(jù),單片機(jī)接收到的數(shù)據(jù)都存放在SBUF里;
RI=0;
if (i==0x02){forward();}     //如果藍(lán)牙助手發(fā)送0x02,小車前進(jìn)
if (i==0x08){back();}        //如果藍(lán)牙助手發(fā)送0x08,小車后退
if (i==0x01){left();}         //如果藍(lán)牙助手發(fā)送0x01,小車左轉(zhuǎn)
if (i==0x03){right();}        //如果藍(lán)牙助手發(fā)送0x03,小車右轉(zhuǎn)
if (i==0x05){stop();}        //如果藍(lán)牙助手發(fā)送0x05,小車停止
}
}


3.4.  系統(tǒng)測(cè)試                                                 小車能實(shí)現(xiàn)基本功能,成功地用藍(lán)牙控制小車。測(cè)試了一段時(shí)間,單片機(jī)工作穩(wěn)定,藍(lán)牙穩(wěn)定的控制,小車較好的按照控制方向行走。


4.  系統(tǒng)使用說明
1.      為小車裝上兩節(jié)鋰電池,來供電。
2.     打開總開關(guān),在手機(jī)端,打開一個(gè)藍(lán)牙通訊助手(在手機(jī)應(yīng)用商店可以找到下載),連接上此小車的藍(lán)牙(HC-06),如圖:


藍(lán)牙 HC-06模塊
                                                                                                  


                                                                                                  3.     然后就可以在手機(jī)端按相應(yīng)的前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn),停止等,如圖:

                                        APP
                                                                                                  解析:前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn),停止,都對(duì)應(yīng)著程序中相應(yīng)的信息,如圖;
當(dāng)手機(jī)端發(fā)送 0x02 給藍(lán)牙模塊,就會(huì)執(zhí)行 forward()函數(shù); 小車會(huì)向前走
當(dāng)手機(jī)端發(fā)送 0x08 給藍(lán)牙模塊,就會(huì)執(zhí)行 back();函數(shù);,小車會(huì)向后走
當(dāng)手機(jī)端發(fā)送 0x01 給藍(lán)牙模塊,就會(huì)執(zhí)行 left();函數(shù);,小車會(huì)向左走
當(dāng)手機(jī)端發(fā)送 0x03 給藍(lán)牙模塊,就會(huì)執(zhí)行 right()函數(shù);,小車會(huì)向右走
當(dāng)手機(jī)端發(fā)送 0x05 給藍(lán)牙模塊,就會(huì)執(zhí)行stop()函數(shù);,小車會(huì)停止
具體的編輯如圖:
                                          APP2
                                                                                                  最后這是小車的整體模型;

                                                     整體圖

                                                  注:上面有個(gè)RC522讀卡器的,哪個(gè)是方便后面的課設(shè),在這里,大家可以忽略哈。

5.  總結(jié)                                                      本設(shè)計(jì)采用的是STC89C52RC單片機(jī),這主要是因?yàn)樵搯纹瑱C(jī)的穩(wěn)定性比較好和執(zhí)行指令的速度很快。還可以采用其它系列的單片機(jī)。電機(jī)驅(qū)動(dòng)采用L293N ,穩(wěn)定電壓,充足地向直流電機(jī)供電和穩(wěn)定控制;電源部分采用兩節(jié)3.7V鋰電池供電,電壓穩(wěn)定,電流充足,還可以循環(huán)充電,節(jié)能環(huán)保。采用C語言模塊化編程,提高開發(fā)效率.藍(lán)牙控制功能.用按鍵或遙控器來控制小車,簡(jiǎn)單方便經(jīng)過自己不斷的搜索努力以及老師的耐心指導(dǎo)和熱情幫助,本設(shè)計(jì)已經(jīng)基本完成。
        過這次課程設(shè)計(jì),使我深刻地認(rèn)識(shí)到學(xué)好專業(yè)知識(shí)的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)兩年的學(xué)習(xí)成果。雖然在這次設(shè)計(jì)中對(duì)于知識(shí)的運(yùn)用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這兩個(gè)月的設(shè)計(jì)是對(duì)過去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。 由于自身水平有限,設(shè)計(jì)中一定存在很多不足之處,敬請(qǐng)各位批評(píng)指正.

6.  參考文獻(xiàn)                                                 C語言程序設(shè)計(jì) :清華大學(xué)出版社作者:譚浩強(qiáng)
51單片機(jī)C語言教程:電子工業(yè)出版社 ,作者:郭天祥

希望對(duì)你有幫助。

為了大家方便,我上傳了手機(jī)APP在網(wǎng)盤:https://pan.baidu.com/s/1UNjlUhUQa25K2RNW8hjwOQ
  提取碼:wn7k
APk 51hei下載地址:
com.shenyaocn.android.BlueSPP_44.apk.7z (1.9 MB, 下載次數(shù): 100)

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:834274 發(fā)表于 2020-10-27 20:14 | 只看該作者
有完整的單片機(jī)源程序嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:695845 發(fā)表于 2020-11-3 00:18 來自手機(jī) | 只看該作者
你好,樓主,hc06不接上拉電阻,可以嗎?我之前不接上拉電阻,就直接接在單片機(jī)上,然后寫了個(gè)程序測(cè)試,發(fā)現(xiàn)接受不到通過藍(lán)牙發(fā)送的數(shù)據(jù),這個(gè)咋辦?
回復(fù)

使用道具 舉報(bào)

地板
ID:695845 發(fā)表于 2020-11-3 00:19 來自手機(jī) | 只看該作者
我想問一下,樓主有沒有關(guān)于hc06藍(lán)牙模塊的詳細(xì)說明書呀
回復(fù)

使用道具 舉報(bào)

5#
ID:656534 發(fā)表于 2020-11-6 11:51 | 只看該作者
源文件是哪個(gè)?
回復(fù)

使用道具 舉報(bào)

6#
ID:841696 發(fā)表于 2020-11-11 13:51 | 只看該作者

thank you for sharing
回復(fù)

使用道具 舉報(bào)

7#
ID:1041356 發(fā)表于 2022-8-4 10:36 | 只看該作者
你好,我在手機(jī)上長(zhǎng)按前進(jìn)的時(shí)候,小車只會(huì)前進(jìn)一步,不會(huì)持續(xù)前進(jìn),請(qǐng)問要怎么解決?
回復(fù)

使用道具 舉報(bào)

8#
ID:74784 發(fā)表于 2022-8-5 11:35 | 只看該作者

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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