bclose

SALIDAS ANALÓGICAS

Controlando la intensidad de brillo de un LED

Objetivos

.

 
    • Comprender la diferencia entre analógico y digital.
    • Presentar las salidas analógicas.
    • Crear estructuras de repetición.

 

Material requerido.

ArduinoUNOArduino Uno o compatible y con el firmware para S4A cargado.

Un PC con el entorno S4A correctamente instalado y configurado.

Img_3_4 Una Protoboard.
componenteUn diodo LED.
Img_3_5Una resistencia de 330 Ohmios..
Img_3_6Algunos cables de Protoboard..

ANALÓGICO Y DIGITAL

 

Todas las señales que hemos manejado hasta ahora, tanto de entrada como de salida, han sido digitales. Como ya sabemos, este tipo de señales solo pueden tomar dos valores, HIGH o LOW, 0 o 1.

forma onda señal digital

Hasta ahora hemos utilizado este tipo de señales para encender o apagar un LED o leer si un pulsador está presionado o no. De hecho, muchos de los elementos que existen son de este tipo, como una alarma o un sensor de presencia.

Sin embargo existen muchas otras cosas que pueden tomar cualquier valor dentro de unos límites. Si lo que queremos es, por ejemplo, leer la temperatura, controlar la intensidad del brillo de un LED o la velocidad de giro de un motor, necesitaremos de las señales analógicas.

Señal Analogica

En esta sesión utilizaremos una salida analógica para controlar la intensidad del brillo de un LED.

 

LAS SALIDAS ANALÓGICAS

 

En realidad, las placas Arduino (excepto la Arduino Due) carecen de salidas analógicas puras, pero utilizan un truco para conseguir que una salida digital se comporte como una analógica.

 
  • No vamos a entrar a explicarlo, pero si os interesa se llama Pulse Width Modulation, PWM.
  • Podéis buscarlo en la sesión equivalente de salidas analógicas del curso de Arduino de esta misma página. 

Es importante saber esto para que ahora no se nos haga raro saber que las salidas analógicas de Arduino en S4A corresponden a los pines digitales  5, 6 y 9.

salidas analógicas arduino scratch
 
  • Las salidas analógicas de Arduino UNO pueden tomar valores entre 0 y 255, y en función de ese valor envían una señal cuyo valor estará entre 0V y 5V.
  • Si para algún proyecto necesitamos más salidas digitales que las tres que conocemos, podemos usar las salidas analógicas, utilizando el valor 0 para LOW y el 255 para HIGH. 

 

CONTROLANDO EL BRILLO DE UN LED

 

El circuito electrónico es el mismo que el del blinking LED de la sesión 3, pero en este caso conectaremos el LED a una de las salidas analógicas. En este caso hemos elegido la 6.

diagrama electrico salida analogica

Para asignar un valor a las salidas analógicas utilizaremos el bloque “analógico …  valor …” de la categoría “Movimientos”. Seleccionaremos la salida analógica 6.

Vemos que podemos asignarle el valor que queramos. Si probamos a meter valores, entre 0 y 255, veremos como el LED se ilumina con mayor o menor intensidad en función del valor que le metamos.

asignar valor analogico

Ahora vamos a hacer un programa que encienda y a apague el LED poco a poco, es decir, que haga tomar a la salida analógica todos los valores desde 0 a 255 y después haga lo mismo desde 255 a 0.

Para poder ir variando el valor de la salida crearemos una variable a la que llamaremos “i”. La idea es que la salida tome siempre el valor de esta variable e ir incrementándola de 1 en 1 hasta 255, para después ir disminuyéndola también de 1 en 1 hasta 0.

Lo primero que vamos a hacer es fijar las condiciones iniciales, fijamos el valor de la variable “i” a 0 y asignamos el valor de i la salida analógica 6.

variabl analogica s4a

Ahora tendremos que conseguir hacer una estructura que sume 1 a la variable y se lo asigne a la salida analógica. Como queremos que llegue hasta 255, tendremos que hacer que se repita 255 veces.

 
  • Para repetir una acción un número determinado de veces usaremos un nuevo bloque de “Control”, el bloque “repetir … ”.
  • Para que cada vez que se repita sume 1 a la variable “i”, usaremos el bloque de “Variables” “sumar … a …” y seleccionaremos la variable “i” y le indicaremos que sume 1.
  • Es importante que haga la suma antes de asignar el valor a la salida, o de lo contrario repetiría el valor 0 y sólo llegaría a 254. 
estructura repeticion s4a

Para hacer que se vaya apagando poco a poco haremos lo mismo pero en vez de sumarle 1, le sumaremos -1.

estructura descenso repeticion

Si probamos a ejecutar el programa ahora, veremos que el LED se ilumina poco a poco hasta llegar al máximo y luego va apagándose poco a poco una sola vez.  Si queremos que haga esto continuamente sólo tenemos que meter todos los bloques, excepto las condiciones iniciales, dentro del conocido bloque “por siempre”.

 
  • Recordad que podemos ver el valor que tiene la variable en todo momento, y por lo tanto la salida analógica 6, en la tabla de resumen de valores del escenario. 
  s4a salida analogica

Podéis descargar el programa completo desde aquí: Salidas_analógicas.

 

Resumen de la sesión

 

En esta sesión hemos aprendido varias cosas importantes:

 
  • La diferencia entre analógico y digital
  • Cómo usar las salidas analógicas de Arduino.
  • A controlar el valor de las salidas analógicas mediante variables.
  • Cómo crear estructuras de repetición más complejas.
 
 
 

No Comments

Give a Reply

WordPress Anti-Spam by WP-SpamShield