Paso 4: Conexión de sensores (AVR-ADC)
Datos más reales del mundo están analógicos. Ya sea temperatura, presión, voltaje, etc., su variación es siempre análogo en la naturaleza. Todo esto es simplemente análogos datos y debemos procesar los datos que hemos recibido. Pero el procesamiento analógico de señales es muy ineficiente en términos de precisión, velocidad y potencia que se desee. Por lo tanto, convierte a formato digital usando un análogo a Digital convertidor (ADC). El AVR cuenta a ADC incorporado en casi todos su MCU. En ATMEGA16, PORTA contiene los pines del ADC. Ahora si tienes más de una fuente de voltaje analógico, más de un sensor, por ejemplo, usted puede leer todos tienen siempre y cuando el número de fuentes es menos que el número de ADC fija en el microcontrolador. Con el Atmega16, hay 8 pines del ADC. Lo único a tener en cuenta cuando el ADC para leer múltiples canales de programación es sólo un canal se puede utilizar en la conversión a la vez.
En ATMega16, basta con cambiar canal MUX y asignar valores según hoja de datos para seleccionar otro canal ADC.
Aquí es cómo se hace:
ADMUX – ADC multiplexor selección registro
MUX4:0, canal análogo y Bits de selección ganar – allí son 8 canales ADC (PA0... PA7).
Para obtener más información consulte la hoja de datos.
Ahora desde sensores analógicos se dan tensiones analógicas así según situaciones usted debe saber lo que es la salida del sensor así como usted puede programar y realizar las respectivas operaciones en consecuencia.
Para ello, sólo Compruebe la tensión de salida del sensor utilizando multímetro y usar fórmula para convertir a valor adc;
ADC = /V.out (V.input*1024)
Y vas hacer con sensores, aunque sensores requiere muchas pruebas y he hecho muchas pruebas con el fin de asegurar ese resultado después de la programación según valores observé utilizando multímetro son correcto y preciso.
Para obtener más información sobre programación de ADC, consulte este enlace.