19 mar 2012

TECNO 4º E.S.O. ARDUINO. IV

Práctica 4

Vamos a utilizar el teclado para enviar órdenes a Arduino, mediante la misma conexión serie del monitor que usamos para ver por pantalla.
La instrucción para que arduino lea una tecla del ordenador es:
             Serial.read();
Siempre deberemos guardar la tecla capturada en una variable, por ejemplo "tecla", quedaría así:
             tecla = Serial.read();
Ahora dentro de tecla tendríamos la tecla que se ha pulsado y con ese valor podemos hacer cosas.
Una cosa importante a tener en cuenta es que tecla NO es una variable como las que hemos usado hasta ahora, no va a contener un número entero (int), sino que va a contener un caracter. Para eso en la declaración de variables, (al principio del programa) deberemos declararla de la siguiente forma:
             char tecla;

En la práctica tenemos que conseguir que Arduino encienda alguno de los 3 leds que vamos a conectarle según las teclas que pulsemos. Si pulsamos la tecla "1", debe encenderse un solo led, si pulsamos la tecla "2" se deberán encender 2 leds y si pulsamos la tecla 3 deberán encenderse los 3 leds. (puedes modificar este funcionamiento si lo deseas).

Dentro de loop, tendremos que capturar la tecla pulsada y según su valor haremos una cosa u otra. Para ello usaremos las órdenes if y else que vimos en las prácticas anteriores. La forma de hacer las comparaciones serían:
             if (tecla == '1') 
             {
                  acciones;
              }
     if (tecla == '2')
             {
                  acciones;
             }
     .....
Sólo nos queda una cosa, debemos esperar hasta que se pulse una tecla, eso se lo decimos a Arduino, introduciendo un if antes de Serial.read.
Usamos la orden Serial.available, que se encarga de mirar si se ha pulsado una tecla.
Con lo que la orden competa debe quedar así:


       if( Serial.available() ) tecla = Serial.read();


Combina todo esto para realizar la práctica