熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2017-3-11 10:04
正文摘要:最近在做一個(gè)藍(lán)牙控制的智能小車,本人是個(gè)單片機(jī)小白,學(xué)校還沒開始相關(guān)課程,所以自己一邊自學(xué)一邊做著個(gè)智能小車。 在網(wǎng)上查詢了相關(guān)資料以后自己選擇做一個(gè)四輪驅(qū)動(dòng)的藍(lán)牙控制小車,只有藍(lán)牙控制 ... |
| 單片機(jī)不用另外給電源了的,L298N5V端口就可以給單片機(jī)供電,另外單片機(jī)一定要和L298N共地 |
| 你的小車做好了嘛,可以教教我怎么做嘛。。 |
凌晨丶 發(fā)表于 2017-3-15 21:21 我這邊幫你試試 |
|
其他步驟都對,不接藍(lán)牙模塊,直接用串口助手分別發(fā)送R、L,看看電機(jī)運(yùn)轉(zhuǎn)情況 |
imxuheng 發(fā)表于 2017-3-13 16:26 能不能留個(gè)QQ 這上面回復(fù)實(shí)在是不方便 我QQ1187879733 謝謝你的指點(diǎn) 感謝 |
imxuheng 發(fā)表于 2017-3-13 16:26 額 我不太明白這個(gè)串口調(diào)試是怎么搞 是不是把程序?qū)戇M(jìn)單片機(jī) 然后在開發(fā)板上面調(diào)試 電腦連接開發(fā)板 然后在STC調(diào)試軟件上面調(diào)試 開發(fā)板上面需要接電機(jī)和藍(lán)牙模塊對嗎 |
凌晨丶 發(fā)表于 2017-3-13 10:05 有串口調(diào)試軟件吧,其實(shí)STC的程序下載軟件自帶串口調(diào)試,一眼就找到了。把下面的程序下載到你的單片機(jī)里 #include <reg52.h> #define uint unsigned int #define uchar unsigned char #define BAUD 9600 #define XTAL 11059200 sbit in1 = P1^0; sbit in2 = P1^1; void main() { LED1=LED2=1; SCON = 0x50; TMOD = 0x20; PCON = 0x00; TH1 = (unsigned char)(256 - XTAL/12/32/BAUD); TL1 = TH1; TI = 0; RI = 0; TR1 = 1; IE = 0x90; while(1) { } } void Serial_INT() interrupt 4 { if(RI) { RI = 0; switch(SBUF) { case 'L': in1=1;in2=0;break;//正轉(zhuǎn) case 'R': in1=0;in2=1;break;//反轉(zhuǎn) } } } 用串口調(diào)試軟件分別發(fā)送“L”、“R”,注意是文本模式發(fā)送,看看電機(jī)運(yùn)轉(zhuǎn)情況,good luck. |
imxuheng 發(fā)表于 2017-3-12 20:30 我安裝你說的接了一下 電機(jī)可以轉(zhuǎn) 但是現(xiàn)在我就是不太會(huì)編串口的程序 加上串口程序后就沒辦法遙控 應(yīng)該可能是輸出波率的問題 我現(xiàn)在小車用的是2個(gè)L298N的驅(qū)動(dòng)模塊,我把兩個(gè)驅(qū)動(dòng)的ENA和ENB都接到最小系統(tǒng)上面的5V上面, 然后兩個(gè)驅(qū)動(dòng)的IN口都接到p2口了 現(xiàn)在程序還是有問題 我用的HC-06這個(gè)藍(lán)牙模塊 出波率應(yīng)該是9600 程序應(yīng)該就是串口程序這一塊有問題。 |
|
模塊IN1和IN2分別接最小系統(tǒng)5V和GND當(dāng)然可以使電機(jī)轉(zhuǎn)動(dòng),把驅(qū)動(dòng)程序換成下面的試試電機(jī)是否運(yùn)轉(zhuǎn) sbit in1=P1^0; sbit in2=P1^1; void main() { in1=1; in2=0; while(1); } 模塊IN1和IN2分別接最小系統(tǒng)P1.0口和P1.1口 我覺得肯定沒問題,如果能驅(qū)動(dòng),那再把串口程序加進(jìn)去 |
imxuheng 發(fā)表于 2017-3-12 09:40 程序是我從網(wǎng)上找的 我現(xiàn)在自學(xué)單片機(jī)還沒有學(xué)到程序這一塊,我就是不太看得懂程序, 現(xiàn)在我把小車都組裝好了 驅(qū)動(dòng)模塊IN1和IN2分別接最小系統(tǒng)5V和GND 是可以帶動(dòng)電機(jī)轉(zhuǎn)動(dòng)了 但是我加上藍(lán)牙模塊 把網(wǎng)上找的的程序?qū)戇M(jìn)去 通過手機(jī)APP遙控時(shí)就控制不了電機(jī)的轉(zhuǎn)動(dòng)。 |
admin 發(fā)表于 2017-3-11 17:49 #include #define uchar unsigned char #define uint unsigned int uchar a; void init() { TMOD=0X20; //設(shè)置定時(shí)器1為方式2 TH1=0xfd ; TL1=0xfd ; //裝初值 TR1=1; //啟動(dòng)定時(shí)器1 REN=1; // 使能接收 SM0=0; SM1=1; //設(shè)置串口為工作方式1 EA=1; // 打開總中斷開關(guān) ES=1; // 打開串口中斷開關(guān) } void main() { init(); while(1); } void ser() interrupt 4 { ES=0; RI=0; //將接受中斷標(biāo)志位清0; a=SBUF; //將接受到的數(shù)據(jù)賦值給a switch(a) { case 65: P1=0Xa5; break; // 發(fā)送的是A 前進(jìn)指令 case 66: P1=0X55; break; // 發(fā)送的是B 右轉(zhuǎn)指令 case 67: P1=0Xaa; break; // 發(fā)送的是C 左轉(zhuǎn)指令 case 68: P1=0X5a; break; // 發(fā)送的是D 后退指令 case 97: P1=0X00; break; //發(fā)送的是a 停止指令 case 98: P1=0X00; break; //發(fā)送的是b 停止指令 case 99: P1=0X00; break; //發(fā)送的是c 停止指令 case 100: P1=0X00; break; //發(fā)送的是d 停止指令 //P2口是我的電機(jī)驅(qū)動(dòng)的控制端 default: break; } ES=1; } 這是我網(wǎng)上找的程序 你能不能幫我看一下 |
你看這個(gè)圖:
買的L298N驅(qū)動(dòng)模塊一般都會(huì)有pdf資料的 ena,enb 是控制小車左右輪速度的,接PWM口 |
| 我是用一個(gè)驅(qū)動(dòng)控制左邊兩個(gè)輪子 另一個(gè)驅(qū)動(dòng)控制右邊兩個(gè)輪子來達(dá)到四輪驅(qū)動(dòng)的效果,左邊兩輪正轉(zhuǎn),右邊兩輪停止,小車右轉(zhuǎn)。右邊兩輪正轉(zhuǎn),左輪停止,小車左轉(zhuǎn)。 |
Powered by 單片機(jī)教程網(wǎng)