Voici le YouTube vidéo avec les résultats :
C’est le sketch Arduino qui contrôle les leds et récupère les données envoyées par BitVoicer :
Inclut la bibliothèque de BitVoicer à l’esquisse Met en place les goupilles et les variables par défaut Crée une nouvelle instance de la classe BitVoicerSerial void setup() void loop()
#include < BitVoicer.h >
pinR int = 3 ;
int pinY = 5 ;
pinG int = 6 ;
int blinkDelay = 250 ;
int sequenceDir = 0 ;
Éclairement int = 0 ;
Met en place port série 0
BitVoicerSerial bitVoicer = BitVoicerSerial(0) ;
{
Démarre la communication sérielle et met en place le pinModes
Serial.Begin(9600) ;
pinMode (pinR, sortie) ;
pinMode (pinY, sortie) ;
pinMode (pinG, sortie) ;
}
{
Récupère des données de tampon série
bitVoicer.getData() ;
Quitte la boucle si aucune chaîne de données a été retournée par getData
Si (bitVoicer.strData == "")
{
retour ;
}
Chacun des énoncés « if » suivante effectue une autre
tâche, basé sur les données provenant de BitVoicer
Si (bitVoicer.strData == « wake »)
{
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(200) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(200) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
bitVoicer.strData = "" ;
Éclairement = 0 ;
}
ElseIf (bitVoicer.strData == « veille »)
{
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(200) ;
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(200) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
bitVoicer.strData = "" ;
Éclairement = 0 ;
}
ElseIf (bitVoicer.strData == « RH »)
{
digitalWrite (pinR, HIGH) ;
bitVoicer.strData = "" ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « RL »)
{
digitalWrite (pinR, faible) ;
bitVoicer.strData = "" ;
Éclairement = 0 ;
}
ElseIf (bitVoicer.strData == « YH »)
{
digitalWrite (pinY, élevé) ;
bitVoicer.strData = "" ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « YL »)
{
digitalWrite (pinY, faible) ;
bitVoicer.strData = "" ;
Éclairement = 0 ;
}
ElseIf (bitVoicer.strData == « GH »)
{
digitalWrite (pinG, HIGH) ;
bitVoicer.strData = "" ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « GL »)
{
digitalWrite (pinG, faible) ;
bitVoicer.strData = "" ;
Éclairement = 0 ;
}
ElseIf (bitVoicer.strData == « blink »)
{
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
Delay(blinkDelay) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
Delay(blinkDelay) ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « BF »)
{
blinkDelay = 100 ;
bitVoicer.strData = « blink » ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « BFF »)
{
Switch (blinkDelay)
{
boîtier 500 :
blinkDelay = 250 ;
rupture ;
boitier 250 :
blinkDelay = 100 ;
rupture ;
par défaut :
rupture ;
}
bitVoicer.strData = « blink » ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « BS »)
{
blinkDelay = 500 ;
bitVoicer.strData = « blink » ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « BSS »)
{
Switch (blinkDelay)
{
boîte de 100 :
blinkDelay = 250 ;
rupture ;
boitier 250 :
blinkDelay = 500 ;
rupture ;
par défaut :
rupture ;
}
bitVoicer.strData = « blink » ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « séquence »)
{
Si (sequenceDir == 0)
{
digitalWrite (pinR, HIGH) ;
Delay(250) ;
digitalWrite (pinR, faible) ;
digitalWrite (pinY, élevé) ;
Delay(250) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, HIGH) ;
Delay(250) ;
digitalWrite (pinG, faible) ;
}
d’autre
{
digitalWrite (pinG, HIGH) ;
Delay(250) ;
digitalWrite (pinG, faible) ;
digitalWrite (pinY, élevé) ;
Delay(250) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinR, HIGH) ;
Delay(250) ;
digitalWrite (pinR, faible) ;
}
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « revenir »)
{
Si (sequenceDir == 0)
{
sequenceDir = 1 ;
}
d’autre
{
sequenceDir = 0 ;
}
bitVoicer.strData = « sequence » ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « ALLON »)
{
digitalWrite (pinR, HIGH) ;
digitalWrite (pinY, élevé) ;
digitalWrite (pinG, HIGH) ;
bitVoicer.strData = "" ;
Éclairement = 255 ;
}
ElseIf (bitVoicer.strData == « ALLOFF »)
{
digitalWrite (pinR, faible) ;
digitalWrite (pinY, faible) ;
digitalWrite (pinG, faible) ;
bitVoicer.strData = "" ;
Éclairement = 0 ;
}
ElseIf (bitVoicer.strData == « plus clair »)
{
Si (éclairement < 255)
{
Éclairement += 85 ;
analogWrite (pinR, éclairement) ;
analogWrite (pinY, éclairement) ;
analogWrite (pinG, éclairement) ;
}
bitVoicer.strData = "" ;
}
ElseIf (bitVoicer.strData == « sombre »)
{
Si (éclairement > 0)
{
Éclairement-= 85 ;
analogWrite (pinR, éclairement) ;
analogWrite (pinY, éclairement) ;
analogWrite (pinG, éclairement) ;
}
bitVoicer.strData = "" ;
}
d’autre
{
Serial.println ("ERROR:" + bitVoicer.strData) ;
bitVoicer.strData = "" ;
}
}
Cette esquisse utilise la bibliothèque d’Arduino BitVoicer qui peut être téléchargé sur th.
Le schéma de voix BitVoicer qui reconnaît le discours montré dans la vidéo est disponible à: http://www.justbuss.xpg.com.br/BitVoicerTest.zip (vous devez avoir BitVoicer installé afin de l’ouvrir).
J’espère que vous les gars s’amuser avec elle !