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