Al encender un led estamos usando SALIDAS, es decir, nuestra placa está provocando algo en el exterior. Mediante ellas podemos encender y apagar un led, controlar el giro de un motor, escribir en una pantalla, activar un zumbador, y todo lo que se te ocurra.

Arduino nos permite además configurar los pines como ENTRADAS. De está manera lo que estaremos haciendo es obtener información del entorno.

La forma más elemental de interactuar con él es mediante un pulsador.

Sería un error comparar esto que acabamos de decir con un circuito eléctrico elemental mediante el cual encendemos un led al activar un pulsador. Sin caer en fantasmadas, nuestro proceso es mucho más complejo. A diferencia de ese circuito, en el que el pulsador es un simple “grifo” que deja pasar o no electrones capaces de encender a su paso un led, en nuestro proceso sucede:

Leemos el valor de una entrada. Esta puede ser:


DIGITAL: esperamos valores de encendido/apagado, en nuestro lenguaje HIGH/LOW. Sería el caso por ejemplo del pulsador.


ANALÓGICA. El valor medido varía entre un valor cero y un máximo, normalmente 255. Podría ser el valor que obtenemos al medir la luz con un LDR.


En función del valor que obtenemos, ordenamos una acción.

¿No ves la diferencia? :) . Hemos elegido la forma de entrada y salida más sencillas, pero a partir de aquí podemos complicarnos la vida todo lo que queramos. Vamos a montar la práctica. Usaremos el sketch que viene en ejemplos/digital llamado BUTTON. Lo cargamos y aparece en nuestro IDE así:

*/  Botón. Enciende y apaga un LED conectado al pin 13 cuando apretamos un pulsador conectado al pin 2 */
const int buttonPin = 2;                  // indica el pin del pulsador
const int ledPin =  13;                    // indica el pin del led
int buttonState = 0;                        //al poner solo int, el estado del botón, buttonState, será una                                                              variable con valor incicial 0.

void setup() {
   pinMode(ledPin, OUTPUT);            // pin del led como SALIDA
   pinMode(butttonPin, INPUT);          // pin del botón como ENTRADA
}
void loop()
buttonState = digitalRead(buttonPin);                // lee el valor  de la variable estado del botón
if (buttonState == HIGH) {                                    // SI la variable digital, es “HIGH”...:
digitalWrite(ledPin, HIGH);                                 // enciende el pin
}
else {                                                     // en otro caso...:
digitalWrite(ledPin, LOW);                 // apaga el LED
}
}
¿fácil? Seguro que si.

El esquema del montaje es el siguiente:




Ahora para sacarle partido a nuestros avances, podríamos cambiar tanto las entradas como las salidas. En lugar de poner un sencillo pulsador vamos a poner ahora un SENSOR DE LUZ. Para ello usaremos un LDR, Light Dependent Resistor, que para los que nos llevamos regular con el inglés no es más que una resistencia cuyo valor varía con la luz que incide sobre ella. Con poca luz, su resistencia es muy alta, y va bajando conforme lo iluminamos 

- Copyright © Robótica y Arduino en la ESO - Skyblue - Powered by Blogger - Designed by Johanes Djogan -