Я использую 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.