中易网

求arduino避障小车程序,急!(高额悬赏)

答案:3  悬赏:0  
解决时间 2021-01-18 14:34
  • 提问者网友:爱唱彩虹
  • 2021-01-17 17:12
求arduino避障小车程序,急!(高额悬赏)
最佳答案
  • 二级知识专家网友:酒安江南
  • 2021-01-17 17:46
//舵机和超声波调试代码
#include
#include
Metro measureDistance = Metro(50);
Metro sweepServo = Metro(20);

unsigned long actualDistance = 0;

Servo myservo;//创建舵机
int pos = 60;
int sweepFlag = 1;

int URPWM = 3; //PWM输出0-25000us,每50us代表1cm
int URTRIG= 10; // PWM trigger pin PWM串口为10
uint8_t EnPwmCmd[4]={0x44,0x02,0xbb,0x01};// distance measure command 距离测量命令

void setup(){ // Serial initialization 串行初始化
myservo.attach(9); //舵机串口为9
Serial.begin(9600); // Sets the baud rate to 9600
SensorSetup();
}

void loop(){
if(measureDistance.check() == 1){
actualDistance = MeasureDistance();
//Serial.println(actualDistance);
//delay(100);
}

if(sweepServo.check() == 1){
servoSweep();
}

}

void SensorSetup(){
pinMode(URTRIG,OUTPUT); // A low pull on pin COMP/TRIG
digitalWrite(URTRIG,HIGH);// Set to HIGH
pinMode(URPWM, INPUT);// Sending Enable PWM mode command 发送使能控制模式命令
for(int i=0;i<4;i++){
Serial.write(EnPwmCmd[i]);
}
}

int MeasureDistance(){// a low pull on pin COMP/TRIGtriggering a sensor reading 触发传感器读数
digitalWrite(URTRIG, LOW);
digitalWrite(URTRIG, HIGH); // reading Pin PWM will output pulses读引脚脉宽调制将输出脉冲
unsigned long distance=pulseIn(URPWM,LOW);
if(distance==50000){// the reading is invalid.阅读无效
Serial.print("Invalid");
}else{
distance=distance/50; // every 50us low level stands for 1cm
}
return distance;
}

void servoSweep(){
if(sweepFlag ){
if(pos>=60 && pos<=120){
pos=pos+1;// in steps of 1 degree1度角度的转动
myservo.write(pos); // tell servo to go to position in variable 'pos' 告诉舵机转动的角度
}
if(pos>119)sweepFlag = false; // assign the variable again 重新分配变量
}else {
if(pos>=60 && pos<=120){
pos=pos-1;
myservo.write(pos);
}
if(pos<61)sweepFlag = true;
}
}

////////////////////////////////////////////////////////////

需要加载一个Metro.h的库,这只是调试机器,余下的完全看你的发挥了,加上电机
全部回答
  • 1楼网友:动情书生
  • 2021-01-17 18:46
我暂时保留我的看法!
  • 2楼网友:怀裏藏嬌
  • 2021-01-17 18:14
你应该找卖家要资料啊.......
追问:零件时我自己买的,不是买一整套的套组。简直愁死人...T^T
拜托拜托。
追答:要不你找个卖家买方案吧,你不懂 arduino?
追问:没银行卡,也不会买。不太懂arduino,我在一个月之内要完成这部小车,7月31以前要完成,但是我一开始是连C++都没碰过,从零开始,努力到现在现在眼看就要来不及了。arduino 勉强能读懂,但不会写。
追答:晕那是还没有入门。马上就 31号了啊
你还是想办法x宝上买一下吧,买全套的
硬件和软件配合的东西别人很难帮你,一方面硬件稍微有偏差,软件就无法正常工作,另外一方面,
硬件的好坏之类的都会对没有经验的人造成很大的困扰。
我估计你这个东西完成你的要求至少要 500吧。玩硬件没办法就是很花钱的。
追问:什么500 ??
我没办法再买一套了。
其实这东西当初不是我买的,是要求我做的人买来的...拜托!!
要是愿意QQ语音或视频教学,非常乐意!!
追答:这个东西调试什么的特麻烦,你上 x宝找卖家,让他们提供帮助好了
追问:好的,我试试......
我想到一个问题,他们的都有3个超声波,还有红外线,可是我的只有一个超声波,这样他们的程序......我还得在改...
追答:他们用三个超声波是有他们的道理的。
除非你想用舵机控制一个超声波来回扫.....
追问:对的,用一个,走到前方没路了,左右扫,右边有路先走右边,都没有就180度回转。
求大神!拜托拜托!
追答:呵呵 你说的这个理论上可行,但是实际上需要做的太多了。需要设计的也太多了
还是直接找有没有人做好的成品吧......
ps:你可能很难理解为什么我说的这么困难,我举个最简单的例子,比如:你如果想让小车走出
直线就是非常困难的事情。不同电机力量有差别,轮子大小有细微差别,这些都只有亲手做才会
知道的。解决这个问题有很多方法,最好的还是加上更多的传感器。就是这样
追问:好吧,那至少要先有程序,让我的小车能够前进、避障吧!拜托了!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息