标题: 寻迹小车 没什么技术可言超简单 [打印本页]
作者: zqs42160142 时间: 2015-7-7 21:36
标题: 寻迹小车 没什么技术可言超简单
首先 做下广告
本人从事 电子元件销售
杭州时代电子市场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();
}
}
作者: menwawork 时间: 2015-9-5 19:10
这么详细的贴子,赞一个
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |