não sei por que mas meu EasyVR não está se comunicando com o arduino, o problema é o seguinte,

eu coloco para gerar o código no Easy comander e tudo ok, até o momento e adiciono minhas configurações e ok mas quando vou testar para copilar me aparece os seguintes erros,(error:conflicting return type specified for 'virtual void softwareSerial::write(uint8_t)' e o outro (overriding 'virtual size_t Print::write(uint8_t)'.

Alguém teria a solução para esse impasse, estou tentando já há uma semana, desde já OBRIGADO !!! esse é o meu código se alguém puder me ajudar :


#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #include "SoftwareSerial.h"
  SoftwareSerial port(12,13);
#else // Arduino 0022 - use modified NewSoftSerial
  #include "WProgram.h"
  #include "NewSoftSerial.h"
  NewSoftSerial port(12,13);
#endif

#include "EasyVR.h"
EasyVR easyvr(port);

  // define os pinos que usarei
#define releA 3
#define releB 4
#define releC 5
#define releD 6
#define releE 7
#define releF 8

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

enum Group0
{
  G0_UNO = 0,
};

enum Group1
{
  G1_ATIVAR = 0,
  G1_DESATIVAR = 1,
  G1_PARTIDA = 2,
  G1_LANTERNA = 3,
  G1_DESLIGAR_LANTERNA = 4,
  G1_FAROIS = 5,
  G1_DESLIGAR_FAROIS = 6,
};

enum Group16
{
  G16_RODRIGO = 0,
};


EasyVRBridge bridge;
int LDR; // sensor de luz
int cont;
int i;
int8_t group, idx;

void setup()
{
  pinMode (releA,OUTPUT);
  pinMode (releB,OUTPUT);
  pinMode (releC,OUTPUT);
  pinMode (releD,OUTPUT);
  pinMode (releE,OUTPUT);
  pinMode (releF,OUTPUT);
  // bridge mode?
  if (bridge.check())
  {
    cli();
    bridge.loop(0, 1, 12, 13);
  }
  // run normally
  Serial.begin(9600);
  port.begin(9600);

  if (!easyvr.detect())
  {
    Serial.println("EasyVR not detected!");
    for (;;);
  }

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

  group = EasyVR::TRIGGER;
  easyvr.playSound(0,EasyVR::VOL_FULL); //<-- 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
  {
     LDR=0;
  for(i=0;i<=10;i++)
  {
  cont=analogRead(A0); 
  LDR=LDR+cont;
  delay(20);
  }
  LDR=LDR/10;
  Serial.println(LDR);

  (LDR<=200)?(digitalWrite(releA,HIGH)):(digitalWrite(releA,LOW));
  (LDR<=250)?(digitalWrite(releB,HIGH)):(digitalWrite(releB,LOW));
    // 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)
  { easyvr.playSound(1,EasyVR::VOL_FULL);
  group = GROUP_16;
    // 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);
      easyvr.playSound(0,EasyVR::VOL_FULL);
    }
  }
}

void action()
{
    switch (group)
    {
    case GROUP_0:
      switch (idx)
      {
      case G0_UNO:
      easyvr.playSound(1,EasyVR::VOL_FULL);
      group = GROUP_16;
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      }
      break;
    case GROUP_1:
      switch (idx)
      {
      case G1_ATIVAR:
      easyvr.playSound(3,EasyVR::VOL_FULL);
      digitalWrite (releC, HIGH);
      group = GROUP_1;
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_DESATIVAR:
      easyvr.playSound(4,EasyVR::VOL_FULL);
      digitalWrite (releC, LOW);
      group = GROUP_0;
      // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_PARTIDA:
      easyvr.playSound(5,EasyVR::VOL_FULL);
      digitalWrite (releD, HIGH);
      delay (1000);
      digitalWrite (releD, LOW);
      group = GROUP_1;
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_LANTERNA:
      easyvr.playSound(0,EasyVR::VOL_FULL);
      digitalWrite (releE, HIGH);
      group = GROUP_1;
      // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_DESLIGAR_LANTERNA:
      easyvr.playSound(0,EasyVR::VOL_FULL);
      digitalWrite (releE, LOW);
      group = GROUP_1;
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_FAROIS:
      easyvr.playSound(0,EasyVR::VOL_FULL);
      digitalWrite (releF, HIGH);
      group = GROUP_1;
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      case G1_DESLIGAR_FAROIS:
      easyvr.playSound(0,EasyVR::VOL_FULL);
      digitalWrite (releF, LOW);
      group = GROUP_1;
        // 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_RODRIGO:
      easyvr.playSound(2,EasyVR::VOL_FULL);
      group = GROUP_1;
        // write your action code here
        // group = GROUP_X; <-- or jump to another group X for composite commands
        break;
      }
      break;
    }
}

Exibições: 320

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço