считывание команд ик-пульта ДУ

YaSerg
Offline
Зарегистрирован: 02.03.2017

Всем привет! Я новичок в теме ардуино.

Хочу попробовать скетч считывания кодов с пульта, но при этом на обоих имеющихся платах не доходит дело даже до загрузки.

Скетч:

#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).
 
 
Logik
Offline
Зарегистрирован: 05.08.2014

////Mac OS X 

Вы это серьезно?! Используйте нормальную ОС или не долбите людям плеш.

////WeMos

Это я так понимаю ESP8266. Его наверно и надо указать в качестве плпты, а то "fatal error: avr/interrupt.h" выглядит както странно.

У вас вобще хоть пример блинка компилируется?

vitak
Offline
Зарегистрирован: 10.04.2017

Попробуйте удалить библиотеку RobotRemote у меня она конфликтовала с IRremote, после удаления все скомпилировалось и запустилось.

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

vitak пишет:

Попробуйте удалить библиотеку 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();
}
}                        

 

YaSerg
Offline
Зарегистрирован: 02.03.2017

Проблема действительно была в ОС. Достал старенький комп на винде и всё скопилировалось под ардуино и даже прекрасно работает.

Но под Wemos следующая ошибка:

Arduino: 1.8.2 (Windows XP), Плата:"WeMos D1(Retired), 80 MHz, 115200, 4M (3M SPIFFS)"
 
Изменены опции сборки, пересобираем все
In file included from C:\Documents and Settings\User\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\abi.cpp:23:0:
 
c:\documents and settings\user\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\cxxabi.h:50:32: fatal error: bits/cxxabi_tweaks.h: No such file or directory
 
 #include <bits/cxxabi_tweaks.h>
 
                                ^
 
compilation terminated.
 
exit status 1
Ошибка компиляции для платы WeMos D1(Retired).
 
Код(подправил имя библиотеки и имя пина с буквой D):
/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremoteESP8266.h>

int RECV_PIN = D11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  // In case the interrupt driver crashes on setup, give a clue
  // to the user what's going on.
  Serial.println("Enabling IRin");
  irrecv.enableIRIn(); // Start the receiver
  Serial.println("Enabled IRin");
}

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

 

 

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

а просто пример собирает?

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

а код поста 3 компилируется?

YaSerg
Offline
Зарегистрирован: 02.03.2017
Arduino: 1.8.2 (Windows XP), Плата:"WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)"
 
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:28:27: fatal error: avr/interrupt.h: No such file or directory
 
 #include <avr/interrupt.h>
 
                           ^
 
compilation terminated.
 
Несколько библиотек найдено для "IRremote.h"
 Используется: C:\Program Files\Arduino\libraries\IRremote
Не используется: C:\Documents and Settings\User\Мои документы\Arduino\libraries\Arduino-IRremote-master
exit status 1
Ошибка компиляции для платы WeMos D1(Retired).
 
Logik
Offline
Зарегистрирован: 05.08.2014

Ну смотрите сюда еще раз, я воще уже выделял.

YaSerg пишет:

Arduino: 1.8.2 (Windows XP), Плата:"WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)"
 
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:28:27: fatal error: avr/interrupt.h: No such file or directory
 
 #include <avr/interrupt.h>
 
 

Это ж АВР а не  WeMos!  WeMos это на самом деле ESP8266, его и выбирайте. И называйте его так же лучше, от греха подальше )))

YaSerg
Offline
Зарегистрирован: 02.03.2017

Теперь вот такие дела (

Arduino: 1.8.2 (Windows XP), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 4M (3M SPIFFS), ck, Disabled, None"
 
Изменены опции сборки, пересобираем все
In file included from C:\Documents and Settings\User\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\abi.cpp:23:0:
 
c:\documents and settings\user\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\cxxabi.h:50:32: fatal error: bits/cxxabi_tweaks.h: No such file or directory
 
 #include <bits/cxxabi_tweaks.h>
 
                                ^
 
compilation terminated.
 
exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.
 
Logik
Offline
Зарегистрирован: 05.08.2014

Попробуйте собрать стандартный пример. Блинк хотяб.