Paso 6: programación
Para mi programa utilizó el ejemplo del interruptor ( http://www.arduino.cc/en/Tutorial/SwitchCase2 ) y los modifiqué un poco./*
Instrucción switch con entrada serial
Muestra el uso de una instrucción switch. El interruptor de
declaración le permite elegir entre un conjunto de valores discretos
de una variable. Es como una serie de if declaraciones.
Para ver este sketch en acción, abrir al Serial monitor y enviar cualquier carácter.
Los caracteres a, b, c, d y e, encenderá el LED. Cualquier otro carácter se convertirá
el LED apagado.
El circuito:
* 5 LEDs conectados a los pines digitales 2 a 6 a través de resistencias de 220 ohmios
Esta es una versión modificada del ejemplo de la Página Web de arduino.cc Swith caso 2. (http://www.arduino.cc/en/Tutorial/SwitchCase2)
*/
int analogOutPinG = 9;
int analogOutPinB = 10;
int analogOutPinR = 11;
void setup() {}
inicializar la comunicación serial:
Serial.Begin(9600);
Inicializa los pines de los LED:
pinMode (analogOutPinG, salida);
pinMode (analogOutPinB, salida);
pinMode (analogOutPinR, salida);
}
void loop() {}
leer el sensor:
Si (Serial.available() > 0) {}
int inByte = Serial.read();
hacer algo diferente dependiendo del carácter recibido.
La sentencia switch espera solo valores numéricos para cada caso;
en este ejemplo, sin embargo, utiliza comillas simples para contar
el controlador para obtener el valor ASCII del carácter. Para
ejemplo 'a' = 97, 'b' = 98 y así sucesivamente:
interruptor (inByte) {}
caso 'a':
analogWrite (analogOutPinG, 255);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 0);
rotura;
caso 'b':
analogWrite (analogOutPinG, 255);
analogWrite (analogOutPinB, 220);
analogWrite (analogOutPinR, 0);
rotura;
caso 'c':
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 255);
analogWrite (analogOutPinR, 0);
rotura;
caso sería ':
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 200);
analogWrite (analogOutPinR, 255);
rotura;
caso 'e':
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 255);
rotura;
caso 'f':
analogWrite (analogOutPinG, 200);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 255);
rotura;
caso 'g':
analogWrite (analogOutPinG, 120);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 255);
rotura;
caso 'h':
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 0);
rotura;
}
}
}