Como usar a entrada analógica e a saída analógica de uma placa Arduino – (Parte 3/49)

Cómo utilizar la entrada analógica y la salida analógica de una placa Arduino – (Parte 3/49)

Aunque los microcontroladores son dispositivos puramente digitales que operan con voltajes lógicos 0 y lógicos 1, comúnmente se encuentran en interfaz con sistemas o circuitos analógicos. El microcontrolador puede leer el voltaje de entrada analógica tomándolo y convirtiéndolo a sus valores digitales con la ayuda del convertidor analógico a digital (ADC). El microcontrolador también puede generar un voltaje analógico en cualquier dispositivo externo con la ayuda de ondas moduladas por ancho de pulso (PWM). La mayoría de los microcontroladores tienen módulos PWM y módulos ADC integrados que les ayudan a leer entradas de voltaje analógico y generar salidas de voltaje analógico en un dispositivo externo. Quienes han realizado algunos experimentos básicos con módulos PWM y ADC saben lo complejo que es configurarlos, inicializarlos y hacer que funcionen correctamente juntos. Todas estas cosas están simplificadas en una placa Arduino de tal manera que incluso un principiante puede conectarla rápidamente con dispositivos de entrada y salida analógicos. Arduino se puede utilizar como una placa independiente, cuyas salidas o entradas se pueden tomar de las placas o alimentar a la placa mediante conectores convenientes. Las entradas y salidas digitales y analógicas están disponibles en todas las placas Arduino. Las placas Arduino pueden comunicarse con otros dispositivos utilizando puertos de comunicación de entrada/salida digitales estándar como USART, IIC y USB, etc.

Las placas Arduino cuentan con todos los circuitos necesarios para que funcione el microcontrolador AVR integrado y se actualizan con el gestor de arranque Arduino . Lo más impresionante es que la mayoría de las placas Arduino son compatibles con la placa Bread, lo que la convierte en la mejor herramienta para crear prototipos fácilmente. Cuando se trata de programar la placa Arduino, cualquiera que tenga conocimientos básicos de programación en C puede comenzar rápidamente con el IDE de Arduino. . Es muy sencillo de entender y tiene funciones integradas para casi cualquier tarea sencilla o compleja. En este proyecto específico para demostrar cómo utilizar la entrada y salida analógica de la placa Arduino, se utiliza un potenciómetro simple como dispositivo de entrada analógica que se puede utilizar para variar el brillo de un LED que actúa como dispositivo de salida analógica.

En este proyecto se utiliza la placa Arduino pro-mini que está programada con la ayuda de Arduino IDE versión 1.0.3 en el sistema operativo Windows.

Placa Arduino Pro-Mini típica

Fig. 2: Placa típica Arduino Pro-Mini

 Janela do software Arduino IDE

Fig. 3: Ventana del software Arduino IDE

Otro hardware que puede realizar la conversión de USB a TTL se utiliza para cargar el programa en la placa Arduino.

Placa conversora USB externa para TTL para programação de Arduino e comunicação serial

4: Placa convertidora externa de USB a TTL para programación Arduino y comunicación en serie

Se supone que el lector ha leído el proyecto sobre cómo empezar con Arduino. e hice todas las cosas que en él se comentan. La placa Arduino Pro-Mini puede tener un máximo de ocho pines analógicos que se pueden configurar como pines de entrada analógica. Los pines están marcados en el tablero como A0, A1, A2,… A7. De hecho, son los canales de entrada del ADC integrado, que puede leer el valor analógico y convertirlo al equivalente digital. Algunas placas pro-mini tienen menos pines analógicos. En este proyecto en particular, el pin analógico 0 y el pin analógico 1 utilizan solo uno de ellos como entrada analógica y el otro como salida analógica. El pin variable de un potenciómetro está conectado al pin analógico; en este proyecto pin A0. Los otros dos pines del potenciómetro están conectados a VCC y GND para que, a medida que la variable se mueve, pueda dividir todo el voltaje de suministro y proporcionarlo como voltaje de entrada analógico a la placa Arduino.

La placa Arduino Pro-Mini normalmente tiene seis pines de salida analógica que se pueden usar para generar voltaje de salida analógica. Los pines marcados en la placa como 3, 5, 6, 9, 10 y 11 pueden actuar como salida analógica. De hecho, son los canales de salida del módulo PWM integrado los que pueden generar los voltajes de salida analógica. Se conecta un LED al pin de salida analógica a través de una resistencia limitadora de corriente; en este proyecto está conectado al pin 5. El código lee continuamente el valor del potenciómetro y escribe el valor correspondiente para cambiar el brillo del LED conectado al pin 5.

CÓDIGO

constintanalogInPin = A0; // pin de entrada analógica al que está conectado el potenciómetro

