Stap 13: Uploaden van de Arduino-Code
Om de lichten op de puzzel om te schakelen op één voor één in reactie op de woorden hebt "één, twee, drie" voor het uploaden van de juiste code vindt u hieronder. Ga naar de arduino software en klik op bestand, nieuw dan kopiëren en plak de code hieronder en uploaden.
#if defined(ARDUINO) & & ARDUINO > = 100
#include "Arduino.h"
#include "SoftwareSerial.h"
SoftwareSerial port(12,13);
#else / / gebruik van de Arduino 0022 - NewSoftSerial bewerkt
#include "WProgram.h"
#include "NewSoftSerial.h"
NewSoftSerial port(12,13);
#endif
#include "EasyVR.h"
EasyVR easyvr(port);
Groepen en opdrachten
Enum groepen
{
GROUP_0 = 0,
GROUP_1 = 1,
};
Enum Group0
{
LETS_COUNT = 0,
};
Enum Groep1
{
G1_ONE = 0,
G1_TWO = 1,
G1_THREE = 2,
};
EasyVRBridge de brug;
int8_t groep, idx;
VOID Setup
{
Bridge-modus?
Als (bridge.check())
{
cli();
Bridge.loop (0, 1, 12, 13);
}
normaal werken
Serial.begin(9600);
Port.begin(9600);
Als (! easyvr.detect())
{
Serial.println ("EasyVR niet gevonden!");
voor (;);
}
easyvr.setPinOutput (EasyVR::IO1, laag);
Serial.println ("EasyVR gedetecteerd!");
easyvr.setTimeout(5);
easyvr.setLanguage(0);
groep = EasyVR::TRIGGER; <--start groep (aanpassen)
pinMode (2, OUTPUT);
digitalWrite (2, laag);
pinMode (3, OUTPUT);
digitalWrite (3, laag);
pinMode (4, OUTPUT);
digitalWrite (4, laag);
}
nietig action();
void loop
{
easyvr.setPinOutput (EasyVR::IO1, hoge); LED aan (luisteren)
Serial.Print ("zeg een commando in groep");
Serial.println(Group);
easyvr.recognizeCommand(group);
doen
{
kan doen enkele bewerkingen tijdens het wachten voor een gesproken commando
}
terwijl (! easyvr.hasFinished());
easyvr.setPinOutput (EasyVR::IO1, laag); OPENDE
idx = easyvr.getWord();
Als (idx > = 0)
{
ingebouwde trigger (ROBOT)
groep = GROUP_X; <--springen naar een andere groep X
terugkeer;
}
idx = easyvr.getCommand();
Als (idx > = 0)
{
Print debug bericht
uint8_t trein = 0;
char naam [32];
Serial.Print ("commando:");
Serial.Print(idx);
Als (easyvr.dumpCommand (groep idx, naam, trein))
{
Serial.Print ("=");
Serial.println(name);
}
anders
Serial.println();
easyvr.playSound (0, EasyVR::VOL_FULL);
een actie laten uitvoeren
Action();
}
anders / / fouten of time-out
{
Als (easyvr.isTimeout())
Serial.println ("time-out, try again...');
int16_t err = easyvr.getError();
Als (err > = 0)
{
Serial.Print ("fout");
Serial.println (err, HEX);
}
groep = GROUP_1;
}
}
VOID action()
{
schakelaar (groep)
{
Case GROUP_0:
schakelaar (idx)
{
Case LETs_COUNT:
groep = GROUP_1;
Schrijf hier uw actiecode
groep = GROUP_X; <-- of springen naar een andere groep X voor samengestelde opdrachten
breken;
}
breken;
Case GROUP_1:
schakelaar (idx)
{
Case G1_ONE:
Serial.println ("In licht");
digitalWrite (2, HIGH);
breken;
Case G1_TWO:
Serial.println ("In licht");
digitalWrite (3, hoge);
breken;
Case G1_THREE:
Serial.println ("In licht");
digitalWrite (4, HIGH);
breken;
}
Schrijf hier uw actiecode
groep = GROUP_X; <-- of springen naar een andere groep X voor samengestelde opdrachten
breken;
}
}