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.
É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.
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.
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.
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.
Algunas cantidades físicas de tipo analógico
Iluminación
Sonido
Posición
Desplazamiento
Presión
Flexión
Inclinación
Aceleración
Temperatura
Humedad.
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.
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
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.
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.
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.
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().
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.
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).
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.
Gracias

Guia 4

  • 3.
    El mundo realno 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 elmotivo 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ógicospueden 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 lospines 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.
  • 8.
    Una señal eléctricaanaló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ísicasde tipo analógico Iluminación Sonido Posición Desplazamiento Presión Flexión Inclinación Aceleración Temperatura Humedad.
  • 10.
    Entrada analógica Un Arduinopuede 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 devalores 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 lassalidas 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 porancho 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 enla 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 lecturasanaló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 casode 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 enguí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.
  • 19.