Проблема чтения ультразвукового датчика в Arduino - PullRequest
0 голосов
/ 14 мая 2019

Я использую Arduino uno и ультразвуковой датчик для измерения расстояния до объекта.Когда я подключаю USB от моего ноутбука к Arduino, он работает нормально.Но когда я вынимаю USB и подключаю внешнее питание к Arduino, Tx и Rx на Arduino не работают, а просто используют предыдущее расстояние.Я не понимаю проблемы.Это проблема с питанием?

const int pingPin = 11; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 12; // Echo Pin of Ultrasonic Sensor
const int ml1=8;
const int ml2=7;
const int mr1=10;
const int mr2=9;
void setup() {
  pinMode(ml1,OUTPUT);
  pinMode(ml2,OUTPUT);
  pinMode(mr1,OUTPUT);
  pinMode(mr2,OUTPUT);
  pinMode(pingPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600); // Starting Serial Terminal
 }

 void loop() {
   long duration;
   long distance;
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH);
   delayMicroseconds(10);
   digitalWrite(pingPin, LOW);
   duration = pulseIn(echoPin, HIGH);
   distance=duration*0.034/2;
   Serial.print(distance);
   Serial.print("cm");
   Serial.println();
  if(distance>8)
   {
    digitalWrite(ml1,LOW);
    digitalWrite(ml2,HIGH);
    digitalWrite(mr1,LOW);
    digitalWrite(mr2,HIGH);
    }
  else{
   digitalWrite(ml1,HIGH);
   digitalWrite(ml2,LOW);
   digitalWrite(mr1,LOW);
   digitalWrite(mr2,HIGH);
   delay(1000);
   digitalWrite(ml1,LOW);
   digitalWrite(ml2,HIGH);
   digitalWrite(mr1,LOW);
   digitalWrite(mr2,HIGH);

   }


   }

На самом деле это робот, избегающий препятствий, и в зависимости от расстояния до объекта, он убегает.Но, как я уже говорил, он не получает показания датчика при удалении USB.

...