Scheda hc-06

Buongiorno a tutti.

Il mio obiettivo è:
Connettere sia il capo dell umanoide INMOOV (già realizzata) e sia il braccio robotico associato ad esso ad arduino mega 2560.
Ho scelto arduino mega poiché ho necessità di avere molteplici pin: devo collegare ISD 1820 per registrare la mia voce e simulare una conversazione.
Inoltre voglio comandare i movimenti utilizzando i comandi vocali con un applicazione android e utilizzando il modulo HC06.

Il problema seguente è:
Non riesco a far funzionare la comunicazione del modulo HC06.
Sto provando tanti scketch sul web per far accendere e spegnere un led con i comandi vocali. Ma non riesco ad eseguire tutto ciò.
Perchè dopo aver capito come accendere e spegnere un led, riesco benissimo ad attivare e regolare i servomotori/pin che mi servono per comandare il tutto.

La mie domande sono:
E' necessario configurare inizialmente il modulo HC06, prima di provare a caricare un programma per accendere/spegnere un led?
Sto utilizzando arduino mega 2560, cambia qualcosa rispetto ad arduino uno (che possiedo ugualmente) il software per connettere l HC06?
Potete mostrarmi se è possibile uno scketch funzionante?

Spero di essere stato chiaro.
Allego una foto del collegamento dell hc06. Il led è collegato normalmente con una resistenza da 220.

Grazie a tutti.

(Ho notato che in molti usano un baud 38400 per i comandi vocali, influisce tutto ciò?)

Questo è il codice che sto utilizzando:

// HC-06 with Arduino MEGA and LED
// Giuseppe Caccavale
// www.giuseppecaccavale.it

String message; //string that stores the incoming message
const int Led = 13;

void setup()
{
  Serial.begin(9600); //set baud rate
  Serial3.begin(9600); //set baud rate
  pinMode(Led,OUTPUT);
}

void loop()
{
  while(Serial3.available()){
    message+=char(Serial3.read());
  }
  if(!Serial3.available())
  {
    if(message!="")
    {//if data is available
      if(message == "H"){
          digitalWrite(Led, HIGH);
          Serial.println("Led ON"); //show the data
          delay(20);
          message=""; //clear the data
       }
       else if(message == "L"){
          digitalWrite(Led, LOW);
          Serial.println("Led OFF"); //show the data
          delay(20);
          message=""; //clear the data
       }
    }
  }
}

Cattura ard.PNG

Hai provato a seguire questo tutorial?

Ciao,
P.

Ciao grazie mille, mi è sfuggito questo tutorial. Provo e ti faccio sapere.
Ti ringrazio ancora! ;D

Ciao ora va tutto bene! Ma come faccio a modificare il codice per il comando vocale? :slight_smile:

>andreaxsided: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. :wink:

Grazie mille!