Arduino. Инфракрасный датчик обнаружения препятствий. MH-Series

  1. Плата Arduino. x1
    arduino uno
  2. Компьютер(для написания и загрузке кода, а так же мы будем брать с него электричество и общаться с ним). x1
  3. Провод для соединения компьютера и платы. x1
    USBwire
  4. Инфракрасный датчик обнаружения препятствий.
    ArduinoIRSensor
  5. Провода. x3
    wire
  6. Есть схемы с внешним источником питания, но можно взять питание и с платы.

Схема:

ArduinoIRSensor1_bb ArduinoIRSensor1_схемаArduinoIRSensor1_foto

ArduinoIRSensor2_bb ArduinoIRSensor2_схема

Скетч:

Здесь вполне подойдёт стандартный скетч для подключения кнопки.

Файл -> Примеры ->02.Digital->Button;

Этот скетч мы подробно рассмотрели в статье Arduino. Подключение тактовой кнопки. Так что можно просто посмотреть результат работы данного сенсора:

В видео используется две камеры:

Первая часть снята камерой с плохим фильтром инфракрасного излучения и на листочке видно как светит лампочка инфракрасного излучения.

Вторая часть с камерой изображение которой больше схоже с восприятием глаза человека и свечения лампочки уже не видно.

Другие статьи по программированию плат Arduino можно посмотреть здесь.

Комментарии:

Комментарии 15

  • Добрый день. У меня проблема, не пойму в чем дело. Подключил все как у вас, скетч тот же, но светодиод на пин 13 горит постоянно и тухнет только когда поднесешь что-либо к датчику. У вас же наоборот, светодиод на пин 13 загорается, когда подносишь к датчику предмет.

    • Здравствуйте. Больше всего похоже, на то, что у вас другой датчик. И он действительно так работает. Не думаю, что у вас какая то ошибка подключения или вы не правильно сделали скетч. Было бы интересно посмотреть на его фотографию, что бы сравнить с датчиком из статьи…

    • Там инвертированный сигнал. Вот немного исправленный скетч: const int buttonPin = 4; // вход
      const int ledPin = 9; // выход

      // variables will change:
      int buttonState = 0; // variable for reading the pushbutton status

      void setup() {
      pinMode(ledPin, OUTPUT);
      pinMode(buttonPin, INPUT);
      }

      void loop() {

      buttonState = digitalRead(buttonPin);

      if (buttonState == HIGH) {

      digitalWrite(ledPin, LOW);
      } else {

      digitalWrite(ledPin, HIGH);
      }
      }

  • HI.i dont know your language but anyway it did help!
    i can
    t turn the LED on.what can i do???
    and second, i`ve got 2 same shields that must be both connected to one arduino. is that possible??

  • Подскажите пожалуйста как написать скетч для ардуино уно чтобы датчик препятствия управлял шаговым мотором и драйвером л298н заранее спасибо

  • Обратите внимание, что ик-приемник на датчике слегка погнут.Он так дальше принимает ик-излучение.

  • написал скетч как у вас , выдает ошибку » еxit status 1, Ошибка компиляции для платы Arduino/Genuino Uno, подскажите что делать, уже многое перепробовал

    • если уже многое пробовал, то наверно стоит переустановить Arduino ) что то с библиотеками для платы Arduino… или код всё таки не такой 🙂 можно пщё попытаться обновить платы в ардуино… а эта ошибка именно когда компиляция идёт? может на что то конкретное ругается?

  • Здравствуйте, а если в эту схему на выходе, подключить исполнительный механизм, типа электрических вентилей? как измениться при этом код? по сути же тот же сигнал мы отдаем HIGH и она закрывается, LOW закрывается

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *