云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于飞思卡尔单片机自动循迹小车控制的设计

基于飞思卡尔单片机自动循迹小车控制的设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 15:45:00

基于飞思卡尔单片机自动循迹小车控制的设计

return MostBlackPoint; }

/***************寻找最白的部分***********************/ uint16 SeekCenterSingle3(Image image,uint8 lens) {

uint16 i, white,BestWhite=0, BestWhitePoint; BestWhite = image[lens][65]; for(i=30; i

white=image[lens][i];

white+=image[lens][i-9]; white+=image[lens][i-7]; white+=image[lens][i-5]; white+=image[lens][i-3]; white+=image[lens][i+9]; white+=image[lens][i+7]; white+=image[lens][i+5]; white+=image[lens][i+3]; if(BestWhite

BestWhite=white; BestWhitePoint=i; } }

return(BestWhitePoint); }

uint16 SeekCenterSingle2(Image image,uint8 lens) {

uint16 i, white,BestWhite=0, BestWhitePoint; BestWhite = image[lens][65]; for(i=30; i

white = image[lens][i-28];

white += image[lens][i-21]; white += image[lens][i-14];

`

32

基于飞思卡尔单片机自动循迹小车控制的设计

white += image[lens][i-7]; white += image[lens][i]; white += image[lens][i+7]; white += image[lens][i+14]; white += image[lens][i+21]; white += image[lens][i+28]; if(BestWhite

BestWhite = white; BestWhitePoint = i; } }

return(BestWhitePoint); }

/********************************计算车的偏差**********************/ void CenterFarRow() {

short FarRow;

FarRow=Row-ValidRow; NearRow=FarRow; if(SquareFlag==0) {

while(FarRow>1) //切弯 {

if(JudgeValid(NearRow)) {

STEERING.setpulse=(short)(Gen*atanf((float)S1/(float)Row2CarDISTANCE[NearRow]));//舵机的偏差

if(abs(STEERING.setpulse)>20)

{ Left_Motor.setpulse=(short)(280+ValidRow+(short)((float)(STEERING.setpulse)*SpeedC)); //差速控制

Right_Motor.setpulse=(short)(280+ValidRow-(short)((float)(STEERING.setpulse)*SpeedC));

`

33

基于飞思卡尔单片机自动循迹小车控制的设计

} else {

Left_Motor.setpulse=280+2*ValidRow; Right_Motor.setpulse=280+2*ValidRow; } return; }

NearRow++; if(NearRow>58) { break; } }

Calculate();

if(abs(STEERING.setpulse)>20) {

Left_Motor.setpulse=420+3*ValidRow-5*abs(STEERING.setpulse)+(short)((float)(STEERING.setpulse)*SpeedC);

Right_Motor.setpulse=420+3*ValidRow-5*abs(STEERING.setpulse)-(short)((float)(STEERING.setpulse)*SpeedC); } else {

Left_Motor.setpulse=480+3*ValidRow-5*abs(STEERING.setpulse); Right_Motor.setpulse=480+3*ValidRow-5*abs(STEERING.setpulse); } } else {

SquareSeek(); } }

`

34

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于飞思卡尔单片机自动循迹小车控制的设计 return MostBlackPoint; } /***************寻找最白的部分***********************/ uint16 SeekCenterSingle3(Image image,uint8 lens) { uint16 i, white,BestWhite=0, BestWhitePoint; BestWhite = image[lens][65]; for(i=30; i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com