constintanalogOutPin = 5; // Pin de salida analógica al que está conectado el LED

valor interno = 0;

valor de entrada = 0;

configuración nula

{

;

}

bucle vacío

{

// lee el valor analógico:

valorpot = analogRead(analogInPin);

// lo asigna al rango de salida analógica:

valor de salida = mapa (valor del bote, 0,1023, 0,255);

// cambiar el valor de la salida analógica:

analogWrite(analogOutPin, valor de salida);

// espera 2 milisegundos antes del siguiente ciclo

// para que el convertidor analógico-digital se estabilice

// después de la última lectura:

retraso(2);

}

Los detalles de la función de configuración, bucle, ya se explican en el proyecto cómo empezar con arduino . Los detalles de otras funciones básicas, como el retardo, se explican por separado en el proyecto sobre cómo utilizar la entrada y salida digital de Arduino . Hay funciones en el código anterior que pueden realizar lectura y escritura analógica, a saber, analogRead y analogWrite respectivamente. Los detalles de las funciones se analizan en la siguiente sección.

lectura analógica

Esta función puede leer un valor analógico de un pin analógico mencionado en su argumento y devolver ese valor. Supongamos que si hay una variable 'var' de la cual se debe leer el valor del pin analógico A0, se puede usar la función analogRead como se muestra a continuación;

var = lectura analógica(A0);

La instrucción anterior habilitará el ADC integrado del microcontrolador Arduino, que luego convierte el valor analógico en su equivalente digital de 10 bits y luego lo almacena en la variable 'var'. Se espera que la variable 'var' sea de tipo entero.

escritura analogica

Esta función puede escribir un valor analógico en un pin de salida analógica mencionado en su argumento para generar el voltaje equivalente en ese pin. Por ejemplo, puede utilizar la función analogWrite para generar un voltaje equivalente al valor 100 en un pin 5 de salida analógica, como se muestra a continuación;

escritura analógica(5, 100);

La instrucción anterior en realidad escribirá el valor 100 en un módulo PWM de 8 bits que generará una forma de onda modulada en ancho correspondiente en el pin número 5 para generar el voltaje equivalente en el dispositivo conectado a ese pin.

mapa

map es una función incorporada que se puede utilizar para asignar el valor de un rango a otro. Por ejemplo, el Arduino ADC genera valores de 10 bits, pero el módulo Arduino PWM puede generar formas de onda equivalentes a 8 bits. Si es necesario escribir directamente el valor de la entrada analógica en la salida analógica, puede utilizar la función de mapa de la siguiente manera;

var = mapa(valor pot, 0, 1023, 0, 255);

La instrucción anterior convertirá el valor que está en el rango de 0 a 1023 (la salida ADC de 10 bits) al rango de 0 a 255 (el rango de entrada PWM de 8 bits) y lo almacenará en una variable 'var'. La variable 'var' puede ser de tipo entero o carácter.

Ahora, una vez completada la codificación, puede verificar y cargar el código en la placa Arduino como se explica en el proyecto Primeros pasos con Arduino y podrá ver que el brillo del LED varía a medida que se mueve la variable del potenciómetro.

Código fuente del proyecto

 ###




 /*============================= EG LABS ================== ===================//

 

 Demostración sobre cómo utilizar la entrada y salida analógica de una placa Arduino.

 

 El circuito:

 * Potenciómetro conectado a la entrada analógica A0

 * un pin lateral (cualquiera) a tierra

 * el otro lado pin a +5V

 * Ánodo LED (pata larga) conectado a la salida digital 5

 * Cátodo LED (pata corta) conectado a tierra a través de una resistencia de 1K

 

//============================== EG LABS ================= = ==================*/

 
const int analogInPin = A0; // Pin de entrada analógica al que está conectado el potenciómetro

 const int analogOutPin = 5; // Pin de salida analógica al que está conectado el LED

 int valor pot = 0;

 int valor de salida = 0;


 configuración vacía

 {

 ;

 }


 bucle vacío

 {

 // lee el valor analógico:

 valorpot = analogRead(analogInPin);

 // mapearlo al rango de la salida analógica:

 valor de salida = mapa (valor pot, 0, 1023, 0, 255);

 // cambiar el valor de salida analógica:

 analogWrite(analogOutPin, valor de salida);

 // espera 2 milisegundos antes del siguiente ciclo

 // para que el conversor analógico a digital se estabilice

 // después de la última lectura:

 retraso(2);

 }

 ###

Diagramas de circuito

Diagrama de circuito usando entrada analógica, salida analógica y placa Arduino.

Componentes del proyecto

  • Arduino ProMini
  • CONDUJO
  • Resistor

Vídeo del proyecto

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.