Buongiorno a tutti! Ho riscontrato un problemino con un progetto.
Trasmetto messaggi vocali da un app android ad arduino MEGA 2560.
Ma a volte le iniziali del messaggio sono MAIUSCOLE ed altre volte MINUSCOLE. (così facendo arduino fa distinzione)
Quindi per ovviare al problema stavo pensando di ricopiare tutti i comandi e mettere le stringhe lette con l'iniziale maiuscola, ricopiare tutto e mettere le stringhe con l'iniziale minuscola.
Dunque ero curioso: c'è un modo più semplice? Cioè comunicare ad arduino di non far differenza.
Vi ringrazio per l'attenzione.
Vi allego il codice (ancora non completo di tutti i comandi)
#include <Servo.h>
Servo servo1;//collo
Servo servo2;//occhi su e giu
String readString;
void setup() {
Serial.begin(38400);
pinMode(13, OUTPUT);
servo1.attach(8);//collo
servo1.write(90);
servo2.attach(9);
servo2.write(45);
}
void loop() {
// put your main code here, to run repeatedly:
while(Serial.available()){
delay(3);
char c = Serial.read();
readString+=c;
}
if(readString.length() >0)
{
Serial.println(readString);
//------------- collo
if(readString == "dritto")
{
servo1.write(90);
}
if(readString == "gira a destra")
{
servo1.write(75);
}
if(readString == "gira di più a destra")
{
servo1.write(55);
}
if(readString == "gira a sinisra")
{
servo1.write(105);
}
if(readString == "gira di più a sinistra")
{
servo1.write(125);
}
//------------ occhi
if(readString == "guarda dritto")
{
servo2.write(45);
}
if(readString == "guarda in alto")
{
servo2.write(5);
}
if(readString == "guarda in basso")
{
servo2.write(85);
}
readString = "";
}
}