En este tutorial explicamos cómo leer y escribir valores digitales en los pines del Arduino. Explicamos en qué consisten los valores digitales y como los puedes usar. Además agregamos un ejemplo.
Resumen para leer y escribir valores digitales en Arduino.
Primero tenemos que indicar si el pin es entrada o salida, para esto se usa:
pinMode(pin, estado);
- En pin seleccionamos el pin que queremos seleccionar.
- En estado indicamos si es salida con OUTPUT o entrada con INPUT. Por default es una entrada, por lo que no es necesario declararlo como entrada.
Para escribir un valor digital se usa:
digitalWrite(pin, valor)
- En pin escribimos el pin por donde enviaremos la salida digital.
- En valor indicamos si será LOW o HIGH.
Para leer un valor digital se usa:
digitalRead(pin)
- El pin es el pin que queremos leer el estado en el que está.
Que es un valor digital en Arduino.
Un valor digital es aquel que solo tiene dos estados los cuales en Arduino se llaman LOW y HIGH. También se expresan como 0 y 1 o bien 0 volts y 5 volts.
Estado HIGH.
El estado HIGH o alto representa 5 volts. Es decir, que en el pin de la entrada o salida del arduino hay 5 volts.
Estado LOW.
El estado LOW o bajo representa 0 volts. Es decir, que en el pin de la entrada o salida del arduino hay 0 volts.
Ejemplo prender un LED con un interruptor.
Vamos a conectar un LED al pin número 7 del Arduino. Y un interruptor al pin número 6. El objetivo es prender y apagar el LED con el interruptor.
El diagrama es el siguiente:
NOTA: Las dos resistencias común mente se ignoran, y el circuito puede funcionar sin ellas. Sin embargo al no usar la resistencia para el diodo LED nos arriesgamos a quemarlo.
Y si no colocamos la resistencia a tierra para el pin 6, nos arriesgamos a que el Arduino detecte 5 V aunque el interruptor esté abierto.
Así que, si en algún proyecto posterior tienes algún problema, revisa si no faltan resistencias en alguna parte.
Funcionamiento del circuito.
El circuito funciona de la siguiente manera:
- Mientras el interruptor este abierto, la resistencia a tierra dará 0 V al pin 6 del Arduino, es decir, estará en el estado LOW.
- Cuando se cierra el interruptor pasarán 5 volts al pin 6, es decir, estará en estado HIGH.
El código debe funcionar así:
- Cuando el pin 6 este en LOW, por el pin 7 debe de salir el estado LOW, el LED debe de estar apagado.
- Cuando el pin 6 este en HIGH, por el pin 7 debe de salir el estado HIGH, el LED debe de encenderse.
Código:
void setup() { pinMode(6,INPUT); //Por default es entrada, podemos no escribirlo pinMode(7,OUTPUT); //Pin 7 como salida } void loop() { estado = digitalRead(6); //Obtenemos el estado del pin 6 digitalWrite (7,estado); //Escribimos el estado del pin 6 al pin 7. }
Con el código anterior le pasamos el estado en el que se encuentra el pin 6, al pin 7. Y con esto se cumple el objetivo.
También podemos usar le comando if(estado == HIGH){ … } pero ocupa más líneas de código para dar el mismo resultado.
Es un ejemplo muy sencillo, pero que es de gran utilidad para dejar más claras las bases acerca de cómo se trabaja con Arduino.
Para más tutoriales de Arduino, ve a la sección de Arduino.