You are on page 1of 9

LECTURA ANALOGICA (LEDS)

I. OBJETIVOS

I.I. OBJETIVO GENERAL

Identificar las lecturas analgicas de la placa arduino.

I.II. OBJETIVOS ESPECIFICOS

Realizar un programa en el IDE para diferenciar y conocer las caractersticas de las lecturas
analgicas.
Comprobar con un potencimetro las lecturas analgicas de 5 leds.

II. MARCO TEORICO

Entradas y salidas analgicas

Una seal elctrica analgica es aquella en la que los valores de la tensin o voltaje varan constantemente y
pueden tomar cualquier valor.

Un sistema de control (como un microcontrolador) no tiene capacidad alguna para trabajar con seales
analgicas, de modo que necesita convertir las seales analgicas en seales digitales para poder trabajar con
ellas.

En el caso de un arduino Uno, el valor de 0 voltios analgico es expresado en digital como B0000000000 (0) y
el valor de 5V analgico es expresado en digital como B1111111111 (1023). Por lo tanto, todo valor analgico
intermedio es expresado con un valor entre 0 y 1023, es decir, sumo 1 en binario cada 4,883 mV.

Arduino Uno tiene una resolucin de 10 bits, es decir, unos valores entre 0 y 1023.

Arduino Due tiene una resolucin de 12 bits, es decir, unos valores entre 0 y 4095.

Salida Analgica. PWM

Arduino Uno tiene entradas analgicas que gracias a los conversores analgico digital puede entender ese valor
el microcontrolador, pero no tiene salidas analgicas puras y para solucionar esto, usa la tcnica de PWM.

Las Salidas PWM (Pulse Width Modulation) permiten generar salidas analgicas desde pines digitales. Arduino
Uno no posee salidas analgicas puras.

La modulacin por ancho de pulsos (tambin conocida como PWM, siglas en ingls de pulse-width modulation)
de una seal o fuente de energa es una tcnica en la que se modifica el ciclo de trabajo de una seal peridica
(una senoidal o una cuadrada, por ejemplo), ya sea para transmitir informacin a travs de un canal de
comunicaciones o para controlar la cantidad de energa que se enva a una carga.

El ciclo de trabajo de una seal peridica es el ancho relativo de su parte positiva en relacin con el perodo.
duty cycle = (tiempo que la salida est a uno o HIGH) / (periodo de la funcin)
En Arduino la frecuencia de PWM es de 500Hz. Pero es un valor que puede modificarse en caso que lo
necesitemos.

Funciones de I/O Analgicas en Arduino

Los microcontroladores de Arduino contienen en la placa un conversor analgico a digital de 6 canales. El


conversor tiene una resolucin de 10 bits, devolviendo enteros entre 0 y 1023. Los pines analgicos de Arduino
tambin tienen todas las funcionalidades de los pines digitales. Por lo tanto, si necesitamos ms pines digitales
podemos usar los pines analgicos. La nomenclatura para los pines analgicos es A0, A1, etc

En arduino para tratar las entradas y salidas digitales usamos las siguientes funciones:

analogReference() configura la referencia de voltaje usada para la entrada analgica.

analogRead() lee el valor del pin analgico especificado. http://arduino.cc/en/Reference/AnalogRead

analogWrite() escribe un valor analgico (onda PWM) al pin especificado. No en todos los pines digitales se
puede aplicar PWM.

Otras funciones interesantes con entradas/salidas analgicas:

map(value, fromLow, fromHigh, toLow, toHigh)

constrain(x, a, b)

III. MATERIAL Y EQUIPOS

1 Pc (Para subir el programa).


1 Arduino UNO.
1 Cable USB (conecta el arduino con la PC)
1 Protoboard.
1 Potenciometro de 5 [K]
5 Leds (rojo).
5 Resistencia de 330 [ohmios].
Cablecillos de conexin.
IV. CIRCUITOS Y ESQUEMAS
SIMULACION EN PROTEUS

LECTURA

ANALOGICA:
1-204
L ECTURA

ANALOGICA:
205-408
L ECTURA

ANALOGICA:
409-612
LECTURA

ANALOGICA:
613-816
LECTURA

ANALOGICA:
817-1023
V. MARCO PRACTICO

1. Armar el circuito realizando la conexin entre los 5 leds a salidas digitales D5 a D9.
2. Colocar una resistencia de 330 ohmios a cada led.
3. Conectar un potencimetro de 5 [K] a la entrada analgica A0.
4. Realizar las conexiones del arduino a GND y a VCC del Protoboard.
5. Subir el cdigo de programacin al arduino.
6. Observar la secuencia en la que enciende los leds al mover el potencimetro.
7. Se enciende cada led en orden, por los datos analgicos que van de 0 a 1023.

VI. ANEXOS
Cdigo de Programacin (IDE ARDUINO)

void setup() { digitalWrite(6, HIGH); if (lec >=817 && lec <= 1020) {

for (int i = 5; i <= 9; i++) { digitalWrite(7, LOW); digitalWrite(5, HIGH);

pinMode(i, OUTPUT); digitalWrite(8, LOW); digitalWrite(6, HIGH);

} digitalWrite(9, LOW); digitalWrite(7, HIGH);

Serial.begin(9600); } digitalWrite(8, HIGH);

} if (lec >= 409 && lec <= 612) { digitalWrite(9, HIGH);

digitalWrite(5, HIGH); }

void loop() { digitalWrite(6, HIGH); if (lec == 0) {

int lec = analogRead(A0); digitalWrite(7, HIGH); digitalWrite(5, LOW);

digitalWrite(8, LOW); digitalWrite(6, LOW);

if (lec >=1 && lec <= 204) { digitalWrite(9, LOW); digitalWrite(7, LOW);

digitalWrite(5, HIGH); } digitalWrite(8, LOW);

digitalWrite(6, LOW); if (lec >= 613 && lec <= 816) { digitalWrite(9, LOW);

digitalWrite(7, LOW); digitalWrite(5, HIGH); }

digitalWrite(8, LOW); digitalWrite(6, HIGH); Serial.println("");

digitalWrite(9, LOW); digitalWrite(7, HIGH); Serial.print(lec);

} digitalWrite(8, HIGH); delay(100);

if (lec >= 205 && lec <= 408) { digitalWrite(9, LOW); }

digitalWrite(5, HIGH); }
VII. CONCLUSIN

Se realiz el laboratorio con satisfaccin, y se pudo comprobar las lecturas analgicas, al mover el
potencimetro con los datos que iban de 0 a 1023, y representaban diferente lectura en cada led de
los 5 leds.

VIII. BIBLIOGRAFIA

https://www.arduino.cc
https://www.wikipedia.com
http://panamahitek.com