Закрыть ... [X]

Как сделать дальномер на ардуино


Опубликовано: 19.04.2018, 14:13/ Просмотров: 1128

Закрыть ... [X]

Сегодня мы поговорим о том, как подключить ультразвуковой дальномер HC-SR04 к Arduino UNO и снабдить все это экраном LCD1602.

На фотографии не видно, но выходы Trig и Echo подключены ко 2 и 3 выходу Arduino соответственно. Ну а VCC и GND - 5v и земля.

После успешного подключения можно быстро набросать код, который будет высчитывать расстояние в сантиметрах. Код прокомментирован, так что вопросов быть не должно.

// задаем пины int echoPin = 2; int trigPin = 3; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); // отключаем подачу импульса digitalWrite(trigPin, LOW); } void loop() { int duration, cm; // подаем импульс digitalWrite(trigPin, HIGH); // ждем 10 микросекунд delayMicroseconds(10); // отключаем подачу импульса digitalWrite(trigPin, LOW); // считываем длину сигнала duration = pulseIn(echoPin, HIGH); // пересчитываем в сантиметры Serial.print(duration / 58); Serial.println(" cm"); // ждем пол секунды до следующего измерения delay(500); }

 Подключается по данной схеме

Если запустить его и периодически подносить к нему руку, то в консоли можно увидеть следующие измерения:

Если вам вдруг понадобятся миллиметры или дюймы, то это можно легко исправить, переписав в коде пару строк примерно на следующие:

cm = duration / 58;
inch = duration / 148;
mm = duration / 5.8;

Но у нас получается слишком много кода, а если нам потребуется подключить 2 таких дальномера? А если 10? В таком случае разработка превратится в рутину, а в случае какой-то ошибки придется менять все сразу.

Именно здесь нам на помощь приходит библиотека Ultrasonic.

Используя ее, весь прошлый код можно написать следующим образом:

#include <Ultrasonic.h>
Ultrasonic ultrasonic(3,2);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(ultrasonic.Ranging(CM));
Serial.println(" cm");
delay(500);
}

И вывод мы получаем точно такой же, как и в предыдущем случае.

Что ж, теперь усложним задачу. Есть у нас экран - LCD1602. Попробуем подключить его к дальномеру и пусть отображает его данные на своем маленьком экранчике ;)

На самом деле это не так просто, как кажется на первый взгляд.

Вначале тяжкое подключение:

 в этой схеме черт ногу может сломать, но глаза боятся, а руки делают.

А теперь разберем подробнее. У экрана 16 пинов. У моего экрана, по неизвестным мне причинам, пины идут в следующем порядке слева на право - 15, 16, 1, 2 и так до 14. То есть крайний правый 14 порт, а крайний левый 15. Учитывайте это при подключении своего экрана.

А подключаются они следующим образом

1 - земля (-) 2 - питание (+) 3 - земля (-) 4 - 13 порт Arduino 5 - земля (-) 6 - 12 порт Arduino 11 - 11 порт Arduino  12 - 10 порт Arduino 13 - 9 порт Arduino 14 - 8 порт Arduino 15 - питание (+) 16 - земля (-)

Как видите - не особо сложно.

И небольшой код (выведу название магазина и подпись):

#include <LiquidCrystal.h> LiquidCrystal lcd(13,12,11,10,9,8); void setup() { Serial.begin(9600); lcd.begin(16,2); lcd.print("https://ROBOM.RU"); lcd.setCursor(5,1); lcd.print("DOC_tr"); } void loop(){}

Ну а теперь, когда у нас работает дальномер и экран, осталось только соединить код вместе . . .

#include <LiquidCrystal.h> #include <Ultrasonic.h> LiquidCrystal lcd(13,12,11,10,9,8); Ultrasonic ultrasonic(3,2); void setup() { Serial.begin(9600); lcd.begin(16,2); } void loop() { int cm = ultrasonic.Ranging(CM); // очищаем экран lcd.clear(); // устанавливаем курсор в начало lcd.setCursor(0,0); lcd.print(cm); lcd.print(" cm"); // теперь мы не засоряем консоль, и задержку можно поставить поменьше delay(200); }

Извиняюсь за то, что вверх тормашками, просто экран слишком маленькая для того, чтобы подключить дисплей нормально ;)

А теперь подставим что-либо под наш дальномер - с вредной привычкой я так и не расстался, но заменил ее на менее вредную - электронную сигарету, которая и послужила препятствием.

Ну вот на этом, пожалуй, и все. Все используемые в данном уроке компоненты вы можете купить на нашем сайте по привлекательным ценам (ссылки ниже).

Видео версия данной статьи
Источник: https://robom.ru/blog/arduino/podklyuchenie-ul-trazvukovogo-dal-nomer-hc-sr04.html


Поделись с друзьями



Рекомендуем посмотреть ещё:



Похожие новости


Делать улья своими руками
Пожарные машины нарисовать поэтапно
Двор из профнастила своими руками
Как сделать красивые вкладки
Двигатель постоянного своими руками


Как сделать дальномер на ардуино
Как сделать дальномер на ардуино


Подключение дальномера HC-SR04 к Arduino - arduino project
Arduino и ультразвуковой датчик расстояния HC-SR04Arduino-diy



ШОКИРУЮЩИЕ НОВОСТИ