Не реагирует на значение переменной
- Войдите на сайт для отправки комментариев
Втр, 18/03/2014 - 16:58
Здраствуйте, проблема находится в loop. Не реагирует на значение napravlenie
#include <Ultrasonic.h> //motorПравый #define dir1PinA 8 //Серый #define dir2PinA 7 //Белый #define speedA 11 //motorЛевый #define dir1PinB 4 //Чёрный #define dir2PinB 2 //Коричневый #define speedB 10 //Sensors// Ultrasonic ultrasonic(6, 9); //Random// int napravlenie = 0 ; void setup() { Serial.begin(9600); pinMode(dir1PinA, OUTPUT); pinMode(dir2PinA, OUTPUT); pinMode(dir1PinB, OUTPUT); pinMode(dir2PinB, OUTPUT); pinMode(speedA, OUTPUT); pinMode(speedB, OUTPUT); } void go_forward(){ digitalWrite(dir1PinA, LOW);//едем вперед digitalWrite(dir2PinA, HIGH); digitalWrite(dir1PinB, LOW); digitalWrite(dir2PinB, HIGH); analogWrite(speedA, 70); analogWrite(speedB, 70); } void go_back(){ digitalWrite(dir1PinA,HIGH); digitalWrite(dir2PinA,LOW); digitalWrite(dir1PinB,HIGH); digitalWrite(dir2PinB,LOW); analogWrite(speedA, 70); analogWrite(speedB, 70); } void go_right(){ digitalWrite(dir1PinA, HIGH); digitalWrite(dir2PinA, LOW); digitalWrite(dir1PinB, LOW); digitalWrite(dir2PinB, HIGH); analogWrite(speedA, 70); analogWrite(speedB, 70); } void go_left(){ digitalWrite(dir1PinA,LOW); digitalWrite(dir2PinA,HIGH); digitalWrite(dir1PinB,HIGH); digitalWrite(dir2PinB,LOW); analogWrite(speedA, 70); analogWrite(speedB, 70); } void loop() { //sensor// float distacne_cm = ultrasonic.Ranging(CM); Serial.println(distacne_cm); //Получаем расстояние до объекта if (distacne_cm < 50){ //едем вперед go_forward(); } else { //уходим от препятствия //не реагирует на значение napravlenie napravlenie=random(1, 4); if (napravlenie=1){ go_back(); }else if(napravlenie=2){ go_right(); }else if(napravlenie=3){ go_left(); } } }
= (assignment)
vs.
==
Сравнение и присваивание - разные операторы.