ИК луч
- Войдите на сайт для отправки комментариев
Втр, 03/01/2017 - 15:05
Добрый день, всех с прошедшим и наступающими.
Подскажите пожалуйста как сделать ИК луч на ардуино с дальностью несколько метров. На данный момент что получилось так это подключить ИК приемник (VS1838B) и передатчик, залить стандартный скетч на прием и отправку ик сигнала из библиотеки IRremote. После чего ардуинка начала принимать ик сигнал но на расстоянии в пару сантиметров. Если к примеру взять пульт ДУ то ардуинка вернее VS1838B принимает сигнал и с 5 и 8 метров уверенно.
Как можно добиться такой дальности сигнала как с пульта ДУ?
Обеспечить соответствие спектров и частот модуляций передатчика и приемника а также достаточного уровня излучения и чувствительности приемника.
Обеспечить соответствие спектров и частот модуляций передатчика и приемника а также достаточного уровня излучения и чувствительности приемника.
А поподробней? Не силен я в этом, мне бы только луч получить нормальный :)
Есть такое дело, порлучил из поднебесной два девайса, там и пульт и датчик кривые. По даташиту обязан принимать на расстоянии до 18 метров, фактически (((
Есть громадное подозрение, что на али в комплектах рассылают отбраковку, так и цена чисто символическая.
В какой-то мере удалось побороть модифицировав код программы (обработка повторов нажатия клавиши), код смогу разместить позднее. По факту инициируем пульт с малого расстояния (полметра) после этого начинает уверенно принимать до трёх метров, далее не проверял, это с родным пультом (шёл в комплекте).
А поподробней? Не силен я в этом, мне бы только луч получить нормальный :)
Это вам нужно поподробней. Как включён светодиод, от чего запитано. Какой скетч, и.т.д и.т.п. Классическая ошибка чайника -подключить 100миллиамперный ИК-светодиод на ногу МК через резистор 1 килоом.
Да по сути все без самодеятельности.
Передатчик в 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); }Все без резисторов, хотя и с ними пробовал результат не меняется.
Делал все и на одной ардуинке и на двух(проводков длинных нет :) )
Да по сути все без самодеятельности.
Передатчик в 3й пин анодом, а катодом в землю.
Это %$%^ какой-то. Курите подключение светодиодов к МК до полного просветления. Вот например.
))) Ну чё, вторая классическая ошибка светодиод без резистора.
Как в примере библиотеки было написано так и сделал. Спасибо за статью, пытаюсь понять что там и как. Если будут еще подсказки, всегда рад.