Está en la página 1de 1

String mensaje; // Almacena los comandos recibidos del tel�fono

int rojo = 6;
int verde = 5;
int azul = 3;

void setup() {
Serial.begin (9600);
pinMode (7, OUTPUT);
digitalWrite (7, HIGH);
pinMode (rojo, OUTPUT);
pinMode (verde, OUTPUT);
pinMode (azul, OUTPUT);
digitalWrite (verde, HIGH);
digitalWrite (azul, HIGH);
digitalWrite (rojo, HIGH);
}

void loop() {

while (Serial.available()){
delay (10); // Para darle estabilidad
char letra = Serial.read();
mensaje += letra;
}
// Aqu� inician los condicionales para los comandos
if (mensaje.length()> 0){ // La cadena no viene vac�a
leerMensaje (mensaje, rojo, verde, azul);
Serial.println (mensaje);
}
mensaje = "";
}
void leerMensaje (String mensaje, int rojo, int verde, int azul){
String valor;
if (mensaje.charAt(0) == 'A' && mensaje.charAt(1) > 0){
for (int i = 1; i <= 3 ;i++){
valor += mensaje.charAt(i);
}
float numero = valor.toFloat();
numero = map(numero, 0, 255, 255, 0);
analogWrite (azul, numero);
}
if (mensaje.charAt(0) == 'B' && mensaje.charAt(1) > 0){
for (int i = 1; i <= 3 ;i++){
valor += mensaje.charAt(i);
}
float numero = valor.toFloat();
numero = map(numero, 0, 255, 255, 0);
analogWrite (rojo, numero);
}
if (mensaje.charAt(0) == 'C' && mensaje.charAt(1) > 0){
for (int i = 1; i <= 3 ;i++){
valor += mensaje.charAt(i);
}
float numero = valor.toFloat();
numero = map(numero, 0, 255, 255, 0);
analogWrite (verde, numero);
}

También podría gustarte