Práctica 3

La práctica 3 es una introducción a señales analógicas, esto es, obtendremos valores enteros desde “0″ a “1023″ en vez de “0″ y “1″ como en la práctica anterior. Se introducirá el monitor, que representa los valores obtenidos. La “entrada de información” se hará con un potenciómetro y un LDR (o “light dependent resistor”, resistencia variable con la luz) y volveremos a hacer uso de diodos LED como “salida de información”. Recordad que, simplificando mucho, la labor del microcontrolador es esa, recibir entradas (digitales y analógicas), procesarlas y producir salidas (digitales y analógicas).

Monitor (puerto serie)

Se usa para visualizar los valores obtenidos por Arduino. Mediante el puerto serie (a través del USB) el ordenador recibe información del microprocesador, en concreto el valor de una variable en un instante determinado. Para ello debemos primero inicializar el puerto serie mediante Serial.begin(9600), donde el número entre paréntesis, 9600, corresponde a los baudios (pulsos por segundo). Después en el “void loop” se usa la expresión “Serial.print(nombredelavariable)”, para ver en el monitor el valor de la variable, aunque es más útil “Serial.println(nombredelavariable)” pues así en el monitor vemos un valor por línea (en el caso anterior los coloca seguidos). Para activar el monitor basta con hacer CTRL+Shift+M después de compilar y descargar al Arduino el código.

monitor

Divisor de tensión

Un divisor de tensión es un circuito usado para dividir la tensión (ohh si, premio para mí) entre varias resistencias. Nosotros lo usaremos para obtener la señal analógica del LDR. Tendrá este aspecto:

divisordevoltaje

 

Componentes necesarios para esta práctica

Los ejercicios a realizar en esta práctica son:

  1. El ejercicio a consiste en controlar la frecuencia de encendido de un LED mediante un potenciómetro. Girando el potenciómetro variamos el valor de su resistencia. Sacamos ese valor mediante un pin “ANALOG IN”, en este caso el A0, lo leemos con un “analogRead” y así conseguimos un valor desde “0″ a “1023″. Asignamos esa lectura al delay.
  2. El ejercicio b usa prácticamente el mismo código que el ejercicio a. La diferencia importante es que sustituye el potenciómetro por un LDR, que varía su resistencia no mediante un giro mecánico sino mediante la luz que recibe.  Para ello, debemos realizar un circuito denominado “divisor de tensión”. Para añadir interés a la práctica, hemos realizado un escalado del valor de la lectura abriendo la posibilidad de dar un valor máximo de delay deseado al declarar una variable tipo “float“, un número real en el cual almacenaremos el resultado de la operación de reescalado.

Código ejercicio a

Código ejercicio b

Archivos .ino

Descarga el ejercicio a haciendo click aquí
Descarga el ejercicio b haciendo click aquí

Comentario final y RETO SEMANAL

El reto de este semana es encender secuencialmente 5 LEDs controlando la velocidad (o sea el delay) con un potenciómetro. Intentad que sea lo más sensible posible a los cambios que realizáis (que no tenga que esperar al siguiente loop para cambiar de velocidad. Con esto nos referimos a simplemente volver a leer el potenciómetro antes de cada delay).

Según lo vayáis  completando, mandad el código (y si queréis, fotos o vídeos) a la siguiente dirección: practicas@thinkbit.org

Enlaces relacionados

Página oficial Arduino: AnalogInput
Página oficial Arduino(ENG): Analog Read Serial
Página oficial Arduino(ENG): Calibration
Opiron: Todo sobre el LDR
Arduteka: Sensor LDR
Arduteka: Entrada analógica y salida PWM
Adafruit(ENG): Digital inputs
Ladyada(ENG): Lesson 4: serial communications
Sparkfun(ENG): Analog Signals
Sparkfun(ENG): Analog to digital conversion
Instructables(ENG): Serial communications + bluetooth
Bildr(ENG): Simple light reading with LDR
Share Button

Un pensamiento en “Práctica 3

  1. Pingback: Práctica 3. Señales analóg...

Comentarios cerrados.