Здравствуйте! цель этого приборчика определять расстояние до объекта с помощью сонара, дальномер. Научимся как установить сонар на Arduino, на примере кода, который включает в себя объяснение, калибровку, и как использовать устройством, чтобы вычислить расстояние. Обратите внимание, что некоторые изображения будут использовать монтажную плату для крепления эхолота к Arduino, а некоторые нет, однако они взаимозаменяемы, так как они одинаковы.
Материалы
Нам понадобится:
1. Плата Arduino
2. Гидроакустический Дальномер
3. перемычки
3.5. провода(необязательно, для использования на макете)
4. макетная плата(опционально)
Схема подключения Гидроакустического дальномера к Arduino



1. Trig подключить к контакту 11
2. Подключить Echo к контакту 10
3. Подключения GND к соответствующим выводам GND на Arduino
4. Подключите vcc к 5В положение на блоке питания с Arduino
Технология подключения
1. Подключите vcc к положительной клемме макетной плате, и GND к отрицательному полюсу
2. Подключите отрицательную клемму GND с Arduino, и положительным выводом на 5В позиция Ардуино
3. Подключить trig, на схеме контактe 8
4. Подключить Echo на схеме контактe 9
Код
Следующий код уже откалиброван, так как он был получен из внешнего источника, которая включала калибровку.
#define trigPin 9 //tells Arduino that the trig pin is pin 9
#define echoPin 10 //tells Arduino that the echo pin is pin 10
void setup() {
Serial.begin (9600); //sets the data rate of transmission to 9600
pinMode(trigPin, OUTPUT); //sets the trigPin as the output
pinMode(echoPin, INPUT); //sets the echoPin as the input
}
void loop() {
float duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
//digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
Serial.println(duration);
distance = (duration / 2) * 0.0344; //calculates the duration into centimeters
if (distance <= 2){
Serial.print("Distance = ");
Serial.println("Out of range"); //doesn't print distance if less that a certain interval
}
else {
Serial.print("Distance = ");
Serial.print(distance); //prints distance within the interval
Serial.println(" cm");
delay(500);
}
delay(500);
}
Запустите Программу
После запуска программы, записывайте данные и удачи вам!
Источник (Source)
Стоимость: ~143