ИК-светодиод и ИК-датчик на одной Ардуинке

Ritu
Offline
Зарегистрирован: 30.11.2017

Здравствуйте! 

 

Нужно нам для проекта на одной Arduino Nano заупстить ИК-светодиод и считать, что он показывает. 

Но такой код не работает:

#include <IRremote.h>
#include <IRremoteInt.h>

decode_results results;
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
IRsend irsend;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
}

void loop() {

  for (int i = 0; i < 3; i++) {
    irsend.sendSony(0xa90, 12);
    delay(10);
  }
   
  if ( irrecv.decode( &results )) { // если данные пришли
    Serial.println( results.value, HEX ); // печатаем данные
    irrecv.resume(); // принимаем следующую команду
  }
  
}

Почему?

sadman41
Offline
Зарегистрирован: 19.10.2016

То есть вы в for() мигаете, а потом через полчаса ловите ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ritu пишет:

Почему?

Вы попробуйте

1. включите фонарик;
2. посветить в окно
3. выключите фонарик
4. выйдите во двор и посмотрите на окно.

В этом месте можете начинать удивляться, что не видите светящегося фонарика.

В Вашем коде делается именно это.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

патомуш, пока вы ждали 10 миллисекунд в делай, ваш инфракрасный луч уже Марс пролетает

Araris
Offline
Зарегистрирован: 09.11.2012

Искажение пространственно-временного континуума надо задействовать, тогда будет работать.

Ritu
Offline
Зарегистрирован: 30.11.2017

Как тогда это реализовать?

sadman41
Offline
Зарегистрирован: 19.10.2016

Исчерпывающий ответ дан в #4.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Ritu пишет:

Как тогда это реализовать?

Подумайте, как нужно изменить алгоритм из №2, чтобы увидеть свет в окошке.