网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月26日漏签0天
arduino吧 关注:75,328贴子:230,136
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回arduino吧
>0< 加载中...

求大神看看程序

  • 只看楼主
  • 收藏

  • 回复
  • ra9
  • 颇具盛名
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//求帮忙看一下哪里出错了,部分无关函数以省去,关键函数中的绝对正确函数会有标记“1”
//问题:1,小车有时在left0_pos(左0转弯位置)时会读取2次卡号,proc路线定位起不到效果
//问题:2,小车经过up_pos(货架位置)无法进入loop函数(请帮忙看看setup函数)
//不同位置对应的RFID卡号
#define RFID_NUMS 4
const char RFID_TABLE[RFID_NUMS][7]=
{"34FE63","34FE5E","34FEA4","A57895"};
//位置
#define up_pos 0 //货架位置
#define left0_pos 1 //左0转弯位置
#define turn_pos 3 //转向位置
#define down3_pos 2 //终点3位置
//小车路线定位
int proc=0;//用来判定(货架)和(左0转弯位置)
//转向判定
int turnP=0;//用来判定(转向位置方向),(货架位置方向)
//货架已经升起标志
bool upFlag=false;
void start(){
//采集传感器数据
sense();//1
//处于右转位置
if(pos==left0_pos) {
if(proc==0){
Stop();//1
turnCross('l');//1
followLineTime();//1
proc=1;
Blink();//1
}
}
//处于货架位置并且还未升起货架
else if(pos==up_pos && upFlag==false ) {
if(proc==1){
Stop();//1
rise();//1
upFlag=true;
proc=2;
Blink();//1
}
}
//循迹
followLine();//1
//延迟
delay(DELAY_IN_LOOP);//1
}
void trans(){
//采集传感器数据
sense();//1
//处于转向1位置
if(pos==turn_pos && turnP==0) {
Stop();//1
turnCross('r');//1
followLineTime();//1
Blink();//1
}
//处于货架位置并且以升起货架
else if(pos==down3_pos && upFlag==true ) {
Stop();//1
fall();//1
turnCross('r');//1
followLineTime();//1
Stop();//1
upFlag=false;
turnP=1;
Blink();//1
}
//返回点2
else if(pos==down3_pos && upFlag==false) {
Stop();//1
turnCross('r');//1
followLineTime();//1
upFlag=true;
Blink();//1
}
//处于转向2位置
else if(pos==turn_pos&&turnP==1) {
Stop();//1
turnCross('l');//1
followLineTime();//1
Blink();//1
}
//处于货架位置并且还未升起货架
else if(pos==up_pos && upFlag==false) {
if(turnP==1){
Stop();//1
turnCross('l');//1
followLineTime();//1
Stop();//1
turnP=2;
Blink();//1
}
}
else if(pos==up_pos && upFlag==false ) {
if(turnP==2){
turnCross('l');//1
followLineTime();//1
Stop();//1
rise();//1
turnP=0;
Blink();//1
}
}
//循迹
followLine();//1
//延迟
delay(DELAY_IN_LOOP);//1
}
void setup() {
while(!(proc==2)){
start();
}
}
void loop() {
trans();
}


  • IT文艺喵
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回arduino吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示