Инфракрасный датчик расстояния sharp

6 апреля 2019 - Администратор

На данном уроке мы узнаем, как подключить инфракрасный датчик расстояния sharp к Arduino.

Инфракрасный датчик расстояния sharp определяет расстояние по отражённому лучу света, используя излучатель и приемник. Инфракрасный дальномер измеряет расстояние в диапазоне от 10 до 80 см У инфракрасного дальномера  есть мертвая зона непосредственно перед датчиком. Кроме того  этот датчик может не обнаружить поглощающие черные или прозрачные поверхности. Для определения расстояния до поглощающих или прозрачных поверхностей необходимо использовать ультразвуковой датчик расстояния
Подключение инфракрасного дальномера sharp к arduino
чёрный провод  инфракрасного датчика расстояния подключается к порту gnd
красный провод датчика расстояния подключается к порту ардуино 5v
красный провод датчика расстояния подключается к аналоговому порту ардуино ,например к  A0

подключение инфракрасного датчика расстояния sharp к ардуино

Программа для инфракрасного датчика расстояния подключенного к ардуино 

 Для удобной работы с инфракрасным датчиком расстояния sharp в программах Arduino используется библиотека SharpIR. Подробнее о подключение библиотек к программе Arduino рассматривается на уроке подключение библиотек.
Пример программы ардуино для определения расстояния при помощи инфракрасного датчика расстояния. Программа находится во вкладке файлы примеры SharpIR.
Считывание расстояния с датчика расстояния в переменную осуществляется с помощью команды 
Переменная=SharpIR.distance();  
Перед  этим необходимо создать объект инфракрасного датчика с помощью команды 
SharpIR SharpIR(аналоговый порт датчика, модель датчика); 

#include <SharpIR.h>
// подключение библиотеки SharpIR

#define ir A0 // порт к которому подключен датчик
#define model 20150 // модель датчика
SharpIR SharpIR(ir, model); 
 // создание объекта к которому датчика расстояния
void setup() {
// настройки программы
  Serial.begin(9600);
}
void loop() {
  delay(2000);   
// промежудок между считываниями датчиков в 2 с
  int dis=SharpIR.distance();  // создаём переменную, в которую записывается дистанция
  Serial.println(dis); // выводим дистанцию до препятствия
}

Вернуться к содержанию

Комментарии (2)
Verter # 21 апреля 2019 в 11:10 0
Добрый день формучане, а в чем преимущество ИК датчика перед обычным сонаром? Просто у разных ИК довольно большая мертвая зона. И как к примеру можно защить робота от ИК на сумо?
Администратор # 26 апреля 2019 в 14:29 0
Защититься можно программным способом. Если перед нами противник, то едем роботом на него с помощью цикла while
while(dis<20 || ((dis>35) &&( dis<45))
{
движение вперед
считывание датчика
}
остановка робота
Мертвая зона у инфракрасного датчика от 35 до 40, она может меняться в зависимости от датчика