• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

IR дальномер Sharp 2Y0A21

9 марта, 2017

Нам понадобится:

Arduino uno: http://ali.ski/gC_mOa

Дальномер Sharp 2Y0A21: http://ali.ski/VZW_wp

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

Датчик Sharp 2YoA21 это аналог ультразвукового дальномера HC-SR04 только он меряет дальность не ультразвуком как его собрат, а инфракрасными диодами.

Согласно даташиту характиристики такие:

  • Напряжение питания: 5В
  • Максимальный потребляемый ток: 40 мА (типичный — 30 мА)
  • Диапазон работы: 10 см — 80 см

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

Ну а тут приведет пример работы данного датчика.

Схема подключения приведена в самом начале статьи.

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

const int IRpin = A0;          // аналоговый пин для подключения выхода Vo сенсора
int value1;                    // для хранения аналогового значения

void setup() {
  Serial.begin(9600);            // Запуск последовательного порта
  }

void loop() {
  Serial.println(irRead(), DEC);
 // получаем сглаженное значение  и переводим в напряжение
 float volts = analogRead(IRpin)*0.0048828125;
 // и в расстояние в см 
 float distance=32*pow(volts,-1.10);
 Serial.print(distance);      // выдаем в порт значение
 delay(200);                    
}

// Усреднение нескольких значений для сглаживания
int irRead() {
  int averaging = 0;             //  переменная для суммирования данных

  // Получение 5 значений
  for (int i=0; i<5; i++) {
    value1 = analogRead(IRpin);
    averaging = averaging + value1;
    delay(55);      // Ожидание 55 ms перед каждым чтением
  }
  value1 = averaging / 5;      // усреднить значения
  return(value1);              
} 

 

Ссылка на скетч: https://yadi.sk/d/iQJALJOS3FNgm3

Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.

Видео:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·