Ejemplo 1_1. “La ola”
Para el siguiente montaje usaremos unos Leds como salida de
nuestro circuito. Un led es un tipo de semiconductor pasivo que emite luz al
paso de una corriente. LED, es la abreviación del inglés de Light-emitting
diode. El símbolo que se usa en electrónica para representarlo es el siguiente:
El diodo led no puede ir conectado directamente a la salida
del arduino, pues aunque es da baja potencia, lo acabaría fundiendo. Por lo
tanto se ha interponer una resistencia para limitar la corriente que lo
atraviesa. Haremos el cálculo sencillo del valor de la resistencia, y de paso
repasamos un poco la ley de Ohm.
Para un diodo standard , supondremos una caída de potencial
entre el ánodo y el cátodo de 1,7V. La corriente máxima admisible dependerá
también del modelo, para este caso utilizaremos un valor inferior a los 20mA,
en concreto 15mA.
La caída de tensión en la resistencia será por tanto :
Vr = Vcc-Vled
= 5 - 1.7= 3.3V
Si tenemos el valor de la caída de tensión y la corriente
que atraviesa la malla, despejando la R, de la fórmula V=IxR, quedaría:
R= V/I = 3,3/0.15 = 220Ω
En este caso, como coincide con un valor normalizado,
usaremos para el montaje resistencias de 220Ω.
¡Qué coincidencia! Son justamente las que tengo en casa.
Bueno en cualquier caso, podemos usar “cualquier valor” por encima de los 220Ω,
con la única limitación del brillo que emitirá el led, pero ser razonables, no
pongáis resistencias de 100kΩ, y preguntéis por qué no se enciende el led si
hemos seguido el montaje al dedillo.
Valores por debajo, son contraproducentes, porque elevarán
el consumo de nuestro diseño, y fundirán leds constantemente.
Está bien, una vez hemos explicado el por qué de los valores
que hemos escogido pasaremos a definir el proyecto de hoy.
Encendido secuencial
de leds. “La ola”
Este proyecto es un ejercicio muy común de inciación. Pero
nos debería ayudar a planificar como enfrentarnos a cualquier proyecto a partir
de ahora, con unas pautas que facilitarán enormemente el conseguir el objetivo
final.
- Definir un objetivo. Es básico saber qué queremos conseguir. Cualquier modificación sustancial durante la ejecución del proyecto seguramente nos obligue a volver al punto 1, y alargue el plazo y aumente los costes. A lo mejor sólo es tu hobby, pero aplica todos los aspectos de la vida.
- . Escribe tu algoritmo. No confundir con escribir el código del programa. El algoritmo son las instrucciones que deberá seguir el flujo del programa, paso a paso. Intenta en este punto contemplar todas las incidencias posibles.
- Selecciona el hardware necesario, ahora ya sabes cuantas entradas y salidas necesitas y cómo puedes conectarlas.
- Escribe el código. Ahora ya puedes transformar tu algoritmo en el programa. El algoritmo viene a ser como un boceto de un dibujo, y el programa el arte final.
- Crea el circuito, conecta todos los elementos de tu hardware con tu Arduino
- Puesta en marcha y depuración de fallos. ¿Funciona tal y cómo esperabas? ¿No? Es momento de localizar los errores en el hardware o la programación.
Volviendo a nuestro proyecto de hoy. ¿Qué queremos conseguir? El encendido y apagado de 4 leds de manera secuencial.
El algoritmo
podría ser algo parecido:
1.- Encender el led 1
2.- Esperar 1 segundo, y apagarlo
3.- Encender el led 2
4.- Esperar 1 segundo, y apagarlo
5.- Continuaría así hasta el led 4 , momento en que
saltaríamos al led 1
6.- Repetir el bucle indefinidamente.
El hardware necesario:
- 4 leds de colores
- 4 resistencias de 220Ω
- Una protoboard y cablecillo rígido
- Un arduino y su cable USB
Siguiente paso, escribir nuestro código:
// Ejemplo 1 - Secuencia de
ON-OFF de 4 Leds "La ola"
// Definimos las salidas de
nuestro proyecto en el setup
void setup()
{
pinMode(2,OUTPUT); //Pin 2 conectado al
led 1, definido como salida
pinMode(3,OUTPUT); //Pin 3 conectado al
led 2, definido como salida
pinMode(4,OUTPUT); //Pin 4 conectado al
led 5, definido como salida
pinMode(5,OUTPUT);
//etc...
}
void loop()
{
digitalWrite(2,HIGH);// Encendemos el Led 1 poniendo su salida en 1, HIGH
delay(1000); //Espera de un segundo
digitalWrite(2,LOW);//Apagamos el Led 1
poniendo su pina a 0, o LOW
digitalWrite(3,HIGH);//Repetimos los mismo
pasos hasta el led 4
delay(1000);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
delay(1000);
digitalWrite(5,LOW);
//final del Loop, ahora volverá al incicio del
bucle,
//y se repetirá indefinidamente
}
Seguidamente tocará cablear nuestro prototipo, siguiendo el
siguiente esquema:
Una propuesta para el conexionado en la protoboard podría ser esta, donde minimizamos la cantidad de cable a emplear.
Podéis hacer copy-paste sobre el programa y pegarlo en Arduino. De todas maneras yo recomiendo entrarlo a mano e ir aprendiendo de nuestros errores. Por si algo os falla, os dejo un enlace directo al sketch ya depurado y comprobado.
Programa Ejemplo 1_1
Programa Ejemplo 1_1
Deberíais obtener un resultado similar al que muestra el video del siguiente enlace.
La modificación del sketch corresponde a la siguiente entrada, así que no desmontéis el circuito, que lo usaremos en la siguiente entrada.
No hay comentarios:
Publicar un comentario