Salve sono nuovo del forum e volevo un aiutino per risolvere il mio problema con il riconoscimento vocale.Premetto che che capisco poco di programmazione pero mi affascina la cosa. Tornando al problema il riconoscimento vocale funziona bene caricando un gruppo alla volta ma me interessava farli funzionare tutti,logicamente non contemporaneamente ma uno alla volta quando io lo richiamo.Ho un arduino uno ed allego il codice che sto utilizzando senza risultato.Come posso risolvere?
[/int ledPin = 12;//uscita digitale pin 12
int redPin = 11; // uscita digitale pin 11
int greenPin = 10; // uscita digitale pin 10
int bbPin = 9;//uscita digitale pin9
int bluePin = 8; // uscita digitale pin 8
int diego=13;
//-------------------------
int val1 = 0; // iniziazzione della variabile e resa uguale a zero
int val2 = 0; // variabile per memorizzare il valore letto
int val3 = 0; // variabile per memorizzare il valore letto
int val4 = 0; // variabile per memorizzare il valore letto
int val5 = 0; // variabile per memorizzare il valore letto
int val6 = 0;
int val7 = 0;
int val8 = 0;
int val9 = 0;
byte com = 0; //reply from voice recognition
void setup()
{
Serial.begin(9600);
//________________________
// pinMode(13, OUTPUT);//inserito causa accensione fievole del led
//_____________________________
pinMode(ledPin, OUTPUT); // sets the ledPin to be an output
pinMode(redPin, OUTPUT); // sets the redPin to be an output
pinMode(greenPin, OUTPUT); // sets the greenPin to be an output
pinMode(bluePin, OUTPUT); // sets the bluePin to be an output
pinMode(bbPin, OUTPUT);
pinMode(diego,OUTPUT);
delay(2000);
Serial.write(0xAA); // Invia comandi alla porta seriale
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21); //importa gruppo uno
/* */
}
void loop(){
//----------------
while (Serial.available())
{
com = Serial.read();
Serial.println(com);
switch (com)
{
diego=digitalRead(13);
if (diego==HIGH){
Serial.write(0xAA);// Invia comandi alla porta seriale
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x22);}
while (Serial.available())
{
com = Serial.read();
Serial.println(com);
switch (com)
delay(2000);
case 0x11://'cucina' parola per accendere (byte lettura17)
//----------------------
val1 = digitalRead(12); // val1 variabile per lettura stato del pin 12
if (val1 == LOW) { // Se il pin 12 è basso, quindi vera, accendi.Se invece è alto quindi falso vai ad else e spegni
digitalWrite(12, HIGH); //porta il pin 12 alto
Serial.println("luci cucina accese");//invia il dato led acceso sul monitor seiale di arduino tornando a capo
Serial.println(com);
}
else {
digitalWrite(12, LOW);
Serial.print("led spento");//invia il dato led acceso sul monitor seiale di arduino senza tornare a capo
}
if (com==val9){
digitalWrite(13,HIGH);}
else {digitalWrite(13,LOW);
}
break;code]