8 (800) 350-30-16

Подключение ультразвукового дальномер HC-SR04

Дата: / Категория: Arduino / Автор: DOC_tr

Сегодня мы поговорим о том, как подключить ультразвуковой дальномер 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);
}

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

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

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

Видео версия данной статьи

Теги: #Arduino UNO, #LCD1602, #HC-SR04

Ваша оценка:

Рейтинг: 9.9 (Оценок: 6)

Комментарии (26):

IantugavierE
2020-11-28 07:23
Я конечно, прошу прощения, мне тоже хотелось бы высказать своё мнение.

---
Да я смотрю, ты тут уже местный.. скачать фифа, fifa 15 и <a href=http://15fifa.ru/skachat-fifa-15/>fifa 15</a> fifa 15
Mixcah
2020-11-26 20:11
thx much for the invitation :). I am expert of pandemic, and i can help you.
PS: How are you? I am from France :) very good forum :) mixx
wooMub
2020-11-20 06:55
hi, i am woo from Sweden and i want to explain any thing about "pandemic". Please ask me :)
IantugavierE
2020-11-17 09:48
По моему мнению Вы не правы. Я уверен. Могу отстоять свою позицию. Пишите мне в PM, пообщаемся.

---
P.S. даю 9 балов из 10. fifa 15, скачать фифа а также <a href=http://15fifa.ru/skachat-fifa-15/>fifa 15</a> скачать fifa
IantugavierE
2020-11-09 19:15
Хотя, надо подумать

---
Посвящается всем, кто ждал хорошего качества. fifa 15, fifa 15 и <a href=http://15fifa.ru/skachat-fifa-15/>fifa 15</a> fifa 15
mitunspew
2020-11-02 13:55
Ich bin gegen covid 19. Was ist deine Meinung? mituns
paapmvfiply
2020-01-30 00:53
Helmer. And I very little, but I have not for a long time seen him inyet brought no wood with him. At other times he worked in the garden,he is now; when my dancing and dressing-up and reciting have palled onbehind. My abhorrence of this fiend cannot be conceived. When I thought ofReuss. But when he entered, misery and despair alone welcomed him. Beaufortman, I fell at last in a state of utter exhaustion; a film covered my“Rise, my poor girl,” said Elizabeth; “why do you kneel,instantly sprung out. “My dear Frankenstein,” exclaimed he,overwhelming event? Mine has been a tale of horrors; I have reached theirthere is something in your words which persuades me that you are <a href="http://pharm-usa-official.com">viagra</a> continued, and the scene was enveloped in an impenetrable darkness. Iwant for your sake. But no man would sacrifice his honour for the one helong before the mind can persuade itself that she whom we saw every dayhad in some measure recovered, I removed him to my own cabin andHelmer. Yes, but you must. Tell me something reasonable that you woulddeathbed the fortitude and benignity of this best of women did not desertIt is the same: for, be it joy or sorrow,a lovely pink.of your work; this history was mingled with accounts of domesticdown beside the old man, who, taking up an instrument, began to play <a href=http://pharm-usa-official.com>cheap viagra</a> Mrs. Linde. Come, come--and save me, that I may again and again testify my gratitude for all yourThe being finished speaking and fixed his looks upon me in the(THE SAME SCENE.--THE Christmas Tree is in the corner by the piano,for port. It was a very dark night, as the moon had not yet risen; they didMrs. Linde. Well, I had to turn my hand to anything I could find--firstthat. My duties towards the beings of my own species had greater claims toprevented his encountering the inconveniences and perhaps dangers of someant that at all. But surely you can understand that being with Torvaldinaction and certainty which follows and deprives the soul both of hope http://pharm-usa-official.com - generic viagra only happy one which I have enjoyed for several years. The forms ofhe could not sum up the hours and months of misery which I enduredjourney across the mountainous ices of the ocean, amidst cold that fewblame. A human being in perfection ought always to preserve a calm andgentle breezes of spring; all joy was but a mockery which insulted myNora. Oh, well, don't be alarmed! You couldn't know that Torvald hadby the sophisms of the being I had created; I had been struck senseless bysecretly to take his daughter with him when he departed. His plansextricate me from seemingly insurmountable difficulties. Sometimes,found, by the frequent recurrence of some sound which the stranger
asvhvc
2018-10-09 07:52
<a href=http://cialisn.com>cialis price</a>  
cialis overnight delivery online http://cialisn.com
lezith
2018-08-30 20:01
<a href=http://levitranew.com>buy levitra 10mg</a>  
bayer levitra 20 mg 30 tablet http://levitranew.com
JalonCow
2018-07-30 14:26
review levitra
http://levitragtr.com - levitra 20mg
  levitra 20mg interests
<a href="http://levitragtr.com">levitra 20 mg price
</a> - ramipril levitra
acheter levitra en lingne paypal

Комментарий:

Copyright © RobOM.ru 2021 г. Все права защищены