Paso 13: Cargar el código de Arduino
Para conseguir las luces en el rompecabezas para encender uno por uno en respuesta a las palabras "uno, dos, tres" tienes que subir el código a continuación. Ir al software de arduino y haga clic en archivo, nueva entonces copie y pegue el código siguiente y subirlo.
#if defined(ARDUINO) & & ARDUINO > = 100
#include "Arduino.h"
#include "SoftwareSerial.h"
SoftwareSerial port(12,13);
#else / / uso de Arduino 0022 - modificado NewSoftSerial
#include "WProgram.h"
#include "NewSoftSerial.h"
Port(12,13) de NewSoftSerial;
#endif
#include "EasyVR.h"
EasyVR easyvr(port);
Grupos y comandos
Grupos de enum
{
GROUP_0 = 0,
GROUP_1 = 1,
};
enum Group0
{
LETS_COUNT = 0,
};
enum Grupo1
{
G1_ONE = 0,
G1_TWO = 1,
G1_THREE = 2,
};
Puente de EasyVRBridge;
Grupo int8_t, idx;
void setup()
{
¿modo de puente?
Si (bridge.check())
{
CLI();
Bridge.loop (0, 1, 12, 13);
}
funcionar normalmente
Serial.Begin(9600);
Port.Begin(9600);
Si (! easyvr.detect())
{
Serial.println (¡ "EasyVR no detectado!");
para (;);
}
easyvr.setPinOutput (EasyVR::IO1, bajo);
Serial.println (¡ "EasyVR detectado!");
easyvr.setTimeout(5);
easyvr.setLanguage(0);
Grupo = EasyVR::TRIGGER; <-Inicio Grupo (personalizar)
pinMode (2, salida);
digitalWrite (2, bajo);
pinMode (3, salida);
digitalWrite (3, bajo);
pinMode (4, salida);
digitalWrite (4, bajo);
}
void action();
void loop()
{
easyvr.setPinOutput (EasyVR::IO1, alto); LED encendido (escuchar)
Serial.Print ("decir un comando de grupo");
Serial.println(Group);
easyvr.recognizeCommand(group);
hacer
{
puede hacer algún tratamiento mientras espera un comando hablado
}
mientras (! easyvr.hasFinished());
easyvr.setPinOutput (EasyVR::IO1, bajo); LED apagado
IDX = easyvr.getWord();
Si (idx > = 0)
{
gatillo incorporado (ROBOT)
Grupo = GROUP_X; <-saltar a otro grupo X
retorno;
}
IDX = easyvr.getCommand();
Si (idx > = 0)
{
mensaje de impresión de depuración
tren de uint8_t = 0;
nombre del Char [32];
Serial.Print ("comando:");
Serial.Print(idx);
Si (easyvr.dumpCommand (grupo, idx, nombre, tren))
{
Serial.Print ("=");
Serial.println(Name);
}
otra cosa
Serial.println();
easyvr.playSound (0, EasyVR::VOL_FULL);
realizar alguna acción
Action();
}
Else / / errores o tiempo de espera
{
Si (easyvr.isTimeout())
Serial.println ("agotado el tiempo, vuelva a intentarlo...");
int16_t err = easyvr.getError();
Si (err > = 0)
{
Serial.Print ("Error");
Serial.println (err, hexagonal);
}
Grupo = GROUP_1;
}
}
void action()
{
interruptor (grupo)
{
caso GROUP_0:
interruptor (idx)
{
caso LETs_COUNT:
Grupo = GROUP_1;
Escriba aquí su código de acción
Grupo = GROUP_X; <- o saltar a otro grupo X para comandos compuestos
rotura;
}
rotura;
caso GROUP_1:
interruptor (idx)
{
caso G1_ONE:
Serial.println ("en la luz");
digitalWrite (2, alto);
rotura;
caso G1_TWO:
Serial.println ("en la luz");
digitalWrite (3, alto);
rotura;
caso G1_THREE:
Serial.println ("en la luz");
digitalWrite (4, alto);
rotura;
}
Escriba aquí su código de acción
Grupo = GROUP_X; <- o saltar a otro grupo X para comandos compuestos
rotura;
}
}