3. El mundo real no es digital y, a veces, no puedes traducir los
cambios en el entorno en lecturas digitales.
Por ejemplo, la temperatura no cambia sólo de frío a
caliente, cambia en un rango valores distintos y,
normalmente, estos cambios ocurren muy lentamente.
4. Éste es el motivo por el cual, a menudo, utilizamos sensores
analógicos para leer los parámetros del entorno tales como,
la temperatura, la luz, o el movimiento.
Esta información resultante es almacenada como datos
digitales secuenciales. Dado que Arduino no puede manejar
la información como los humanos, necesitamos traducir los
datos analógicos para que Arduino pueda entenderlos.
5. Los sensores analógicos pueden transformar los datos del
entorno en un valor de voltaje comprendido entre 0V y
5V.
Estos valores son distintos de los HIGH o LOW que utilizan
los sensores digitales. Para los pines digitales, HIGH y LOW
significan 5V y 0V respectivamente, y nada más.
6. Sin embargo los pines analógicos pueden diferenciar
cualquier valor intermedio.
La resolución entre los valores máximos y mínimos
difieren de un microprocesador a otro. Arduino
únicamente puede distinguir 1024 niveles en rango de 0V
a 5V.
7.
8. Una señal eléctrica analógica es aquella en la que los
valores de la tensión o voltaje varían constantemente y
pueden tomar cualquier valor.
En el caso de la corriente alterna, la señal
analógica incrementa su valor con signo
eléctrico positivo (+) durante medio ciclo y
disminuye a continuación con signo eléctrico
negativo (–) en el medio ciclo siguiente.
9. Algunas cantidades físicas de tipo analógico
Iluminación
Sonido
Posición
Desplazamiento
Presión
Flexión
Inclinación
Aceleración
Temperatura
Humedad.
10. Entrada analógica
Un Arduino puede leer voltajes entre 0 y 5 voltios por
defecto (no se debe superar los 5 voltios). Para ello posee
una serie de pines llamados Entradas Analógicas.
El Arduino UNO posee 6 entradas analógicas (A0-A5),
mientras que otros modelos como el NANO (8 entradas) o
el MEGA (16 entradas) poseen puertos adicionales,
aunque todos poseen la misma limitante: no pueden leer
voltajes superiores a 5 voltios. Repetimos: NO SE
PUEDEN APLICAR VOLTAJES SUPERIORES A 5 VOLTIOS.
11. Cuando hablamos de valores analógicos podremos
trabajar con valores comprendidos entre el mínimo y el
máximo. En el caso de las entradas analógicas (marcadas
de A0 a A5) Arduino utiliza un convertidor analógico-digital
de 10 bits, lo que nos da 1024 niveles intermedios entre 0
y 5 voltios numerados del 0 al 1023
12. Salida analógica
Para las salidas analógicas Arduino UNO utiliza los pines 3,
5, 6, 9, 10 y 11 (en el caso de la Arduino Leonardo los
mismos pines mas el numero 13) con una señal PWM de 8
bits, lo que nos da 256 niveles numerados del 0 al 255.
13. Las Salidas PWM (Pulse Width Modulation) permiten
generar salidas analógicas desde pines digitales. Arduino
Uno no posee salidas analógicas puras.
El arduino due, posee dos salidas
analógicas puras mediante dos
conversores digital a analógico. Estos
pines pueden usarse para crear salidas
de audio usando la librería
correspondiente.
14. La modulación por ancho de pulsos (también conocida
como PWM, siglas en inglés de pulse-width modulation)
de una señal o fuente de energía es una técnica en la que
se modifica el ciclo de trabajo de una señal periódica (una
senoidal o una cuadrada, por ejemplo), ya sea para
transmitir información a través de un canal de
comunicaciones o para controlar la cantidad de energía
que se envía a una carga.
El ciclo de trabajo de una señal periódica es el ancho
relativo de su parte positiva en relación con el período.
15. Función usada en la function setup() para configurar un
pin dado para comportarse como INPUT o OUTPUT.
Ej. pinMode(pin, OUTPUT); configura el pin número 'pin'
como de salida. Los pines de Arduino funcionan por
defecto como entradas, de forma que no necesitan
declararse explícitamente como entradas empleando
pinMode().
16. Para hacer lecturas analógicas utilizamos el comando
analogRead que tiene la siguiente sintaxis:
Lee el valor desde el pin analógico especificado con una
resolución de 10 bits. Esta función solo funciona en los
pines analógicos (0-5). El valor resultante es un entero de 0
a 1023. Los pines analógicos, a diferencia de los digitales
no necesitan declararse previamente como INPUT o
OUTPUT.
17. En el caso de las salidas analógicas utilizamos el comando
analogWrite de la siguiente manera:
Escribe un valor analógico usando modulación por ancho
de pulso (PWM) en un pin de salida marcado como PWM.
Esta función está activa para los pines 3, 5, 6, 9, 10, 11.
Puede especificarse un valor de 0 - 255. Un valor 0 genera
0 V en el pin especificado y 255 genera 5 V. Para valores de
0 a 255, el pin alterna rápidamente entre 0 V y 5 V, cuanto
mayor sea el valor, más a menudo el pin se encuentra en
HIGH (5 V).
18. A continuación en guía N° 4 se realiza un ejemplo
aplicativo paso a paso de la teoría anteriormente explicada
y en donde los conceptos quedaran mas claros para su
aplicación e interacción.