完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
因为刚刚开始玩电调,所以不太懂,程序中加入红外寻迹之后却达不到所想要的结果。我想要通过寻迹模块来控制涵道电机的转速,但是结果却难以达到(只有可以改变一次状态),请问是什么原因,还是电调不可以这样控制呐?
部分程序如下: /************************************************************************/ /* 电机控制速度 */ /************************************************************************/ /* */ void left_small (void) { push_val_left1 = duojishu[3]; push_val_left2 = duojishu[2]; } void right_small (void) { push_val_left1 = duojishu[2]; push_val_left2 = duojishu[3]; } void straight (void) { push_val_left1 = duojishu[3]; push_val_left2 = duojishu[3]; } void stop (void) { push_val_left1 = duojishu[0]; push_val_left2 = duojishu[0]; } void left_big (void) { push_val_left1 = duojishu[3]; push_val_left2 = duojishu[0]; } void right_big (void) { push_val_left1 = duojishu[0]; push_val_left2 = duojishu[3]; } /************************************************************************/ /* 小车寻迹 */ /************************************************************************/ /* */ void xiaoche() { uchar n; if( (P13==1 && P12==1 && P11==1 && P10==1) || (P13==0 && P12==0 && P11==0 && P10==0) ) straight (); delay1ms(5000); if( P13==1 && P12==0 && P11==1 && P10==1 ) left_small ();delay1ms(5000); if( (P13==0 && P12==0 && P11==0 && P10==1) || (P13==0 && P12==0 && P11==1 && P10==1) || (P13==0 && P12==1 && P11==0 && P10==1) || (P13==0 && P12==1 && P11==1 && P10==1) ) left_big ();delay1ms(5000); if( P13==1 && P12==1 && P11==0 && P10==1 ) right_small();delay1ms(5000); if( (P13==1 && P12==0 && P11==0 && P10==0) || (P13==1 && P12==0 && P11==1 && P10==0) || (P13==1 && P12==1 && P11==0 && P10==0) || (P13==1 && P12==1 && P11==1 && P10==0) ) right_big();delay1ms(5000); if(P13==0 && P12==0 && P11==0 && P10==0) { n++; if(n==2) stop();delay1ms(5000); } } /************************************************************************/ /* Ö÷º¯Êý */ /************************************************************************/ /* */ void main() { TMOD = 0x01; TH0 = (65536 - 70)/256; //70US¶¨Ê± TL0 = (65536 - 70)%256; TR0 = 1; ET0 = 1; EA = 1; push_val_left1 = duojishu[0]; // push_val_left2 = duojishu[0]; delay1ms(5000);delay1ms(5000);delay1ms(5000); delay1ms(5000);delay1ms(5000);delay1ms(5000); delay1ms(5000);delay1ms(5000);delay1ms(5000); delay1ms(5000);delay1ms(5000);delay1ms(5000); delay1ms(5000);delay1ms(5000);delay1ms(5000); push_val_left1 = duojishu[3]; push_val_left2 = duojishu[3]; while(1) { xiaoche(); } } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4858 浏览 1 评论
1652 浏览 0 评论
3625 浏览 1 评论
【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+磁力输送机系统设计的创新与挑战
1761 浏览 0 评论
4559 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 03:36 , Processed in 0.899910 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号