Ультразвуковой датчик Arduino: как измерять расстояния
Видео по теме: (May 2024).
С Arduino вы можете легко измерять расстояния с помощью ультразвукового датчика. В этом практическом совете мы покажем вам, как.
Ультразвуковой датчик Arduino: как измерять расстояния
Для измерения расстояний вам понадобится макет с несколькими соединительными кабелями, а также ультразвуковой измерительный модуль HC-SR04 в дополнение к Arduino.
- Подключите контакт «Trigger» модуля к контакту 13, а контакт «Echo» - к контакту 12 Arduino. Также подключите ультразвуковой измерительный модуль HC-SR04 к 5 В и заземлению.
- Определите «триггер» как выход и «эхо» как вход. Вам также нужны длинные переменные «длительность» и «расстояние».
- Сначала выключите триггер (»digitalWrite (trigger, LOW);«) и подождите 2 микросекунды (»delayMicroseconds (2);«). Затем включите триггер (»digitalWrite (trigger, HIGH);«), подождите 10 микросекунд (»delayMicroseconds (10);«) и снова выключите его (»digitalWrite (триггер, LOW);«). Используйте это для вычисления длительности (»duration = pulseIn (echo, HIGH);«) и, наконец, фактического расстояния (»distance = (duration / 2) / 29.1;«).
- С помощью этой переменной вы можете продолжать рассчитывать, как вы хотите.
Arduino: пример кода для ультразвукового датчика
На рисунке вы видите код, который вы можете использовать, если хотите использовать HC-SR04 профессионально. Вы также можете скопировать код здесь:
- #include #define триггер 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; большая продолжительность, расстояние; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); void setup () {Serial.begin (9600); pinMode (триггер, ВЫХОД); // Вывод HC-SR04 pinMode (echo, INPUT); // Вывод HC-SR04 pinMode (led_1, OUTPUT); // LED pinMode (led_2, OUTPUT); // LED pinMode (9, OUTPUT); // зуммер lcd.begin (16, 2); } void loop () {digitalWrite (триггер, НИЗКИЙ); delayMicroseconds (2); digitalWrite (триггер, HIGH); delayMicroseconds (10); digitalWrite (триггер, НИЗКИЙ); длительность = pulseIn (эхо, HIGH); расстояние = (продолжительность / 2) / 29, 1; if (distance = 200 || distance <= 0) {Serial.println («Вне диапазона»); } else {Serial.print (distance); Serial.println ("см"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print («Расстояние:»); lcd.print (расстояние); lcd.print («см»); if (distance 0) {value_tone = map (distance, 0, 200, 0, 5000); тон (9, значение_тона); } else {} задержка (500); }
В следующем практическом совете мы покажем вам, как настроить модуль GSM на Arduino.