Étape 13 : Télécharger le Code de l’Arduino
Afin d’obtenir les lumières sur le puzzle pour mettre en marche un par un en réponse à l’expression "one, two, three", vous devez télécharger le code fourni ci-dessous. Aller vers le logiciel arduino et cliquez sur fichier, nouveau puis copiez et collez le code ci-dessous et chargez-le.
#if defined(ARDUINO) & & ARDUINO > = 100
#include « Arduino.h »
#include « SoftwareSerial.h »
SoftwareSerial port(12,13) ;
#else / / Arduino 0022 - utilisation modifiée NewSoftSerial
#include « WProgram.h »
#include « NewSoftSerial.h »
NewSoftSerial port(12,13) ;
#endif
#include « EasyVR.h »
EasyVR easyvr(port) ;
Groupes et commandes
enum groupes
{
GROUP_0 = 0,
GROUP_1 = 1,
};
enum Groupe0
{
LETS_COUNT = 0,
};
enum Groupe1
{
G1_ONE = 0,
G1_TWO = 1,
G1_THREE = 2,
};
Pont de EasyVRBridge ;
int8_t groupe, idx ;
void setup()
{
mode pont ?
Si (bridge.check())
{
CLI() ;
Bridge.Loop (0, 1, 12, 13) ;
}
fonctionner normalement
Serial.Begin(9600) ;
port.Begin(9600) ;
Si (! easyvr.detect())
{
Serial.println ("EasyVR non détecté!") ;
pour (;) ;
}
easyvr.setPinOutput (EasyVR::IO1, basse) ;
Serial.println ("EasyVR détectée!") ;
easyvr.setTimeout(5) ;
easyvr.setLanguage(0) ;
Groupe = EasyVR::TRIGGER ; <--Groupe de démarrer (Personnaliser)
pinMode (sortie 2) ;
digitalWrite (2, basse) ;
pinMode (3, sortie) ;
digitalWrite (3, faible) ;
pinMode (sortie 4) ;
digitalWrite (4, faible) ;
}
void action() ;
void loop()
{
easyvr.setPinOutput (EasyVR::IO1, élevé) ; ALLUMÉE (écoute)
Serial.Print ("dire une commande dans le groupe") ;
Serial.println(Group) ;
easyvr.recognizeCommand(group) ;
faire
{
peut procéder à un traitement pendant que vous attendez d’une commande de créations
}
tandis que (! easyvr.hasFinished()) ;
easyvr.setPinOutput (EasyVR::IO1, basse) ; La LED est éteinte
idx = easyvr.getWord() ;
Si (idx > = 0)
{
déclencheur intégré (ROBOT)
Groupe = GROUP_X ; <--sauter à un autre groupe X
retour ;
}
idx = easyvr.getCommand() ;
Si (idx > = 0)
{
message de débogage impression
train d’uint8_t = 0 ;
nom char [32] ;
Serial.Print ("commande:") ;
Serial.Print(idx) ;
Si (easyvr.dumpCommand (groupe, idx, nom, train))
{
Serial.Print ("=") ;
Serial.println(Name) ;
}
d’autre
Serial.println() ;
easyvr.playSound (0, EasyVR::VOL_FULL) ;
effectuer une action
action() ;
}
else / / erreurs ou timeout
{
Si (easyvr.isTimeout())
Serial.println ("Timed out, try again...") ;
int16_t err = easyvr.getError() ;
Si (err > = 0)
{
Serial.Print ("erreur") ;
Serial.println (err, HEX) ;
}
Groupe = GROUP_1 ;
}
}
void action()
{
commutateur (groupe)
{
affaire GROUP_0 :
commutateur (idx)
{
affaire LETs_COUNT :
Groupe = GROUP_1 ;
tapez votre code de l’action ici
Groupe = GROUP_X ; <--ou passer à un autre groupe X pour commandes composites
rupture ;
}
rupture ;
affaire GROUP_1 :
commutateur (idx)
{
affaire G1_ONE :
Serial.println (« dans la lumière") ;
digitalWrite (2, haut) ;
rupture ;
affaire G1_TWO :
Serial.println (« dans la lumière") ;
digitalWrite (3, élevée) ;
rupture ;
affaire G1_THREE :
Serial.println (« dans la lumière") ;
digitalWrite (4, élevée) ;
rupture ;
}
tapez votre code de l’action ici
Groupe = GROUP_X ; <--ou passer à un autre groupe X pour commandes composites
rupture ;
}
}