Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Arduino-датчик приближенности: сборка, подключение и код для HC-SR04 и ИК-модулей

Датчик приближенности позволяет Arduino обнаруживать предметы без контакта: открывать дверь при подходе, останавливать робота перед стеной, включать подсветку при появлении рук. Разберём два популярных типа: ультразвуковой HC-SR04 (дальность 2–400 см) и оптический ИК-модуль (ближний диапазон 2–30 см).

Типы датчиков и выбор

Выбор: HC-SR04 — для точного измерения расстояния (роботы, парковка, уровень воды). ИК — для простого «есть/нет» объекта близко (счётчик посетителей, автомат мыла, концевик).

Подключение HC-SR04 к Arduino Uno/Nano

HC-SR04        Arduino
VCC     →      5V
Trig    →      D9 (любой цифровой)
Echo    →      D10 (любой цифровой, лучше с прерыванием)
GND     →      GND

Важно: Echo выдаёт 5 В логики. На 3,3-вольтовых платах (ESP32, Arduino Due, Nano 33 IoT) нужен делитель напряжения: 1 кОм (Echo→D10) + 2 кОм (D10→GND).

Подключение ИК-модуля (3 пина)

ИК-модуль    Arduino
VCC    →     5V
OUT    →     D2 (или любой цифровой)
GND    →     GND

На плате модуля есть потенциометр — регулирует порог срабатывания (дальность). Поверните по часовой — дальше, против — ближе. Желательно калибровать на месте установки.

Код для HC-SR04 (измерение расстояния в см)

const uint8_t TRIG = 9;
const uint8_t ECHO = 10;

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  Serial.begin(115200);
}

void loop() {
  // Импульс 10 мкс
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);

  // Длительность эха в мкс
  uint32_t duration = pulseIn(ECHO, HIGH, 30000UL); // таймаут 30 мс = 5 м
  if (duration == 0) {
    Serial.println("Timeout / out of range");
  } else {
    float distance_cm = duration * 0.01715f; // (343 м/с / 2) / 10000
    Serial.print("Distance: ");
    Serial.print(distance_cm, 1);
    Serial.println(" cm");
  }
  delay(100);
}

Код для ИК-модуля (цифровой выход HIGH/LOW)

const uint8_t IR_PIN = 2;
const uint8_t LED_PIN = 13;

void setup() {
  pinMode(IR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  bool object = digitalRead(IR_PIN); // HIGH = объект есть (у многих модулей)
  digitalWrite(LED_PIN, object);
  Serial.println(object ? "Object detected" : "Clear");
  delay(50);
}

Примечание: У некоторых модулей логика инвертирована (LOW = объект). Проверьте Serial-монитор и при необходимости инвертируйте: bool object = !digitalRead(IR_PIN);

Улучшения и практические советы

Примеры проектов

  1. Автоматический дозатор мыла/воды: ИК-модуль + реле/насос + батарейка 18650 + DC-DC 5В.
  2. Робот-избегатор препятствий: 2×HC-SR04 спереди/сбоку + сервопривод руля + L298N.
  3. Умная корзина для мусора: HC-SR04 под крышкой + сервопривод открывания.
  4. Счётчик посетителей: 2×ИК-модуля в дверном проёме (вход/выход) + Arduino + LCD/OLED.
  5. Контроль уровня воды: HC-SR04 сверху вниз к воде в баке (нужен водонепроницаемый вариант JSN-SR04T).

Заключение

Датчик приближенности — один из самых полезных модулей для Arduino. HC-SR04 даёт точное расстояние, ИК-модуль — дешёвое бинарное «есть/нет». Оба подключаются за минуту, код помещается в 20 строк. Главное — правильное питание, калибровка порога и защита от помех. Хотите добавить сервопривод, экран или Wi-Fi-уведомления? Пишите — покажем, как расширить проект.

Промышленные технологии

  1. Arduino-датчики: типы, применения и реальные проекты
  2. Проверка и калибровка датчика влажности для точных измерений
  3. Максимизация эффективности обслуживания на основе состояния: Практическое руководство
  4. Цифровой стадиометр на Arduino: отслеживание роста лазерным датчиком VL53L0X
  5. Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
  6. MKR1000 + DHT22: мониторинг температуры и влажности в Azure в реальном времени
  7. Создание RFID-электрозамка на Arduino: пошаговое руководство по технологии RFID
  8. Цифровой компас в реальном времени на Arduino и Processing
  9. Оптимизация производства и отгрузки: проверенные стратегии снижения затрат и повышения эффективности
  10. Мастерство офисной организации на производственных заводах: проверенные советы для эффективности и снижени…
ПараметрHC-SR04 (Ультразвук)ИК-модуль (FC-51 / E18-D80NK)
Диапазон2 см – 4 м2–30 см (регулируется)
Точность~3 мм~1–2 см
Угол обзора~15° конус~30–40° сектор
Влияние света/цветаНетСильно (чёрное поглощает, зеркало отражает)
Цена~$1–2~$0,5–1,5
ПиныVCC, Trig, Echo, GND (4 пина)VCC, OUT, GND (3 пина)