首先 做下广告
本人从事 电子元件销售
杭州时代电子市场1B085 QQ 42160142
欢迎各位加我 不管是讨论技术 还是 咨询 元件都可以加我!!!
两个H桥 驱动 2个电机
选 传感器的时候的特别注
空车调试好 不代表带负载就能用
最好给传感器部分做稳压
我用最懒的方法 就用胶布调整 发射管
感兴趣的 朋友看下面的视频
[media=x,500,375] %5Bmedia=x,500,375%5Dhttp://www.tudou.com/programs/view/G9h1rA-OFRQ/[/media][/media]
源码
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit che=P1^0; // 前进信号口 sbit daoche=P1^1 ;// 倒车 信号 /* P1.0 前进 信号 高电平有效 P1.1 倒车 信号 高电平 有效 P 3.6 3.7 传感器 输入 接口 低电平有效 P 0.0 0.1 方向输出 高电平 有效 */ int aa; void delay(uint c) { uint a,b; for (a=c;a>0;a--) for(b=110;b>0;b--); } void qj() { daoche=0;che=1; delay(100);che=0;delay(400);} // 前进时 关闭 倒车信号 void ht() { che=0;daoche=1;delay(100);daoche=0;delay(400);} // 倒车时 关闭 前进 信号 void stop() { P1=0xff;} void fxscan() { if(aa==0x7f) // 0111 1111 { P0=0xfe; // 1111 1110 转反方向弯信号 ht(); ht(); P0=0xfd; // 1111 1101 正方向 前进 qj(); P0=0xfc; } // 关闭转弯 if(aa==0xbf) // 1011 1111 { P0=0xfd; ht(); ht(); P0=0xfe;// 转向 qj(); P0=0xfc; } if(aa==0x3f) // 检测横线 停车 { P1=0xff; while(1) ; // 充电宝 自动会重启 不是程序跑飞 } } void main() { aa=0xff; // 初始化 检测 端口 P3=aa; while(1) { aa=P3; fxscan(); qj(); } }
|