Всем привет, сегодня я вам покажу как работает ультразвуковой датчик в схеме подключения с Arduino.
Arduino и датчик ультразвука. Определение расстояния до объекта
Arduino и датчик ультразвука. Определение расстояния до объекта
Arduino и датчик ультразвука. Определение расстояния до объекта
Вот примерная схема подключения, с помощью датчика можно измерять расстояние, используем LCD дисплей, переменное сопротивление для регулировки яркости дисплея.
Ультразвуковой датчик имеет четыре контакта: плюс, минус, trigger и echo. Подключение у нас происходит так Ground у нас подключается, как вы видите, по этим контактам, также используем 5 Вольт, и 3,3 Вольта.
Второй разъём на плате подключается к trigger, третий разъем к echo. Пины 7, 8, 9, 10, 11, 12 для подключения дисплея. Так выглядит принципиальная схема, сопротивление, ультразвуковой датчик и lcd-дисплей.
Давайте напишем скетч и протестируем датчик. Как всегда, очищаем лишнее из кода, подключаем библиотеку liquidcrystal для работы с дисплеем, также для того чтобы работать с ультразвуком, нужно будет подключить библиотека Newping.
#include < LiquidCrystal.h> #include < NewPing.h>
Для ее подключения есть два варианта: Скетч – Подключить библиотеку, она идет вместе со средой разработки Arduino, либо скачать из интернета и подключить ZIP библиотеку, указав путь к ней.
Объявим константы которые мы будем использовать для подключения дисплея, также объявим несколько констант: TRIGGER_PIN разъем 2 на плате, ECHO_PIN разъём 3 и укажем максимальную дистанцию MAX_DISTANCE 400 сантиметров.
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); #define TRIGGER_PIN 2 #define ECHO_PIN 3 #define MAX_DISTANCE 400
Также объявим ещё один массив sonar, который нужен для работы с библиотекой NewPing.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
В setup, по желанию, запустим для мониторинга последовательный порт, и подключим LCD Display.
void setup() {
Serial.begin(115200);
lcd.begin(16, 2);
}В цикле loop сделаем задержку 100 миллисекунд, объявляем переменную для sonar, которая будет получать данные с датчика, выведем надпись в последовательный порт Ping.
delay(100); unsigned int uS = sonar.ping();
Разделим наше значение на константу, округление сантиметров для вывода, и выведим единицу измерения в сантиметрах. На первой строке поставим курсор, выведем текст «дистанция», переместим курсор на вторую строчку, выведем 13 пробелов в кавычках, курсор на 9 символ, и произведем тоже самое вычисление, что и раньше, здесь разделим наше значение на некую константу и установим курсор в 12 позицию и выведем значение в сантиметрах.
Serial.print("Ping: ");
Serial.print(uS / US_ROUNDTRIP_CM);
Serial.println("cm");
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(9, 1);
lcd.print(uS / US_ROUNDTRIP_CM);
lcd.setCursor(12, 1);
lcd.print("cm");Вот так примерно у нас это всё будет выглядеть целиком и полностью. Сохраним наш скетч, проверим на ошибки, главное, что у нас подключилась библиотека.
Полный текст скетча
#include < LiquidCrystal.h>
#include < NewPing.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
#define TRIGGER_PIN 2
#define ECHO_PIN 3
#define MAX_DISTANCE 400
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(115200);
lcd.begin(16, 2);
}
void loop() {
delay(100);
unsigned int uS = sonar.ping();
Serial.print("Ping: ");
Serial.print(uS / US_ROUNDTRIP_CM);
Serial.println("cm");
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(9, 1);
lcd.print(uS / US_ROUNDTRIP_CM);
lcd.setCursor(12, 1);
lcd.print("cm");
}Компиляция скетча прошла, загрузим скетч в Arduino и теперь если я буду приближаться, или удаляться от датчика, то соответственно будут меняться показатели на дисплее, расстояние в сантиметрах.
Иногда значение падает до нуля, ультразвук отражается от предметов перед собой, если я поднесу руку к нему, расстояние определяется достаточно точно.
Схему с ультразвуковым датчиком можно использовать в простейшей сигнализации, управлять включением света, или сигнала тревоги при приближении на определенное расстояние и многое другое.
Arduino и датчик ультразвука. Определение расстояния до объекта
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Arduino и датчик ультразвука. Определение расстояния до объекта
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на видео ВКонтакте, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Arduino и датчик ультразвука. Определение расстояния до объекта
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в Рутубе, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!