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