Entradas y salidas analogicas en Arduino creatividad codificada

Entradas y salidas analógicas en Arduino

Arduino

Las entradas y salidas anal√≥gicas de Arduino intentan manejar se√Īales anal√≥gicas, estas se√Īales tienen la caracter√≠stica de cambiar en el tiempo por lo cual no podemos trabajar como si fueran se√Īales digitales.

Entradas analógicas de Arduino

Antes de empezar a montar nuestros primeros circuitos electr√≥nicos, debemos conocer conceptos b√°sicos para su tratamiento correcto, en primer lugar debemos saber que vamos a controlar un voltaje que oscilara entre 0 a 5 voltios lo que quiere decir que nuestro l√≠mite m√°ximo ser√° de 5 voltios y no debemos exceder en introducir voltaje por encima de este valor porque da√Īaremos nuestra placa de Arduino.

Otro aspecto importante es la resolución del convertidor A/D que poseen las placas de Arduino esto es sumamente importante conocerlo porque gracias a esto podemos realizar proyectos que precisen gran precisión, normalmente las placas de Arduino presentan convertidores A/D con unas resolución de 10 bit lo que equivale a trabajar hasta valores de 1024.

Cuando deseamos tener un m√°ximo de precisi√≥n esto se hace insuficiente por lo cual se aconseja realizar un circuito paralelo que trate estas se√Īales de forma independiente o dise√Īar un circuito completo utilizando ya sea un microcontroladores PIC , ATmega o el que sea m√°s acorde a nuestras necesidades o simplemente utilizar convertidores A/D de alta precisi√≥n.

En las placas de Arduino est√°n serigrafiadas con la letra ‚ÄúA‚ÄĚ en may√ļscula haciendo alusi√≥n a una entrada anal√≥gica, el n√ļmero de entradas anal√≥gicas depende la placa de Arduino que vayamos a utilizar.

Arduino Uno es el más usado y tiene 6 entradas analógicas.

Lectura de entradas analógicas de Arduino

Para saber usar se√Īales anal√≥gicas correctamente tenemos que conocer como recoger estos datos en un programa para luego realizar alguna tarea que sea √ļtil para nuestros proyectos.

Las se√Īales anal√≥gicas generalmente son tratadas por librer√≠as externas o internas y sea as√≠ lo m√°s sencillo posible usarlos puesto que debemos realizar algunos c√°lculos matem√°ticos y acceder a algunos registros de memoria.

Pero si deseamos recoger datos de sensores sencillos como el t√≠pico LM35 o simplemente un potenci√≥metro basta con realizar una lectura del pin anal√≥gicos con la instrucci√≥n analogRead(Pin_analogico) donde ‚Äúpin_analogico‚ÄĚ es el pin que usaremos para introducir la se√Īal anal√≥gica.

Ejemplo de una entrada analógica

const int pinSensor = A1;    
int valorSensor;      
void setup()
{
   Serial.begin(9600); 
}
 
void loop() 
{
   valorSensor = analogRead(pinSensor);   
 
   Serial.println(valorSensor); 
   delay(500);
}

Salidas analógicas de Arduino

Las salidas anal√≥gicas de Arduino usan PWM, Arduino no puede generar se√Īales anal√≥gicas, pero manipulando el PWM se intenta imitar una se√Īal anal√≥gica, adem√°s al igual que una se√Īal digital solo podr√° trabajar con 5 voltios como m√°ximo y 0 voltios como minimo, si deseamos trabajar con voltajes m√°s altos que los 5 voltios permitidos debemos armar un circuito extra para tratar estos voltajes de forma correcta.

PWM en Arduino

Pero ¬Ņc√≥mo funciona el PWM en Arduino?, la respuesta sencilla, lo que hace es variar el tiempo de la se√Īal en alto (HIGH) frente al tiempo que est√° en nivel bajo (LOW) en su ciclo de trabajo, si el tiempo en alto (HIGH) y el tiempo en bajo (LOW) son iguales la salida de esta se√Īal y estar√° funcionando al 50%, a partir de esto podemos hacer variaciones en los tiempos de HIGH y LOW para aumentar o disminuir su rendimiento.

PWM de las entradas y salidas analogicas en Arduino

Estas salidas se encuentran serigrafiadas con un s√≠mbolo de ‚Äú ~ ‚ÄĚ en las salidas digitales de las placas de Arduino, las salidas digitales con PWM en cada placa es diferente, por eso debemos fijarnos el el s√≠mbolo ‚Äú ~ ‚ÄĚ para identificarlo.

Escritura de salidas analógicas de Arduino (analogWrite)

Estas salidas analógicas son de 8 bits lo que significa que los valores permitidos para estas salidas están comprendidas entre 0 y 255, esto va en contraste con los 10 bits que tienen las entradas analógicas de Arduino UNO.

Las salidas digitales con PWM simula una se√Īal anal√≥gica, haciendo un barrido de m√ļltiples valores de tal manera que se asemeje a una se√Īal anal√≥gica, ademas para usarlas debemos adaptarlos para que no exista ning√ļn desbordamiento en los valores y as√≠ tengamos un proyectos que funcione de forma correcta.

Para usar estos pines debemos usar analogWrite(Pin, Valor), donde ‚ÄúPin‚ÄĚ es el pin de la placa de Arduino que usaremos para sacar la tensi√≥n producida por PWM y ‚ÄúValor‚ÄĚ sera un dato num√©rico de 0 hasta 255.

Ejemplo de una salida analógica (PWM)

En este ejemplo lo que hacemos es subir la intensidad de luminosidad de un led hasta el m√°ximo y apagarlo de forma subita y vuelve a realizar el ciclo de forma infinita.

int brilloLed = 0;   
void setup() {
  pinMode(6, OUTPUT);
}
void loop() {
  analogWrite(6, brilloLed); 
  brilloLed = brilloLed + 5;
  if (brilloLed >= 255) {
    brilloLed = 0;
  }
   delay(50);
}

¬ŅQu√© te pareci√≥ el art√≠culo?

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  * He le√≠do y acepto la pol√≠tica de privacidad

¬ŅQu√© hacemos con tus datos?

Creatividad Codificada como responsable tratará tus datos con la finalidad de gestionar tu participación en nuestro blog informativo. Puedes acceder, rectificar y suprimir tus datos, así como ejercer otros derechos consultando la información adicional y detallada sobre protección de datos en nuestra Política de Privacidad