считывание команд ик-пульта ДУ
- Войдите на сайт для отправки комментариев
Пнд, 10/04/2017 - 19:02
Всем привет! Я новичок в теме ардуино.
Хочу попробовать скетч считывания кодов с пульта, но при этом на обоих имеющихся платах не доходит дело даже до загрузки.
Скетч:
#include <IRremote.h>
int RECV_PIN = 5;
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
}
}
Для ардуино при компиляции выводится следующее сообщение:
Arduino: 1.8.1 (Mac OS X), Плата:"Arduino/Genuino Uno"
Изменены опции сборки, пересобираем все
/Applications/Arduino.app/Contents/Java/libraries/RobotIRremote/src/IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // the pin the IR receiver is connected to
^
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Для wemos при компиляции выводится следующее сообщение:
Arduino: 1.8.1 (Mac OS X), Плата:"WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)"
Изменены опции сборки, пересобираем все
/Applications/Arduino.app/Contents/Java/libraries/RobotIRremote/src/IRremote.cpp:23:27: fatal error: avr/interrupt.h: No such file or directory
#include <avr/interrupt.h>
^
compilation terminated.
exit status 1
Ошибка компиляции для платы WeMos D1(Retired).
////Mac OS X
Вы это серьезно?! Используйте нормальную ОС или не долбите людям плеш.
////WeMos
Это я так понимаю ESP8266. Его наверно и надо указать в качестве плпты, а то "fatal error: avr/interrupt.h" выглядит както странно.
У вас вобще хоть пример блинка компилируется?
Попробуйте удалить библиотеку RobotRemote у меня она конфликтовала с IRremote, после удаления все скомпилировалось и запустилось.
Попробуйте удалить библиотеку RobotRemote у меня она конфликтовала с IRremote, после удаления все скомпилировалось и запустилось.
У меня тоже!
Для проверки я использую этот код:
#include "IRremote.h" IRrecv irrecv(11); // Указываем пин, к которому подключен приемник decode_results results; long keyCode; unsigned long last = millis(); void setup() { Serial.begin(9600); // Выставляем скорость COM порта irrecv.enableIRIn(); // Запускаем прием } void loop() { /* if (irrecv.decode(&results)) // Если данные пришли { Serial.println(results.value, HEX); // Отправляем полученную данную в консоль irrecv.resume(); // Принимаем следующую команду } */ if (irrecv.decode(&results)) { if (millis() - last > 250) { keyCode = results.value; Serial.println(keyCode, HEX); } last = millis(); irrecv.resume(); } }Проблема действительно была в ОС. Достал старенький комп на винде и всё скопилировалось под ардуино и даже прекрасно работает.
Но под Wemos следующая ошибка:
а просто пример собирает?
а код поста 3 компилируется?
Ну смотрите сюда еще раз, я воще уже выделял.
Это ж АВР а не WeMos! WeMos это на самом деле ESP8266, его и выбирайте. И называйте его так же лучше, от греха подальше )))
Теперь вот такие дела (
Попробуйте собрать стандартный пример. Блинк хотяб.