本人學習單片機快半年了。。最近學習有些無聊,故把以前diy的一個藍牙遙控小車來分享下。分模塊:驅(qū)動模塊、藍牙模塊、超聲波模塊(我用超聲避障)
一:驅(qū)動模塊
如果用L298N模塊的話那就很簡單方便了,直接把對應(yīng)接口給接到對應(yīng)的單片機IO口就OK。L298N有5V、12V和GND的電源接口,是共地的,12v和5v都給它接在5v電源的vcc吧,沒問題的;IN1\IN2\IN3\IN4這四個是輸入引腳,分別接在單片機四個IO口引腳,我們通過控制兩組輸入口就可以控制電機正反轉(zhuǎn)或停,比IN1=1,IN2=0電機1就正轉(zhuǎn),IN1=0,IN2=1電機1就反轉(zhuǎn)。IN1=IN2=0或IN1=IN2=1電機都會停下;然后就是兩組輸出口了,接兩個電機就行。車的前進就是兩電機正轉(zhuǎn),后退就兩電機反轉(zhuǎn),停止就都不轉(zhuǎn),左右轉(zhuǎn)彎讓一個轉(zhuǎn)一個不轉(zhuǎn)(也可以通過PWM脈沖寬度調(diào)制來產(chǎn)生速度差進行轉(zhuǎn)彎,PWM轉(zhuǎn)彎比較圓滑,PWM也可以用于直線調(diào)速哦!)
假如你是要自己焊H橋驅(qū)動的話,那么去網(wǎng)上找電路圖然后自己算算驅(qū)動電流之類的,不要等下焊出來驅(qū)動能力太弱就尷尬了。
還有一種就是只買了一個L298N芯片的話,那就對著說明焊到板子上,然后操作跟模塊是一樣的。
二:藍牙模塊
我用的是HC-05主從一體藍牙模塊,它比較簡單只有四根線VCC、GND、TXD、RXD,把它分別接到單片機的VCC、GND、RXD、TXD,這里注意下TXD接RXD,RXD接TXD哈!在接線前應(yīng)該進入AT模式設(shè)置一些東西,把藍牙模塊的線通過轉(zhuǎn)換接到電腦,然后打開電腦的串口助手軟件,按下模塊的一個小黑點就進入AT模式了。然后用串口助手發(fā)相關(guān)指令(波特率默認初始為9600)
AT+NAME=XXX 修改藍牙模塊名稱為XXX
AT+ROLE=0 藍牙模式為從模式
AT+CMODE=1 藍牙連接模式為任意地址連接模式,也就是說該模塊可以被任意藍牙設(shè)備連接
AT+PSWD=1234 藍牙配對密碼為1234
AT+UART=9600,0,0 藍牙通信串口波特率為9600,停止位1位,無校驗位
三:超聲模塊
超聲模塊HC-SR04,接口只有四個,VCC、GND、Trig、Echo。這個的使用也簡單,給Trig一定時間高電平,然后通過定時器檢測Echo收到返回信號所花的時間就可以算出距離了。附上程序吧,我用STC89C51,晶振是110592的
void sent()
{
TX=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
void Conut() //距離計算
{
sent();
while(!RX);
TR0=1;
while(RX);
TR0=0;
time=TH0*256+TL0;
TH0=0;
TL0=0;
S= (long)(time*0.17); //單位mm
delay(20);
}
然后好像就剩程序了,然后藍牙遙控的可自動避障小車就出來了。可以加些東西在車上,畢竟還有好多IO口。
|