Серво-радар на Arduino: ультразвуковая система обнаружения объектов
Компоненты и материалы
| Arduino UNO | 1 шт. |
| Ультразвуковой датчик HC-SR04 | 1 шт. |
| Микросервопривод SG90 | 1 шт. |
| Перемычки (набор) | 1 шт. |
| Макетная плата | 1 шт. |
О проекте
Простой радар на базе Arduino: сервопривод поворачивает ультразвуковой датчик HC-SR04 от 0° до 180° и обратно. При обнаружении объекта ближе 10 см в Serial Monitor выводится «object detected» с указанием расстояния и угла.
Принцип работы
- Датчик посылает ультразвуковой пакет (8 циклов по 40 кГц) и измеряет время эха.
- Arduino вычисляет расстояние:
distance = duration * 0.034 / 2(см). - Сервопривод поворачивается шагами: 0→180° (шаг 1°, задержка 15 мс) и 180→0° (шаг 1°, задержка 200 мс с измерением на каждом шаге).
- Данные (угол, расстояние, флаг обнаружения) выводятся в Serial Monitor (9600 бод).
Схема подключения:
HC-SR04: VCC→5V, Trig→D8, Echo→D11, GND→GND
SG90: Питание→5V, GND→GND, Signal→D3
Код (Arduino IDE)
#include <Servo.h>
Servo myservo;
int Ang = 0;
long duration;
int distance;
const int trigpin = 8;
const int echopin = 11;
void setup() {
Serial.begin(9600);
myservo.attach(3);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
}
void loop() {
// Прямой ход 0→180° (только поворот, без измерений)
for (Ang = 0; Ang <= 180; Ang += 1) {
myservo.write(Ang);
delay(15);
}
// Обратный ход 180→0° с измерением на каждом шаге
for (Ang = 180; Ang >= 0; Ang -= 1) {
myservo.write(Ang);
delay(200);
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
digitalWrite(trigpin, HIGH);
delayMicroseconds(15); // 10 мс по даташиту, здесь 15 — запас
digitalWrite(trigpin, LOW);
duration = pulseIn(echopin, HIGH);
distance = duration * 0.034 / 2;
Serial.println("Distance");
Serial.println(distance);
Serial.println("Angle");
Serial.println(Ang);
if (distance <= 10) Serial.println("object detected");
}
}
Схема подключения (текстово)
Sensor Arduino VCC 5V Trig D8 Echo D11 GND GND Servo Arduino VCC (red) 5V GND (brown) GND Signal (orange) D3
Фото схемы см. в разделе «Schematics» оригинала.
Производственный процесс
- Раскрытие предиктивного обслуживания: будущее производственной надежности
- Когда заменять доклевелер: ключевые признаки и причины
- Как моделирование стимулирует инновации и эффективность в проектировании продуктов
- За пределами автоматизации: почему гиперавтоматизация движет бизнес-эффективностью
- Понимание порталов: типы, применение и советы по перемещению
- Защитите наружное оборудование: не время ли заменить штормовые тормоза?
- Обязательное обслуживание барабанных тормозов: безопасность и надежность техники
- Профессиональные решения ЧПУ фрезерования для деталей высокой точности
- Найдите идеальный 5-осевой VMC для ваших производственных нужд
- Электрический трубогиб — точное гибование EMT и жестких коробов