Hier is de YouTube video met de resultaten:
Dit is de Arduino schets die controles van de leds en opgehaald van de gegevens die worden verzonden vanaf de BitVoicer:
Bevat de bibliotheek van de BitVoicer aan de schets Stelt de pinnen en de standaard variabelen Maakt een nieuw exemplaar van de klasse BitVoicerSerial VOID Setup void loop
#include < BitVoicer.h >
int pinR = 3;
int pinY = 5;
int pinG = 6;
int blinkDelay = 250;
int sequenceDir = 0;
int lightLevel = 0;
Seriële poort op 0 ingesteld
BitVoicerSerial bitVoicer = BitVoicerSerial(0);
{
Seriële communicatie begint en stelt de pinModes
Serial.begin(9600);
pinMode (pinR, OUTPUT);
pinMode (pinY, OUTPUT);
pinMode (pinG, uitvoer);
}
{
Haalt gegevens op uit seriële buffer
bitVoicer.getData();
De lus wordt afgesloten, als er was geen tekenreeksgegevens verzameld van getData
Als (bitVoicer.strData == "")
{
terugkeer;
}
Elk van de volgende instructies 'als' presteert een verschillende
taak op basis van de gegevens ontvangen van BitVoicer
Als (bitVoicer.strData == "wake")
{
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(200);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(200);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "slaap")
{
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(200);
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(200);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "RH")
{
digitalWrite (pinR, hoge);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "RL")
{
digitalWrite (pinR, laag);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "YH")
{
digitalWrite (pinY, hoge);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "YL")
{
digitalWrite (pinY, laag);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "GH")
{
digitalWrite (pinG, hoge);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "GL")
{
digitalWrite (pinG, laag);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "blink")
{
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
delay(blinkDelay);
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
delay(blinkDelay);
lightLevel = 255;
}
else if (bitVoicer.strData == "BF")
{
blinkDelay = 100;
bitVoicer.strData = "blink";
lightLevel = 255;
}
else if (bitVoicer.strData == "BFF")
{
schakelaar (blinkDelay)
{
Case 500:
blinkDelay = 250;
breken;
Case 250:
blinkDelay = 100;
breken;
standaard:
breken;
}
bitVoicer.strData = "blink";
lightLevel = 255;
}
else if (bitVoicer.strData == "BS")
{
blinkDelay = 500;
bitVoicer.strData = "blink";
lightLevel = 255;
}
else if (bitVoicer.strData == "BSS")
{
schakelaar (blinkDelay)
{
Case 100:
blinkDelay = 250;
breken;
Case 250:
blinkDelay = 500;
breken;
standaard:
breken;
}
bitVoicer.strData = "blink";
lightLevel = 255;
}
else if (bitVoicer.strData == "volgorde")
{
Als (sequenceDir == 0)
{
digitalWrite (pinR, hoge);
delay(250);
digitalWrite (pinR, laag);
digitalWrite (pinY, hoge);
delay(250);
digitalWrite (pinY, laag);
digitalWrite (pinG, hoge);
delay(250);
digitalWrite (pinG, laag);
}
anders
{
digitalWrite (pinG, hoge);
delay(250);
digitalWrite (pinG, laag);
digitalWrite (pinY, hoge);
delay(250);
digitalWrite (pinY, laag);
digitalWrite (pinR, hoge);
delay(250);
digitalWrite (pinR, laag);
}
lightLevel = 255;
}
else if (bitVoicer.strData == "terug")
{
Als (sequenceDir == 0)
{
sequenceDir = 1;
}
anders
{
sequenceDir = 0;
}
bitVoicer.strData = "volgorde";
lightLevel = 255;
}
else if (bitVoicer.strData == "ALLON")
{
digitalWrite (pinR, hoge);
digitalWrite (pinY, hoge);
digitalWrite (pinG, hoge);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "ALLOFF")
{
digitalWrite (pinR, laag);
digitalWrite (pinY, laag);
digitalWrite (pinG, laag);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "helderder")
{
Als (lightLevel < 255)
{
lightLevel += 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
bitVoicer.strData = "";
}
else if (bitVoicer.strData == "donkerder")
{
Als (lightLevel > 0)
{
lightLevel-= 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
bitVoicer.strData = "";
}
anders
{
Serial.println ("fout:" + bitVoicer.strData);
bitVoicer.strData = "";
}
}
Deze schets de BitVoicer Arduino-bibliotheek die kan worden gedownload van th gebruikt.
De BitVoicer stem Schema die de toespraak getoond in de video herkent is beschikbaar op: http://www.justbuss.xpg.com.br/BitVoicerTest.zip (u moet hebben BitVoicer geïnstalleerd om te openen).
Ik hoop dat jullie veel plezier ermee!