完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一个简单的智能小车.c 程序,2只后轮和一只万向轮,5只红外反射式传感器,其中左右方向用2只,距离近,中远各一只,只用方向控制程序,或者前进停止后退程序时均正常,一旦将方向控制程序+前进停止后退程序时 ,方向控制不能正常工作 敬请哪位老师看看问题出在哪里 谢谢! 智能小车.c 程序 #include ***itPF1=P1^0; //左方向 红外传感器 ***itPF2=P1^1; //右方向 红外传感器 ***itPJ1=P1^2; //近距离 15cm 红外传感器 ***itPJ2=P1^3; //中距离 30cm 红外传感器 ***itPJ3=P1^5; //远距离 50cm 红外传感器 ***itPA1=P0^0; //电机驱动电路 L293D 左轮 ***itPA2=P0^1; ***itPA=P0^4; ***itPB1=P0^2; //电机驱动电路 L293D 左轮 ***itPB2=P0^3; ***itPB=P0^5; voidmain(void) //主程序 { P1=0x00; //程序初始化 P1=0xFF; //P1口置1 while(1) //循环 { if(PJ2==1&&PJ2==1&&PJ3==0)// 距离判断 前进 { PA1=1; //前进 PA2=0; PA=1; PB1=1; PB2=0; PB=1; } elseif(PJ2==1&&PJ2==0&&PJ3==0&&PF1==1&&PF2==0) // 距离+方向判断 左拐 { PA1=1; //左拐 PA2=0; PA=1; PB1=1; PB2=0; PB=0; } elseif(PJ2==1&&PJ2==0&&PJ3==0&&PF1==0&&PF2==1)// 距离+方向判断 右拐 { PA1=1; //右拐 PA2=0; PA=0; PB1=1; PB2=0; PB=1; } elseif(PJ1==1&&PJ2==1&&PJ3==1) // 距离判断 无信号停止 { PA1=1; //无信号 停止 PA2=0; PA=0; PB1=1; PB2=0; PB=0; } elseif(PJ1==0&&PJ2==0&&PJ3==0) // 距离判断 后退 { PA1=0; //后退 PA2=1; PA=1; PB1=0; PB2=1; PB=1; } } } |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
195 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell编程入门之提取字符并设置rtc时间
488 浏览 0 评论
使用LIS2DW12TR加速度传感器可以计算物体重力方向运动的距离吗
671 浏览 1 评论
【敏矽微ME32G070开发板免费体验】介绍、环境搭建、工程测试
382 浏览 0 评论
敏矽微ME32G070开发板开发资料(规格书、库和例程、原理图)
1492 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11939 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-13 21:22 , Processed in 0.591205 second(s), Total 40, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号