Está en la página 1de 23

Entradas y Salidas Arduino

• Entradas y salidas digitales

• Entradas y salidas analógicas


Señal Digital

Una señal digital es una variación de voltaje entre -Vcc a +Vcc sin pasar por los
valores intermedios. Por lo tanto, una señal digital dispone solo de dos estados. Al
valor inferior de tensión -Vcc le asociamos un valor lógico LOW o ‘0’, mientras que
al valor superior +Vcc le asociamos HIGH o ‘1’ lógico.

1) Nivel bajo, 2) Nivel alto, 3) Flanco de subida y


4) Flanco de bajada
Entrada Digital en Arduino

Las entradas y salidas digitales comparten pin pero no de forma simultánea.


Es necesario configurar un pin como entrada o salida en el código.
Los valores de alimentación habituales son 0V y 5V y la tensión umbral será muy
cercana a 2’5V.
Si medimos una tensión con un valor intermedio entre 0 a 2.5V Arduino devolverá
una lectura LOW, y si medimos un valor entre 2.5V y 5V, devolverá HIGH.

Fuente: http://1.bp.blogspot.com/-J4a-t0sJI6Y/VbkGyB-yuyI/AAAAAAAANq4/P-
H_2b3_73E/s1600/arduinos.jpg
Salida Digital en Arduino

Una salida digital permite variar su tensión entre los valores -Vcc y +Vcc mediante
programación.
Los voltajes -Vcc y +Vcc corresponden a 0V (GND) y 5V, respectivamente. Algunos
modelos operan a 3.3V.
Todos los pines digitales pueden actuar como salidas digitales (por ello se
denominan I/O).
Los pines analógicos también pueden usarse como entradas y salidas digitales.

Fuente: http://1.bp.blogspot.com/-J4a-t0sJI6Y/VbkGyB-yuyI/AAAAAAAANq4/P-
H_2b3_73E/s1600/arduinos.jpg
ENTRADAS/SALIDAS DIGITALES
Estos pines son los pines del 0 al 13 de Arduino y se llaman
digitales porque sólo pueden manejar valores 0 o 1. Si quieres
usar un pin digital, lo primero que tienes que hacer es configurar
el modo de trabajo del pin. Ésto se hace siempre en la función
setup().
Las instrucciones que se emplean para los pines digitales son:

pinMode(pin,[INPUT,OUTPUT])

Configura el modo de trabajo de pin digital, donde "pin" es una


variable con el valor correspondiente al número del pin a utilizar y
se elige el modo de trabajo. Un pin digital tiene sólo dos modos,
OUTPUT (salida) e INPUT (entrada).
Si declaras un pin como OUTPUT, sólo podrás usarlo para activarlo,
aplicando 5V en el pin, o para desactivarlo, aplicando 0V en el pin.
Si configuras el pin como INPUT, sólo podrás usarlo para leer si
hay 5V ó 0V en el pin:
Escritura digital

digitalWrite(pin,valor)

Se usa para activar o desactivar un pin digital. Entre paréntesis se


debe indicar qué pin modificar, y qué valor darle.
Ejemplo: digitalWrite(pin, HIGH);
Ésto pondrá el pin en su estado HIGH, proporcionando 5V en él. Si
escribes LOW apagarás el pin, dejando el pin a 0V. Ten en cuenta
que hasta que se define el estado del pin como HIGH su valor por
defecto será LOW.
Si miras la placa Arduino, verás que los pines digitales 0 y 1 están
marcados como RX y TX. Estos pines están reservados para la
comunicación serie y no deben ser usados, ya que pondrán a
Arduino en modo de espera hasta que se reciba una señal.
Lectura digital

digitalRead(pin);

La instrucción digitalRead(pin) lee el estado de un pin y devuelve


HIGH si está a 5V o LOW si hay 0V en él.
Para poder usar el valor del estado para algún fin debes guardarlo
en una variable:

miVariable = digitalRead(pin);
Si quieres realizar una comparación puedes escribir el comando
directamente en la sentencia:
if (digitalRead(pin)==LOW){
sentencia1;
sentencia2;
…}
Aunque LOW equivale siempre a 0V en una salida digital, en una
entrada digital cualquier valor entre 0V y 1.5V se considerará LOW
en el comando digitalRead(). Del mismo modo todos los valores
entre 3.3V y 5v se considerarán como un valor HIGH.
Ejemplo: Encender LED con un pulsador
Ejemplo: Encender LED con un pulsador
Ejemplo: Lectura serial de una entrada digital
Ejemplo: Lectura serial de una entrada digital
Señal Analógica

Una señal analógica es una magnitud que puede tomar cualquier valor dentro de
un intervalo –Vcc y + Vcc.
Una señal analógica de tensión entre 0V y 5V podría valer 2.72V, o cualquier otro
valor con cualquier número de decimales
Entrada Analógica en Arduino

En los autómatas las entradas analógicas son más escasas, más lentas y más caras
que las entradas digitales.
Una entrada analógica proporciona una medición codificada en forma de un valor
digital con un número N de bits.
En el mundo real cualquier señal de tensión es siempre analógica.
Precisión de la Medición

Un conversor analógico digital (ADC) es un dispositivo que convierte una medición


analógica en una medición digital codificada con un número N de bits.
El valor analógico lo “clasificamos” dentro de 2^N niveles, que definen 2^N-1
intervalos. El ancho de este intervalo medido en mV es la precisión de la señal.
Cuanto mayor sea el número de bits, mayor será el número de intervalos, menor
será el ancho del intervalo, y por tanto mejor la precisión de la medición.
Entradas analógicas

El controlador Atmega de Arduino lleva incluido un conversor


analógico-digital (A/D) de 6 canales. Tiene una resolución de 10
bits, retornando enteros desde 0 a 1023.
El uso principal de estos pines (ANALOG IN 0,…5) es para la
lectura de sensores analógicos, estos pines tienen también toda la
funcionalidad de los pines de entrada-salida digital (14-19).
Los pines de entradas analógicas no son necesarios configurarlos
en el setup().
Ejemplo: Lectura serial de una entrada análoga
Ejemplo: Lectura serial de una entrada análoga
Ejemplo: Control ON/OFF con potenciómetro
Ejemplo: Control ON/OFF con potenciómetro
Salida Analógica en Arduino

Arduino no es capaz de proporcionar una auténtica salida analógica. Ni siquiera


pueden suministrar una salida analógica discretizada (es decir, a saltos) de tensión.
Lo único que pueden proporcionar es una salida digital de -Vcc o Vcc. (por ejemplo,
0V y 5V)
Para salvar esta limitación y simular una salida analógica la mayoría de los
automatismos emplean un “truco”, que consiste en activar una salida digital
durante un tiempo y mantenerla apagada durante el resto. El promedio de la
tensión de salida, a lo largo del tiempo, será igual al valor analógico deseado.
Modulación de ancho de pulso

En esta modulación se
mantiene constante la
frecuencia mientras que se
hace variar la anchura del
pulso.
La proporción de tiempo
que está encendida la
señal, respecto al total del
ciclo, se denomina “Duty
cycle”, y generalmente se
expresa en tanto por ciento.
Ejemplo: Encender un LED por PWM
Ejemplo: Encender un LED por PWM

También podría gustarte