Пример 17. Модуль HC-SR04
Примеры
ПРИМЕРЫ
- Пример 1. Светодиоды
- Пример 2. Подключение кнопки
- Пример 3. Переключатель
- Пример 4. Активный зуммер
- Пример 5. Пассивный зуммер
- Пример 6. Фоторезистор
- Пример 7. RGB-светодиод
- Пример 8. Семисегментный индикатор и 74HC595N
- Пример 9. Четырехразрядный 7-сегментный индикатор
- Пример 10. Светодиодная матрица
- Пример 11. Светодиодная шкала
- Пример 12. ЖК-дисплей
- Пример 13. Джойстик
- Пример 14. Вольтметр
- Пример 15. Термистор
- Пример 16. Модуль DHT11
- Пример 17. Модуль HC-SR04
- Пример 18. Датчик движения HC-SR501
- Пример 19. Матричная клавиатура
- Пример 20. ИК датчик и пульт
- Пример 21. Модуль часов DS-1302
- Пример 22. RFID-модуль RC522
- Пример 23. Сервопривод
- Пример 24. Модуль реле
- Пример 25. Двигатель постоянного тока
- Пример 26. Шаговый двигатель и драйвер ULN2003
- Пример 27. Драйвер двигателей на L298N
- Пример 28. MP3-плеер DFPlayer Mini
- Пример 29. Датчик уровня воды
- Пример 30. Serial Port
- Пример 31. Симуляция парковки
- Пример 32. Датчик температуры DS18B20
- Пример 33. Bluetooth-модуль HC-06
- Пример 34. Плата расширения с дисплеем и кнопками
- Пример 35. Плата расширения для двигателей на L293D
- Пример 36. Ethernet шилд W5100
- Пример 37. GSM/GPRS шилд SIM900
- Пример 38. GPS модуль Ublox NEO-6M
- Пример 39. Модуль считывания отпечатков пальцев
- Пример 40. Шаговый двигатель NEMA17 и драйвер TB6600
Ультразвуковой модуль измерения расстояния HC-SR04 может служить прекрасным датчиком для робота, благодаря которому он сможет определять расстояния до объектов, объезжать препятствия, или строить карту помещения. Его можно также использовать в качестве датчика для сигнализации, срабатывающего при приближении объектов.
Ультразвуковой дальномер определяет расстояние до объектов точно так же, как это делают дельфины или летучие мыши. Он генерирует звуковые импульсы на частоте 40 кГц и слушает эхо. По времени распространения звуковой волны туда и обратно можно однозначно определить расстояние до объекта.
Модуль оборудован четырехпиновым разъемом стандарта 2.54мм:
- Vcc – положительный контакт питания;
- Trig – цифровой вход. Для запуска измерения необходимо подать на этот вход логическую единицу на 10 мкс. Следующее измерение рекомендуется выполнять не ранее чем через 50 мс;
- Echo – цифровой выход. После завершения измерения, на этот выход будет подана логическая единица на время, пропорциональное расстоянию до объекта;
- GND – отрицательный контакт питания.
Описание:
В этом примере продемонстрируем работу с данным модулем. Выведем значение расстояния между датчиком расстояния и препятствием на ЖК-дисплей. Вам также будет необходимо скачать библиотеку NewPing.
Компоненты:
Схема:
Скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#include <Wire.h> // библиотека для управления устройствами по I2C #include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602 #include <NewPing.h> #define ECHO_PIN 2 // 2-й вывод подключаем к Echo #define TRIGGER_PIN 3 // 3-й вывод подключаем к Trig #define MAX_DISTANCE 400 // Максимальное расстояние, которое мы хотим отследить (в см). Для данного датчика предельное значение: 400-500 LiquidCrystal_I2C lcd(0x27,16,2); // присваиваем имя lcd для дисплея 16х2 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing устанавливает выводы и макс.расстояние void setup() // процедура setup { lcd.init(); // инициализация LCD дисплея lcd.backlight(); // включение подсветки дисплея Serial.begin(115200); // открываем монитор порта } void loop() // процедура 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"); } |