单片机不用另外给电源了的,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口 |
我是用一个驱动控制左边两个轮子 另一个驱动控制右边两个轮子来达到四轮驱动的效果,左边两轮正转,右边两轮停止,小车右转。右边两轮正转,左轮停止,小车左转。 |