Узнайте, как создать электронную рулетку с помощью ультразвукового датчика HC-SR04 и платы Arduino Uno.
Компоненты
Чтобы подключить ультразвуковой датчик и сделать электронную рулетку нам понадобятся из оборудования:
- Arduino Uno
- HC-SR04 ультразвуковой датчик
- Перемычки
- Макетная плата
Программное обеспечение:
Вы когда-нибудь видели проект робота в виде устройства, которое имеет пару больших мультяшных глаз, и задавались вопросом, зачем они нужны?
Скорее всего, вы видели ультразвуковой датчик. В этом уроке вы узнаете об ультразвуковом датчике HC-SR04, в том числе о том, как подключить его к Arduino, чтобы создать электронную рулетку.
Принцип работы датчика
Ультразвуковой датчик - это устройство, которое использует ультразвуковые волны для измерения расстояния до объекта. Ультразвуковые датчики, представляющие собой тандемы микрофона и динамика, посылают и принимают сверхвысокочастотные звуковые волны для определения расстояния до объекта или насколько он близко. Сверхвысокочастотные звуковые волны отражаются от объекта.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-hc-sr04-1.jpg.webp)
Рисунок ниже показывает сверхвысокочастотные звуковые волны ультразвукового датчика, отражающиеся от поверхности объекта.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-hc-sr04-2.jpg.webp)
Подключение ультразвукового датчика к Arduino с помощью TinkerCad Circuits
С вашим основным пониманием того, как ультразвуковой датчик работает, теперь вы готовы к подключению устройства к Arduino. Чтобы изучить работу ультразвукового датчика, вы можете построить виртуальную функциональную схему с помощью TinkerCad Circuits.
TinkerCad Circuits является бесплатным онлайн-симулятором схем, который позволяет моделировать различные электрические и электронные схемы, прежде чем соединять их на реальной макетной плате. Вы даже можете протестировать проекты Arduino (в том числе код) с TinkerCad Circuits. Вы можете получить ценные знания в области электроники с помощью экспериментов до принятия решения о создании физической схемы.
На рисунке ниже показан проект функционального ультразвукового датчика Arduino, построенного с помощью TinkerCad Circuits.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-hc-sr04-tinkerkad.jpg.webp)
Используйте схему ниже в качестве ориентира, если у вас есть макетная плата для экспериментов с ультразвуковым датчиком.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-hc-sr04-3.jpg.webp)
Подключение ультразвукового датчика к Ардуино на макетной плате
Вы можете использовать схему ультразвукового датчика Arduino, созданную в TinkerCad Circuits, или электрическую схему, показанную на рисунке ниже, чтобы создать свое сенсорное устройство.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-hc-sr04-shema.jpg.webp)
При использовании 4-контактного ультразвукового датчика нормально закрытый штырь (NC) соединен с землей. Вы можете разместить ультразвуковой датчик, как показано на рисунке, на макетной плате и с помощью перемычек закончить проводку к Arduino.
Ниже схема, которую я создал с помощью 4-проводной перемычки, чтобы соединить ультразвуковой датчик и Arduino.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-hc-sr04-5.jpg.webp)
Четырехпроводной перемычка имеет цветовую кодировку. В таблице ниже показаны соединения проводов между Arduino и ультразвуковым датчиком.
Arduino | Ультразвуковой датчик |
---|---|
5V | Красный |
GND | Черный |
Не подсоединен | Белый |
D7 | Желтый |
Вы успешно подключили ультразвуковой датчик к Arduino и теперь готовы загрузить скетч в Arduino.
Скетч
Последняя часть проекта - загрузка кода ультразвукового датчика в Arduino. Подключите Arduino к настольному компьютеру или ноутбуку с помощью USB-кабеля. В Arduino IDE, введите код, представленный ниже. Вы также можете загрузить код на жесткий диск вашего настольного компьютера или ноутбука. В IDE, вы можете загрузить код, нажав на горизонтальную стрелку.
Этот эскиз считывает ультразвуковой дальномер PING))) и возвращает расстояние до ближайшего объекта, находящегося в радиусе действия. Для этого он посылает импульс на датчик, чтобы инициировать считывание, а затем прослушивает, чтобы импульс вернулся. Длина возвращаемого импульса пропорциональна расстоянию до объекта от датчика.
Схема:
- +V подключение PING))) подключено к +5V
- GND-соединение PING))) подключено к заземлению.
- SIG-соединение PING))) подключено к цифровому контакту 7
Код проекта:
const int pingPin = 7;
void setup() {
Serial.begin(9600);
}
void loop()
{
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(2);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
inches = microsecondsToInches(duration);
inches = inches +2;// Ultrasonic Calibration factor
cm = microsecondsToCentimeters(duration);
cm = cm +2; // Ultrasonic Calibration factor
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
В IDE сразу видно изменение данных о расстоянии. На рисунке показаны данные примера сессии измерения расстояния.
![](https://arduinoplus.ru/wp-content/uploads/2020/05/arduino-ping-resultat.png.webp)
Поместите небольшую линейку между ультразвуковым датчиком и объектом, от которого вы измеряете расстояние. Насколько точны ваши показания по сравнению с фактическим измеренным расстоянием?
Измерения должны быть очень близки к идентичным, что означает, что вы успешно создали электронную рулетку. С помощью электронной рулетки вы можете замерять расстояние до различных объектов.
Этот код проекта был изначально создан Дэвидом А Меллисом (David A Mellis), модифицирован Томом Игое (Tom Igoe), а позже модифицирован Доном Уилчером (Don Wilcher). Этот пример кода является публичным.
8 мая 2020 в 17:24
Коротким импульсом (2-5 микросекунды) переводим датчик расстояния в режим эхолокации, при котором в окружающее пространство высылаются ультразвуковые волны с частотой 40 КГц.