ИК-светодиод и ИК-датчик на одной Ардуинке
- Войдите на сайт для отправки комментариев
Чт, 30/11/2017 - 13:52
Здравствуйте!
Нужно нам для проекта на одной 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(); // принимаем следующую команду
}
}
Почему?
То есть вы в for() мигаете, а потом через полчаса ловите ?
Почему?
Вы попробуйте
1. включите фонарик;
2. посветить в окно
3. выключите фонарик
4. выйдите во двор и посмотрите на окно.
В этом месте можете начинать удивляться, что не видите светящегося фонарика.
В Вашем коде делается именно это.
патомуш, пока вы ждали 10 миллисекунд в делай, ваш инфракрасный луч уже Марс пролетает
Искажение пространственно-временного континуума надо задействовать, тогда будет работать.
Как тогда это реализовать?
Исчерпывающий ответ дан в #4.
Как тогда это реализовать?
Подумайте, как нужно изменить алгоритм из №2, чтобы увидеть свет в окошке.