1.09.1. ¿Qué es una entrada digital?
Una entrada digital en un
microcontrolador, es un contacto (pin o terminal) en el que podemos capturar
vía software si el valor del voltaje en ese punto corresponde a un voltaje bajo
(0V) o alto (5V).
Los 5V a la entrada del pin se
representarán con un número 1 en código. En Arduino hay un a constante
pre-definida llamada HIGH que representa 1 o nivel alto a la entrada del pin.
Los 0V se representarán con un 0 en
código. La constante correspondiente es LOW.
Por regla general todo aquello que
esté por encima de 2V5 se considera que es un nivel alto y lo que esta por
debajo es nivel bajo. Esta tolerancia permite trabajar con sistemas que no
funcionen exactamente igual en voltajes.
Solemos hablar de entradas digitales
cuando realmente queremos hablar de sensores digitales. Así, un botón, un
sensor magnético, un sensor PIR y otros los entenemos como mecanismos de
entrada digital.
1.09.2. La entrada digital más sencilla
La
entrada más sencilla sería un sencillo cable que podamos conectar a un pin de
entrada digital y con el conmutar los niveles alto y bajo.
1.09.3. Ejemplo con Arduino
Para
probar esto con Arduino, conecta un cable al pin 5, abre el ejemplo de código
“Archivo → Ejemplos →
Digital → Button”. Verás que ahí se define una variable llamada
buttonPin. Si quieres usarla con el cable que has conectado, tendrás que
asegurarte de que su valor inicial corresponda con el número del pin del cable.
Este
ejemplo utiliza el estado de la entrada para encender y apagar el led de la
placa.
1.09.4. Nuevo comando: digitalRead()
El
comando digitalRead(pin) es un comando que lee el valor del voltaje a la
entrada de un pin de Arduino y devuelve valor alto (HIGH) o bajo (LOW) en
función del voltaje que haya a la entrada del pin. Ese valor lo tendrás que
almacenar en una variable si lo quieres usar en otras partes del programa.
En
el ejemplo anterior, la variable buttonState almacena un valor de la lectura
del pin, de modo que se pueda usar en otras declaraciones y operaciones del
programa.
1.09.5. Aspectos a tener en cuenta
1. Un cable suelto no es un buen
sistema para detectar que algo está encendido o no (ver actividad sobre el
botón más adelante).
2. Arduino Uno tiene 14
entradas/salidas digitales, los pines 0 y 1 se usan además para la comunicación
con el ordenador.
3. Los pines analógicos se pueden usar
como pines digitales. El pin analógico A0 es el 14 en digital y así
sucesivamente.
1.09.6. Aplicaciones educativas
El hecho de que la entrada
de voltaje se codifique de modo binario, ayuda a la comprensión de como
funciona un ordenador por dentro.
No hay comentarios:
Publicar un comentario