ИК луч

one_player
Offline
Зарегистрирован: 15.11.2016

Добрый день, всех с прошедшим и наступающими.

Подскажите пожалуйста как сделать ИК луч на ардуино с дальностью несколько метров. На данный момент что получилось так это подключить ИК приемник (VS1838B) и передатчик, залить стандартный скетч на прием и отправку ик сигнала из библиотеки IRremote. После чего ардуинка начала принимать ик сигнал но на расстоянии в пару сантиметров. Если к примеру взять пульт ДУ то ардуинка вернее VS1838B принимает сигнал и с 5 и 8 метров уверенно.

Как можно добиться такой дальности сигнала как с пульта ДУ?

Logik
Offline
Зарегистрирован: 05.08.2014

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

one_player
Offline
Зарегистрирован: 15.11.2016

Logik пишет:

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

А поподробней? Не силен я в этом, мне бы только луч получить нормальный :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Есть такое дело, порлучил из поднебесной два девайса, там и пульт и датчик кривые. По даташиту обязан принимать на расстоянии до 18 метров, фактически (((
Есть громадное подозрение, что на али в комплектах рассылают отбраковку, так и цена чисто символическая.
В какой-то мере удалось побороть модифицировав код программы (обработка повторов нажатия клавиши), код смогу разместить позднее. По факту инициируем пульт с малого расстояния (полметра) после этого начинает уверенно принимать до трёх метров, далее не проверял, это с родным пультом (шёл в комплекте).

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

one_player пишет:

А поподробней? Не силен я в этом, мне бы только луч получить нормальный :)

Это вам нужно поподробней. Как включён светодиод, от чего запитано. Какой скетч, и.т.д и.т.п.  Классическая ошибка чайника -подключить 100миллиамперный ИК-светодиод на ногу МК через резистор 1 килоом.

one_player
Offline
Зарегистрирован: 15.11.2016

Да по сути все без самодеятельности.

Передатчик в 3й пин анодом, а катодом в землю.

Отпаравка 

#include <IRremote.h>

IRsend irsend;

void setup()
{
}

void loop() {
	for (int i = 0; i < 3; i++) {
		irsend.sendSony(0xa90, 12);
		delay(40);
	}
	delay(5000);
}

Приемник в 11й пин 

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

Все без резисторов, хотя и с ними пробовал результат не меняется.

Делал все и на одной ардуинке и на двух(проводков длинных нет :) )

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

one_player пишет:

Да по сути все без самодеятельности.

Передатчик в 3й пин анодом, а катодом в землю.

Это %$%^   какой-то.   Курите подключение светодиодов к МК  до полного  просветления. Вот например.

Logik
Offline
Зарегистрирован: 05.08.2014

))) Ну чё, вторая классическая ошибка светодиод без резистора.

one_player
Offline
Зарегистрирован: 15.11.2016

Как в примере библиотеки было написано так и сделал. Спасибо за статью, пытаюсь понять что там и как. Если будут еще подсказки, всегда рад.