Ayuda ERROR de software de arduino. [SOLUCIONADO]

Hola necesito ayuda!! Tengo una placa arduino leonardo y una easy vr shield 3 unidas. Lo quiero para hacer domotica pero al poner el código de easyvr commander me sale este error al compilar el programa en arduino:

codigo arduino.ino:17:20: fatal error: EasyVR.h: No such or directory compilation termined.
Error de compilación.

Si alguien me pudiera ayudar se lo agradecería. He buscado en todas partes pero no encuentro la respuesta.
Gracias.

#include "Arduino.h"
#if !defined(SERIAL_PORT_MONITOR)
  #error "Arduino version not supported. Please update your IDE to the latest version."
#endif

#if defined(SERIAL_PORT_USBVIRTUAL)
  // Shield Jumper on HW (for Leonardo and Due)
  #define port SERIAL_PORT_HARDWARE
  #define pcSerial SERIAL_PORT_USBVIRTUAL
#else
  // Shield Jumper on SW (using pins 12/13 or 8/9 as RX/TX)
  #include "SoftwareSerial.h"
  SoftwareSerial port(12, 13);
  #define pcSerial SERIAL_PORT_MONITOR
#endif

#include "EasyVR.h"

EasyVR easyvr(port);

//Groups and Commands
enum Groups
{
  GROUP_1  = 1,
  GROUP_16 = 16,
};

enum Group1 
{
  G1_ENCENDER_LAMPARA = 0,
  G1_APAMAR_LAMPARA = 1,
};

enum Group16
{
  G16_CONTRA = 0,
};


int8_t group, idx;

void setup()
{
  // setup PC serial port
  pcSerial.begin(9600);

  // bridge mode?
  int mode = easyvr.bridgeRequested(pcSerial);
  switch (mode)
  {
  case EasyVR::BRIDGE_NONE:
    // setup EasyVR serial port
    port.begin(9600);
    // run normally
    pcSerial.println(F("---"));
    pcSerial.println(F("Bridge not started!"));
    break;
    
  case EasyVR::BRIDGE_NORMAL:
    // setup EasyVR serial port (low speed)
    port.begin(9600);
    // soft-connect the two serial ports (PC and EasyVR)
    easyvr.bridgeLoop(pcSerial);
    // resume normally if aborted
    pcSerial.println(F("---"));
    pcSerial.println(F("Bridge connection aborted!"));
    break;
    
  case EasyVR::BRIDGE_BOOT:
    // setup EasyVR serial port (high speed)
    port.begin(115200);
    // soft-connect the two serial ports (PC and EasyVR)
    easyvr.bridgeLoop(pcSerial);
    // resume normally if aborted
    pcSerial.println(F("---"));
    pcSerial.println(F("Bridge connection aborted!"));
    break;
  }

  while (!easyvr.detect())
  {
    Serial.println("EasyVR not detected!");
    delay(1000);
  }

  easyvr.setPinOutput(EasyVR::IO1, LOW);
  Serial.println("EasyVR detected!");
  easyvr.setTimeout(5);
  easyvr.setLanguage(4);

  group = EasyVR::TRIGGER; //<-- start group (customize)
}

void action();

void loop()
{
  easyvr.setPinOutput(EasyVR::IO1, HIGH); // LED on (listening)

  Serial.print("Say a command in Group ");
  Serial.println(group);
  easyvr.recognizeCommand(group);

  do
  {
    // can do some processing while waiting for a spoken command
  }
  while (!easyvr.hasFinished());
  
  easyvr.setPinOutput(EasyVR::IO1, LOW); // LED off

  idx = easyvr.getWord();
  if (idx >= 0)
  {
    // built-in trigger (ROBOT)
    // group = GROUP_X; <-- jump to another group X
    return;
  }
  idx = easyvr.getCommand();
  if (idx >= 0)
  {
    // print debug message
    uint8_t train = 0;
    char name[32];
    Serial.print("Command: ");
    Serial.print(idx);
    if (easyvr.dumpCommand(group, idx, name, train))
    {
      Serial.print(" = ");
      Serial.println(name);
    }
    else
      Serial.println();
    easyvr.playSound(0, EasyVR::VOL_FULL);
    // perform some action
    action();
  }
  else // errors or timeout
  {
    if (easyvr.isTimeout())
      Serial.println("Timed out, try again...");
    int16_t err = easyvr.getError();
    if (err >= 0)
    {
      Serial.print("Error ");
      Serial.println(err, HEX);
    }
  }
}

void action()
{
    switch (group)
    {
    case GROUP_1:
      switch (idx)
      {
      case G1_ENCENDER_LAMPARA:
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_APAMAR_LAMPARA:
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      }
      break;
    case GROUP_16:
      switch (idx)
      {
      case G16_CONTRA:
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      }
      break;
    }
}

Primero:

lee las normas del foro.
ERROR EN CODIGO, AYDUA URGENTE

Edita este título

punto 3 de las normas

Segundo

#include "Arduino.h"
#if !defined(SERIAL_PORT_MONITOR)
  #error "Arduino version not supported. Please update your IDE to the latest version."
#endif

Que dice ahí? DIce. Versión de Arduino no soportada. Por favor actualice su IDE a la ultima versión.

No te recomiendo la ultima. Descarga la 1.6.0 para una buena compatibilidad.

El error que me pone es este:
fatal error: EasyVR.h: No such file or directory compilation terminated.
Error de compilación.

Me he descargado la versión pero me da el mismo problema.

¿Tienes correctamente instalada la librería EasyVr? El error es que no la encuentra. Instálala en libraries\EasyVr (si el nombre de la carpeta no es EasyVr, renómbrala) y cambia #include "EasyVr.h" por #include <EasyVr.h>.

El código que yo uso se ha creado automáticamente del easy vr commander y me ha dado una archivo suelto .ino osea que no tengo librerías de este.

TIO TE AMO!!!
HE ESTADO MESES BUSCANDO LA RESPUESTA.
LO QUE PASABA ES QUE NO TENIA LA LIBRERIA EASYVR Y SI LA TENÍA LA TENÍA EN examples. LO QUE HE HECHO ES PONER LA LIBRERIA EASYVR EN LA CARPETA LIBRERÍAS Y HE PUESTO EL CODIGO EN ESTA Y ME HA FUNCIONADO!!!
GRACIAS DE VERDAD!

Bueno. Me alegro de haberte ayudado, aunque creo que no era tan difícil la solución. Con haber buscado en google "arduino no such file or directory" enseguida habrías deducido que se trata de un problema de librería no hallada.

Puedes editar el primer post del hilo y modificar el título, agregando [SOLUCIONADO].