Посмотрите пожалуйста скетч!

Nikitos20100
Offline
Зарегистрирован: 26.12.2013

Привет! Создал скетч на Atmega2560. Ошибок нет, но работать как надо не хочет.

Вот скетч:

void setup()
{pinMode(7,OUTPUT); // лево
pinMode(2,OUTPUT); // право реверс
pinMode(6,OUTPUT); // право
pinMode(3,OUTPUT); // лево реверс
pinMode(35,OUTPUT);
pinMode(A5,INPUT);} 
int z=100;
int p=0;
int a;
void Stop(int speed){
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  delay(speed);
}
void loop()
{digitalWrite(35,HIGH); // Подать напряжение на задний датчик
  int z=100; // скорость движения 1ая
int x=3000; // время поворота
int c=2000; // время движения вперед на учатске "Турбо"
int v=3000; // время движения после for2
 for(a=0;a<100;a++){
   analogWrite(7,z);
   analogWrite(6,z);
   delay(200);
p=analogRead(A5);
if(p>200)
{
digitalWrite (7,LOW);
delay (5000);
  //` break;
  }
} // закрывает for
for(int y=0;y<1;y++){
digitalWrite(7,HIGH);
delay(x); // время поворота направо
digitalWrite(6,HIGH);
delay(c);
Stop(3000);
digitalWrite(2,HIGH); // право реверс
digitalWrite(3,HIGH);
delay(c);
analogWrite(2,z);
delay(x);
Stop(500);
break;}
for(int b=0;b<5;b++){
  analogWrite(7,z);
 analogWrite(6,z);
 delay(v);
 break;
 }
}

Проблемма в том, что из первого for выбрасывает сразу, не дав выполнить его, хотя бы несколько раз(пока показаний на датчике нету).

Скажите пожалуйста, в чем проблемма может быть?

P.S.

Режим Турбо - когда оба двигателя на HIGH

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Nikitos20100, вы ещё раз посмотрите на свой цикл (36 строка), как он может выполниться?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

Ну 36 выполнится один раз (и по условию только один раз, зачем тогда вообще цикл?). Но закончить даже один проход цикла не получится - вылетит по break, 48 строка.