Está en la página 1de 5

UNIVERSIDAD TECNOLÓGICA DE PANAMA

FACULTAD DE INGENIERÍA ELÉCTRICA


DEPARTAMENTO DE CONTROL
LABORATORIO #4

TÍTULO Procesador de Señales ADC 2


ASIGNATURA Instrumentación Electrónica Industrial
CARRERA Lic. en Sistemas Eléctricos y Automatización
Lic. en Electrónica Digital y Control Automático

1 OBJETIVOS
Que el estudiante se familiarice con el equipo y las herramientas de desarrollo tales como el
microcontrolador Arduino, el ADC, los sensores y el programa de desarrollo.

2 MATERIALES Y EQUIPO
1. Tarjeta Arduino.
2. Fototransistor
3. Cables de conexión.
4. Computadora con IDE Arduino.

3 INTRODUCCIÓN
Este laboratorio permite que el estudiante se familiarice con el hardware y el software del
Arduino y su ambiente, en esta ocasión se debe verificar el concepto de convertidor
análogo a digital del microcontrolador. Los ADC permiten la conexión de sensores
continuos, para la medición y control de procesos.
Escriba el siguiente programa para Arduino. Se desea que la frecuencia de conmutación de
encendido/apagado de un led varíe, al cambiar la intensidad de luz que incide sobre una
fotorresistencia.

4 TEORÍA

CONVERTIDOR ANÁLOGO A DIGITAL ADC.


Un ADC es un dispositivo que convierte una señal análoga a un código binario (decimal.).
El proceso de conversión depende del número de bits del ADC, del voltaje de referencia y
del método de conversión, que en este caso se utiliza aproximaciones sucesivas.
Algunas de las características del ADC del Arduino se muestran en la tabla #1.

Tabla #1. Características del ADC


Resolución 10 bits
No linealidad 0.5 LSB
Precisión 2 LSB
Tiempo de conversión 13 – 260 microseg.
Muestreo 76.9 KSPS
Canales 6 multiplexados

1
Después que la conversión es completada, el resultado es almacenado en los registros
ADCL y ADCH. Este resultado corresponde con la ecuación que se muestra en la figura
#1, y que corresponde con el comportamiento ideal del ADC. Para utilizar el ADC del
Arduino se utilizan funciones que configuran y permiten una rápida lectura de sus canales.
Estas son:

1. analogRead(A0): Lee el valor del canal A0, que está entre 0 y 1023.
2. analogWrite(pin, valor de pwm): Escribe un valor entre 0 y 255 a un pin.

2n−1 1023
Código= ∗V ¿ = ∗V ¿
V max 5

Figura #1. Característica ideal del ADC.

FOTORESISTOR
Un foto resistor o foto celda es un dispositivo que varía su resistencia eléctrica con cambios
en la intensidad de luz. La resistencia del foto resistor disminuye con el aumento en la
intensidad de luz. Este dispositivo se utilizará en otros laboratorios para medir la
intensidad de luz.
Debido a que la resistencia es inversamente proporcional a la intensidad de luz, se utilizará
la función map(), que escala un conjunto de valores a otro conjunto de valores más
apropiados.

2
5 PROCEDIMIENTO
1. Construya el circuito como se muestra en la figura #2, que corresponde con el
diagrama de la figura #3. No es necesario el led externo.

Figura #2. Conexiones que debe realizar para este experimento.

Figura #3. Diagrama de conexiones.

2. Copie el programa correspondiente al listado que se da al final de la guía.


3
3. Compile el programa.
4. Transfiera el programa hacia la tarjeta.
5. Acerque una luz a la fotorresistencia y observe si la frecuencia de conmutación del
led cambia.

6 PROGRAMA DE CONTROL
/**********************************************************
Nombre: Lab4AdcPhoto
Si se cambia la intensidad de luz en el fotoresistor, el led debe cambiar su frecuencia de
encendido y de apagado. El proceso consiste en cambiar el valor del retardo según la
intensidad de luz.

**********************************************************/
float val = 0; //variable para almacenar el valor del ADC.
int nivel = 0; //variable para escalar la intensidad de luz.
void setup() {

pinMode(LED_BUILTIN, OUTPUT); // Inicializa el pin 13 digital, pin LED_BUILTIN


como una salida.

// La funcion loop es un lazo infinito, se ejecuta indefinidamente


void loop() {

val = analogRead(A0); //lee el ADC y almacena el valor en val.


nivel = map(val, 300, 1023, 600, 0); //escala el nivel de intensidad a un valor inverso.

digitalWrite(LED_BUILTIN,HIGH); //enciende el led


delay(nivel); //retardo por el valor de nivel
digitalWrite(LED_BUILTIN,LOW); //apaga el led
delay(nivel); //retardo por el valor de nivel
}
/************************************/

7 CONCLUSIONES

4
Escriba las observaciones que tienen sobre las características del ADC y del sensor, como
la linealidad y la resolución.

8 ASIGNACIÓN
1. Explique gráficamente el objetivo de la función map().

9 BIBLIOGRAFÍA
1. www.arduino.cc
2. www.sunfounder.com

También podría gustarte