Sunteți pe pagina 1din 19

Conversor Anlogo Digital

Arduino

Frank Diego Rosas Guarin


Mantenimiento de Equipo Biomdico
Ficha:1261536
SENA GIRON CIMI 2017
Conversor Analgico-Digital (A/D)
Un conversor analgico-digital es un dispositivo
electrnico capaz de convertir una seal analgica en
un valor binario, en otras palabras, ste se encarga
de transformar seales analgicas a digitales (0 y 1).
El dispositivo establece una relacin entre su entrada
(seal analgica) y su salida (digital) dependiendo de
su resolucin. La resolucin determina la precisin
con la que se reproduce la seal original.
Esta resolucin se pude saber, siempre y cuando
conozcamos el valor mximo de la entrada a convertir
y la cantidad mxima de la salida en dgitos binarios.
Resolucin = +Vref/2^n(donde n son bits)
Por ejemplo, un conversor A/D de 8-bits puede convertir valores que van
desde 0V hasta el voltaje de referencia (Vref) y su resolucin ser
de: Resolucin = Vref/256. Lo que quiere decir que mapear los valores de
voltaje de entrada, entre 0 y Vref voltios, a valores enteros comprendidos
entre 0 y 255 (2^n-1).
La tarjeta Arduino utiliza un conversor A/D de 10-bits, as que: Resolucin =
Vref/1024 Mapear los valores de voltaje de entrada, entre 0 y Vref voltios,
a valores enteros comprendidos entre 0 y 1023 (2^n-1). Con otras palabras,
esto quiere decir que nuestros sensores analgicos estn caracterizados
con un valor comprendido entre 0 y 1023. (Ver analogRead()).

Si Vref es igual a 5v, la resolucin es aproximadamente de 5 milivoltios.


Por lo tanto el error en las medidas de voltaje ser siempre de slo 5
milivoltios.
2'0 0 1
2'1 1 2
2'2 2 4
2'3 3 8
2'4 4 16 8 Bits
2'5 5 32 10 Bits
2'6 6 64
2'7 7 128
2'8 8 256
2'9 9 512
2'10 10 1024
Caso de transmisin o envo de datos (comunicacin) por el puerto serie:
Al enviar datos por el puerto serie, tenemos que tener en cuenta que la
comunicacin se realiza a travs de valores con una longitud de 8-bits
(Ver serialWrite(c) o serialRead(c)), mientras que como ya se hemos
indicado, el conversor A/D de Arduino tiene una resolucin de 10-bits.
Por ejemplo, si capturamos los valores de un sensor analgico (e.j.
potencimetro) y los enviamos por el puerto serie al PC, una solucin podra
ser transformarlos en un rango entre 0 y 9 y en modo de codificacin ASCII
(carcter).
(dato capturado del sensor analgico * 9 / 1024) + 48;
0 ASCII -->decimal = 48
1 ASCII -->decimal = 49
etc..
En forma de cdigo podra quedar como:

value1 = analogRead(analogPin1);
//captura del valor de sensor analgico (0-1023)
serialWrite(treatValue(value1));
//volcado al puerto serie 8-bits
int treatValue(int data)
{ return (data * 9 / 1024) + 48;
// frmula de transformacin }
Otra frmula sera dividiendo por 4 Esto es correcto?
(1024/256)los valores capturados de los sensores analgicos,
para convertirlos en valor de byte vlido (0 - 255).

value = analogRead(analogPin)/4; serialWrite(value);


Gracias

Frank Diego Rosas Guarin


Mantenimiento de Equipo Biomdico
Ficha:1261536
SENA GIRON CIMI 2017
Conversor Anlogo Digital
Arduino

Frank Diego Rosas Guarin


Mantenimiento de Equipo Biomdico
Ficha:1261536
SENA GIRON CIMI 2017

S-ar putea să vă placă și