Hc-sr04 видит препятствие
- Войдите на сайт для отправки комментариев
Ср, 10/06/2020 - 21:36
Здравствуйте, Ультразвуковой датчик hc-sr04 начал постоянно видеть препятствие и тем самым начинает алгоритм разворота. До недавнего времени датчик работал исправно. Несколько раз полностью разбирал и заново спаявал всю конструкцию, но не помогло. Манипуляции с кодом также ни к чему не привели. Может кто нибудь сталкивался?
Код
#include //Adafruit Motor Driver Shield library
#define Trig A1
#define Echo A0
AF_DCMotor motor1(1); //motor1 connected to M1
AF_DCMotor motor2(2); //motor 2 connected to M2
long duration; //duration of ultrasonic pulse
int distanceCm; //distance in cm
void setup()
{
pinMode(Trig, OUTPUT); //Analog pin A1 connected to TRIG
pinMode(Echo, INPUT); //Analog pin A0 connected to ECHO
motor1.setSpeed(255); //motor speed set to max. range:0-255
motor2.setSpeed(255);
motor1.run(RELEASE); //stop both motors
motor2.run(RELEASE);
}
void loop()
{
digitalWrite(Trig, LOW);
delayMicroseconds(2);
digitalWrite(Trig, HIGH); //give a pulse of 10us on TRIG
delayMicroseconds(10);
digitalWrite(Trig, LOW);
duration = pulseIn(Echo, HIGH);
distanceCm = duration*0.034/2; //convert to distance in cm
if(distanceCm <= 20) //if distance less than 20cm make the turn
{
motor1.run(BACKWARD);
motor2.run(FORWARD); //and motor2.run(FORWARD)
delay(500); //play with delay to set the angle of turn
}
else //else keep moving forward
{
motor1.run(RELEASE);
motor2.run(FORWARD);
}
}
м.б, он по каким-то причинам начал НЕ видеть препятствие?
подсказка: прочитай описание функции pulseIn()
и вставь код, как положено.
Спасибо, попробую