Arduino analogRead ( )
On octubre 31, 2021 by adminLa función analogRead( ) lee el valor del pin analógico especificado presente en la placa Arduino particular.
El ADC (Analog to Digital Converter) en la placa Arduino es un convertidor multicanal. Mapea la tensión de entrada y la tensión de funcionamiento entre los valores 0 y 1023. La tensión de funcionamiento puede ser de 5V o 3,3V.
Los valores de 0 a 1023 son los valores enteros. También se puede escribir como 0 a (2^10) -1.
El tiempo de duración para leer una señal de entrada analógica en las placas (UNO, Mega, Mini y Nano) es de unos 100 microsegundos o 0,0001 segundos.
Por lo tanto, la velocidad máxima de lectura de la entrada analógica es de unas 10000 veces por segundo.
Discutiremos la tensión de funcionamiento y la resolución de algunas placas Arduino.
- La tensión de funcionamiento de Arduino UNO, Mini, Mega, Nano, Leonardo y Micro es de 5V, y la resolución es de 10 bits.
- La tensión de funcionamiento de las placas de la familia MKR, Arduino Due, y Zero es de 3 V, y la resolución es de 12 bits.
Cambiando la tensión de entrada y la resolución
- En una placa concreta, podemos cambiar la tensión de entrada utilizando la función analogReference( ).
analogReference( )
La tensión de referencia utilizada para la entrada analógica se configura mediante la función analogReference( ).
La sintaxis es:
Nota: La tensión de referencia externa en el pin AREF no debe ser superior a 5V ni inferior a 0V. Tenemos que establecer la Referencia analógica como Externa mientras trabajamos en el pin AREF.
De lo contrario, puede dañar el microcontrolador presente en la placa Arduino.
- Podemos cambiar la resolución sólo para la Familia MKR, Cero, y la placa Due utilizando la función analogReadResolution( ).
analogReadResolution( )
La Familia MKR, Zero y Due tienen una resolución ADC de 12 bits.
La función analogReadResolution( ) devolverá los valores enteros entre 0 y 4095 de la función analogRead( ).
La sintaxis es:
donde,
bits: Significa los bits de resolución devueltos por la función analogRead( ). Podemos establecer el valor de los bits entre 1 y 32.
Nota: Si se especifican bits de resolución superiores a las capacidades de la placa, el Arduino rellenará los bits extra con ceros.
Por ejemplo, analogReadResolution (14)
La función anterior dará un número aproximado de 14 bits con los dos primeros 12 bits (que incluyen la lectura del ADC) y los dos últimos bits rellenos.
Sintaxis de analogRead ( )
La sintaxis es:
Donde,
pin: Incluye el nombre del pin analógico concreto del que se va a leer.
El tipo de datos es int.
Un pin analógico no conectado también puede devolver algún valor. Dicho valor depende de la posición de nuestra mano en la placa y de otras entradas analógicas cercanas.
Ejemplo de código
Entendamos el concepto de analogRead con un ejemplo.
Considere el siguiente código:
El código anterior lee el voltaje del pin analógico especificado (AnaPin) y lo muestra.
Deja una respuesta