Посмотрите пожалуйста скетч!
- Войдите на сайт для отправки комментариев
Пт, 14/03/2014 - 18:15
Привет! Создал скетч на 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
Nikitos20100, вы ещё раз посмотрите на свой цикл (36 строка), как он может выполниться?
Ну 36 выполнится один раз (и по условию только один раз, зачем тогда вообще цикл?). Но закончить даже один проход цикла не получится - вылетит по break, 48 строка.