8 (800) 550-13-29
Заказать звонок
Связь с директором
  • Контакты
  • Доставка
  • Оплата
  • База знаний
  • Блог
  • Акции
  • Видео
  • О 3DiY
  • Гос. закупки
  • ...
    3DIY
    3D принтеры
    Всё для 3D принтеров
    • Электроника
      Электроника
    • Механика
      Механика
    • Экструдеры
      Экструдеры
    • Пластик
      Пластик
    • 3D принтеры
      3D принтеры
    • 3D ручки
      3D ручки
    • Сопутствующие
      Сопутствующие
    Arduino/робототехника
    • Arduino
      Arduino
    • Raspberry Pi
      Raspberry Pi
    • Orange Pi
      Orange Pi
    • Одноплатники
      Одноплатники
    • Модули (Shield)
      Модули (Shield)
    • Датчики / Сенсоры
      Датчики / Сенсоры
    • Дисплеи
      Дисплеи
    • Механика
      Механика
    • Макетные платы (Breadboard)
      Макетные платы (Breadboard)
    • Светодиоды
      Светодиоды
    • Провода и кабели
      Провода и кабели
    • Источники питания
      Источники питания
    • Радиодетали
      Радиодетали
    ЧПУ
    • Электроника
      Электроника
    • Электротехника
      Электротехника
    • Электропривод
      Электропривод
    • Направляющие
      Направляющие
    • Передачи
      Передачи
    • Механика
      Механика
    • Конструкционный профиль
      Конструкционный профиль
    • Лазерная резка и аксессуары
      Лазерная резка и аксессуары
    Услуги
    • 3D печать
    • Ремонт 3D принтеров
    Ещё
      3DIY
      3D принтеры
      Каталог
      • 3D принтеры и комплектующие
        3D принтеры и комплектующие
        • Электроника
        • Механика
        • Экструдеры
        • Пластик
        • 3D принтеры
        • 3D ручки
        • Сопутствующие
      • Arduino и робототехника
        Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Orange Pi
        • Одноплатники
        • Модули (Shield)
        • Датчики / Сенсоры
        • Дисплеи
        • Механика
        • Макетные платы (Breadboard)
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • ЧПУ комплектующие
        ЧПУ комплектующие
        • Электроника
        • Электротехника
        • Электропривод
        • Направляющие
        • Передачи
        • Механика
        • Конструкционный профиль
        • Лазерная резка и аксессуары
      Услуги
      • 3D печать
      • Ремонт 3D принтеров
      Блог
      • 3D-печать
      • 3D-принтеры
      База знаний
      • Датчики
      • Модули
      • Платы
      • 3D-принтеры
      • Дисплеи
      • Механика
      • Сопутствующие
      • ЧПУ
      • Проекты
      • Компоненты
      Информация
      • Акции и Скидки
      • Условия доставки
      • Условия оплаты
      • Сashback
      • О нас
        • Наши партнеры
        • Наши клиенты
        • Вакансии
      • Гос. закупки
      Контакты
      • Как до нас добраться
      Ещё
        3DIY
        • 3D принтеры
        • Каталог
          • Назад
          • Каталог
          • 3D принтеры и комплектующие
            • Назад
            • 3D принтеры и комплектующие
            • Электроника
            • Механика
            • Экструдеры
            • Пластик
            • 3D принтеры
            • 3D ручки
            • Сопутствующие
          • Arduino и робототехника
            • Назад
            • Arduino и робототехника
            • Arduino
            • Raspberry Pi
            • Orange Pi
            • Одноплатники
            • Модули (Shield)
            • Датчики / Сенсоры
            • Дисплеи
            • Механика
            • Макетные платы (Breadboard)
            • Светодиоды
            • Провода и кабели
            • Источники питания
            • Радиодетали
          • ЧПУ комплектующие
            • Назад
            • ЧПУ комплектующие
            • Электроника
            • Электротехника
            • Электропривод
            • Направляющие
            • Передачи
            • Механика
            • Конструкционный профиль
            • Лазерная резка и аксессуары
        • Услуги
          • Назад
          • Услуги
          • 3D печать
          • Ремонт 3D принтеров
        • Блог
          • Назад
          • Блог
          • 3D-печать
          • 3D-принтеры
        • База знаний
          • Назад
          • База знаний
          • Датчики
          • Модули
          • Платы
          • 3D-принтеры
          • Дисплеи
          • Механика
          • Сопутствующие
          • ЧПУ
          • Проекты
          • Компоненты
        • Информация
          • Назад
          • Информация
          • Акции и Скидки
          • Условия доставки
          • Условия оплаты
          • Сashback
          • О нас
            • Назад
            • О нас
            • Наши партнеры
            • Наши клиенты
            • Вакансии
          • Гос. закупки
        • Контакты
          • Назад
          • Контакты
          • Как до нас добраться
        • 8 (800) 550-13-29
        Контактная информация
        Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
        info@3d-diy.ru
        • Facebook
        • Вконтакте
        • Instagram
        • YouTube

        Инфракрасный датчик препятствий YL-63

        База знаний
        -
        Датчики
        -
        Пространства
        -Инфракрасный датчик препятствий YL-63
        Поделиться
        • Инфракрасный датчик препятствий YL-63
        Товары
          • Инфракрасный датчик препятствий YL-63
            Быстрый просмотр
            Инфракрасный датчик препятствий YL-63
            Много
            377 руб./шт
            Подробнее
          Цифровой инфракрасный датчик обхода препятствий YL-63 (или FC-51) применяется тогда, когда нужно определить наличие объекта, а точное расстояние до объекта знать необязательно. Датчик состоит из инфракрасного излучателя, и фотоприемника.

          Содержание

          • Обзор
          • Технические характеристики модуля
          • Подключение
          • Пример использования
          • Часто задаваемые вопросы FAQ

          Обзор датчика препятствия YL-63

          Цифровой инфракрасный датчик обхода препятствий YL-63 (или FC-51) (рис.1) применяется тогда, когда нужно определить наличие объекта, а точное  расстояние до объекта  знать необязательно. Датчик состоит из инфракрасного излучателя,  и фотоприемника. ИК источник излучает инфракрасные волны, которые отражаются от препятствия и фиксируются фотоприемником. Датчик обнаруживает препятствия в диапазоне расстояний от нуля до установленной предельной границы. Он построен на основе компаратора LM393, который выдает напряжение на выход по принципу: обнаружено препятствие –логический уровень HIGH, не обнаружено – логический уровень LOW, данное состояние показывает и находящийся на датчике красный светодиод. Пороговое значение зависит от настройки датчика и регулируется с помощью установленного на модуле потенциометра. Для индикации питания  на датчике установлен зеленый светодиод. Датчик применяется в робототехнике для обнаружения препятствий при движении колесных или гусеничных роботов.

          Технические характеристики датчика препятствия YL-63

          • Модель: YL-63(или FC-51)
          • напряжение питания: 3.3–5 В
          • тип датчика: диффузионный
          • компаратор: LM393
          • расстояние обнаружения препятствий: 2 – 30 см
          • эффективный угол обнаружения препятствий: 35°
          • потенциометр для изменения чувствительности
          • светодиод индикации питания
          • светодиод индикации срабатывания
          • размеры: 43 х 16 х 7 мм

          Подключение YL-63 к Arduino

          Модуль имеет 3 вывода:
          • VCC — питание 3-5 В;
          • GND — земля;
          • OUT — цифровой выход.
          Подключим датчик к плате Arduino (Схема соединений на рис. 1) и напишем простой скетч, сигнализирующий звуковым сигналом о наличии препятствия. Загрузим скетч из листинга 1 на плату Arduino и посмотрим как датчик реагирует на препятствия (см. рис. 2).

          Skhema-podklyucheniya-datchika-YL-63-Arduino-1024x492.jpg

          Рисунок 1. Схема соединений подключения датчика YL-63 к плате Arduino

          Загрузим скетч из листинга 1 на плату Arduino и посмотрим как датчик реагирует на препятствия (см. рис. 3).

          Листинг 1
          
          //  Скетч к обзору датчика препятствий YL-63
          //  
          
          // контакт подключения выхода датчика 
          #define PIN_YL63 5  
          // Данные с датчика Y63
          #define barrier digitalRead(PIN_YL63)
          
          void setup() {
            // инициализация последовательного порта
            Serial.begin(9600);
            // настройка контакта подключения датчика в режим INTPUT
            pinMode(PIN_YL63,INTPUT);  
          }
          
          void loop() {
            if (barrier == 1) {
              Serial.println("BARRIER!!!");   // Зона обнаружения препятствия
              while (barrier == 1)            // Ждем выхода
                {;}
            } 
            else {
             Serial.println("not barrier");   // Вне зоны обнаружения препятствия
              while (barrier == 1)            // Ждем входа
                 {;}
            }  
          }
          

          Vyvod-dannyh-monitor-posledovatelnogo-porta.png

          Рисунок 2. Вывод данных в монитор последовательного порта

          С помощью потенциометра поэкспериментируем с установкой порогового значения.

          Пример использования

          Рассмотрим пример использования датчика YL-63 на борту популярной самоходной робототехнической платформы – мобильный робот на базе Arduino (см. 3).

          mobilnyj-robot-Arduino-1024x576.jpg

          Рисунок 3. Робототехническая платформа – мобильный робот на базе Arduino

          Создадим скетч обхода роботом лабиринта. Если при движении робота в лабиринте придерживаться одной его стороны (левой или правой), то выход обязательно будет достигнут (рис. 4).

          Skhema-obhoda-labirinta-robotom-1024x1015.jpg

          Рисунок 4. Схема обхода лабиринта роботом.

          Установим на передний бампер робота три датчика препятствий, два смотрят вперед, один – вправо (см. рис. 5).

          Наличие двух передних датчиков улучшает качество определения препятствий спереди, поскольку один датчик не охватывает всю переднюю зону.

          Podklyuchenie-datchikov-prepyatstvij-Arduino-1024x765.jpg

          Рисунок 5. Подключение датчиков препятствий к мобильному роботу на базе Arduino.

          В скетче проверяем состояние датчиков и в зависимости от полученных данных принимается решение о движении. Датчики подключены к контактам Arduino 2, 12, 13. // Номера портов к которым подключены датчики препятствия. const int  Front1 = 2, Front2 = 12, Right = 13; Создадим в Arduino IDE новый скетч, занесем в него код из листинга 2 и загрузим скетч на плату Arduino.

          Листинг 2
          
          // Объявляем переменные для хранения состояния двух моторов.
          int motor_L1, motor_L2, input_L;
          int motor_R1, motor_R2, input_R;
          // Временные константы служат для точного задания времени на поворот, разворот, движение вперед
          // в миллисекундах.
          const int time_90 = 390;
          // Номера портов к которым подключены датчики препятствия.
          const int  Front1 = 2, Front2 = 12, Right = 13;
          //=========================================
          void setup()
          {
            // Заносим в переменные номера контактов (пинов) Arduino.
            // Для левых и правых моторов машинки.
            setup_motor_system(3, 4, 11, 7, 8, 10);
            //
            pinMode(Front1, INPUT);
            pinMode(Front2, INPUT);
            pinMode(Right, INPUT);
            // Двигатели запущены.
            setspeed(255, 255);
          }
          // Основная программа.
          void loop()
          {
            boolean d_Front1, d_Front2, d_Right;
            d_Front1 = digitalRead(Front1); d_Front2 = digitalRead(Front2); d_Right = digitalRead(Right);
          
            // Если ни один датчик не сработал.
            if (d_Front1 && d_Front2 && d_Right)
            {
              //Замедление правых колес
              setspeed(255, 15);
              forward();//подворот вправо.
            }
            else
            {
              //Если сработал один из передних датчиков и не сработал правый.
              if ((!d_Front1) || (!d_Front2))
              { //Максимальная мощность на все колеса.
                setspeed(255, 255);
                // поворачиваем налево на 90 градусов.
                left();
                delay(time_90 / 5);
              }
              else
              { // Если сработал правый датчик.
                // Замедление левых колес.
                setspeed(15, 255);
                forward();//подворот влево.
              }
            }
          }
          
          // Функция инициализации уравления моторами.
          void setup_motor_system(int L1, int  L2, int iL, int  R1, int R2, int iR)
          {
            // Заносим в переменные номера контактов (пинов) Arduino.
            motor_L1 = L1; motor_L2 = L2; input_L = iL;
            // Для левых и правых моторов машинки.
            motor_R1 = R1; motor_R2 = R2; input_R = iR;
            // Переводим указанные порты в состояние вывода данных.
            pinMode(motor_L1, OUTPUT);
            pinMode(motor_L2, OUTPUT);
            pinMode(input_L, OUTPUT);
            pinMode(motor_R1, OUTPUT);
            pinMode(motor_R2, OUTPUT);
            pinMode(input_R, OUTPUT);
          }
          // Функция задает скорость двигателя.
          void setspeed(int LeftSpeed, int RightSpeed)
          {
            // Задаем ширину положительного фронта от 0 до 255.
            analogWrite(input_L, LeftSpeed);
            analogWrite(input_R, RightSpeed);
            // Чем больше, тем интенсивнее работает мотор.
          }
          // Поворот налево с блокировкой левых колес.
          void forward()
          {
            // Левые колеса вращаются вперед.
            digitalWrite(motor_L1, HIGH);
            digitalWrite(motor_L2, LOW);
            // Правые колеса вращаются вперед.
            digitalWrite(motor_R1, HIGH);
            digitalWrite(motor_R2, LOW);
          }
          // Поворот налево.
          void left()
          {
            // левые колеса вращаются назад
            digitalWrite(motor_L1, LOW);
            digitalWrite(motor_L2, HIGH);
            // правые колеса вращаются.
            digitalWrite(motor_R1, HIGH);
            digitalWrite(motor_R2, LOW);
          }
          
          Запускаем робота в лабиринте и смотрим как он движется в лабиринте.

          Часто задаваемые вопросы FAQ

          1 . Не горит зеленый светодиод
          Проверьте правильность подключения датчика.

          2. Датчик не определяет препятствие на определенном расстоянии
          С помощью протенциометра подберите порог срабатывания датчика.
           

           

           

          Товары
            • Инфракрасный датчик препятствий YL-63
              Быстрый просмотр
              Инфракрасный датчик препятствий YL-63
              Много
              Подробнее

            Назад к списку Следующий проект
            Компания
            О компании
            Политика
            Услуги
            Партнеры
            Клиенты
            Информация
            Акции и скидки
            Условия оплаты
            Условия доставки
            Гарантия на товар
            Кэшбэк
            Как купить
            Вопрос-ответ
            Блог
            База знаний
            Производители
            Будьте всегда в курсе!
            Узнавайте о скидках и акциях первым
            Оставайтесь на связи
            • Вконтакте
            • Facebook
            • Instagram
            • YouTube
            Наши контакты
            8 (800) 550-13-29
            info@3d-diy.ru
            Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
            2021 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники