Diferencia entre señal analógica y señal digital:
Ejemplo de Señal Analógica y Digital
► Señal Analógica: como se puede ver en la imagen, el potenciometro conectado como divisor resistivo nos permite variar la tensión de salida desde su valor minio al máximo.
Esta variación medida por el voltímetro, nos muestra como se comporta una señal analógica, recorriendo todos los valores desde 0V a 5V.
► Señal Digital: para poder comparar la señal analogica con la digital, colocamos un pulsador, los estados de un polsador son accionaod (HIGH) o sin accionar (LOW).
Estos estos de alto y bajo (0 - 1) son tomados como señal digital, si acciono 5V (HIGH) y si no lo accionamos 0V (LOW).
Se coloca la resistencia en pull down para poder leer los 0V.
Señales analógicas.
Son consideras señales naturales, es decir no son necesariamente creadas por los humanos, y generalmente representan la medida de una variable física, por ejemplo temperatura, así por ejemplo si mides la temperatura del cuerpo humano, podrás observar que la medición va variar en un rango de 36.1°C a 37.2°C cuando la persona esta sana, además te das cuenta que usas una unidad de escala conocida como grados °C, así todas las señales que tenemos en forma natural son analogías, entre las mas usadas en electrónica tenemos:
Voltaje: Normalmente se usa para medir la tensión eléctrica por ejemplo en el toma de tu hogar se mide en Voltios
Corriente: Normalmente se usa para medir el consumo de corriente de un motor o de un equipo particular se mide en Amperios
Humedad: Normalmente se usa en aplicaciones agro industriales mide el porcentaje de humedad pero también se puede dar en g / m³
Presión: Normalmente se usa en sistemas hidráulicos y neumáticos se mide en PA (pascales) en PSI (Pound-force/sqare inch) o en Newton por metro cuadrado (N/m2)
Temperatura: Normalmente se usa en sensores ambientales, en equipos industriales como hornos, entre otros se mide en grados centígrados C° o en grados kelvin F°
Torque: Normalmente se usa para medir el par de fuerza en motor la unidad es Newton metro (Nm) y también mide en kilogramo-fuerza metro (Kg*m)
Luminosidad: Normalmente usado en sensores que encienden las luces cuando anochece, también se usan en sensores ambientales, su medida se da en Candelas
Para medir estas variables normalmente usamos un transductor electrónico o sensor electrónico que “traduce” la variable medida a una variable electrónica, esta puede ser voltaje, corriente o resistencia.
fuente - https://dynamoelectronics.com/que-son-senales-analogicas-y-digitales-en-electronica/
Módulos de entrada Analógica:
Los módulos de entradas analógicas convierten una magnitud analógica en un número que se deposita en una variable interna del autómata. Lo que realiza es una conversión A/D, puesto que el autómata solo trabaja con señales digitales.
Esta conversión se realiza con una precisión o resolución determinada (número de bits) y cada cierto intervalo de tiempo (periodo muestreo).
Muestreo de señal analógica.
Un microcontrolador funciona con lógica digital (0 - 1) para poder procesar los datos de señales analógicas utiliza un conversor A-D (analógico - digital).
Eso valores dependerán de la resolución (cantidad de bits) en las que se convertían los valores analógicos en digitales (binario) que podernos leer en una programación como decimales realizando la conversión.
Conversor Analógico-Digital - Conversor Digital-Analógico
Resolución de señal Analógica:
Tener una mayor tasa de muestreo permitirá al dispositivo ser más preciso, pero esta no es la única manera de controlar la precisión.
Dado que se trata de convertir una señal analógica en un código binario, habrá un número finito de pasos discretos que se puedan utilizar para representar la tensión en un punto en el tiempo.
Cuanto mayor sea la resolución de la ADC, más discretos serán los pasos que pueden ser adoptados por ella.
Escalera ADC de 3bits con una referencia de 2V
Para más detalle, esto es importante para entender cómo determinar cuántos pasos puede hacer un ADC.
Un ADC tiene una salida binaria que es representativa de la tensión de alimentación.
Si la tensión de alimentación es de 10 V y hay un ADC de 8 bits, entonces existe una posibilidad de 256 pasos.
Para determinar la resolución utilice la ecuación 2xN. El "2" es una constante y N es el número de bits que hay.
2 x N = 2 x 8 = 256
Ejemplo de Resolución de 8Bits:
Al tomar 2 x 8 terminamos con 256 pasos.
Utilizando 256 pasos con una alimentación de 10 V significa que cada paso será de 39.0625 mV.
Habrá un código binario diferente para cada uno de estos pasos.
Si se tuvieran que explorar todas las posibles opciones de entrada en un ADC comenzando desde la más bajo a la más alta, se vería el perfil de una escalera.
Esta escalera es la función de transferencia del ADC.
Para un valor de lectura de 100 en decimal, tendríamos un voltaje de entrada de 3.906V
Entrada Analógica con ARDUINO:
Las mayoría de las placas Arduino contienen un convertidor de analógico a digital multicanal de 10 bits.
Esto significa que asignará voltajes de entrada entre 0 y el voltaje de operación (5V o 3.3V) en valores enteros entre 0 - 1023.
Si la señal analógica seria de 5V:
En binario el micro seria 1111111111
En decimal el valor seria 1023
Con una resolución de 5V/1024 0,0049 voltios - (4,9 mV) por unidad.
Ejemplo de entrada analógica con ARDUINO - POTENCIOMETRO:
► En la imagen pude observarce:
El multimetro expresa el valor de tension que llega a la entrada proveniente del potenciomes ( en este caso como dispositivo de señal alalogica).
En el monitor serial se ven los valores expresadors en decimal, estos valores osn lo que usariamos en nuestra programacion.
El pin 5 configurado como salida adopta un valor alto cuando la lectura de la entrada A0 supera 510 y se apagara en caso de que sea menor o igual.
Programación utilizada para el ejemplo:
#define pot A0
#define led 5
int lec_pot = 0;
void setup() {
pinMode(led,OUTPUT);
Serial.begin(9600);
}
void loop() {
lec_pot = analogRead(pot);
if (lec_pot > 510) {
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
Serial.print("pot = ");
Serial.println(lec_pot);
delay(50);
}