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
}
}
}
}
