Está en la página 1de 3

Práctica 3.

Secuencia de LED con pulsador


1. Objetivo.
Se trata de generar una secuencia de encendido y apagado de una serie de LED que se desactive cuando accionamos
el pulsador y al soltarlo que continúe.
Construiremos el software de dos formas. Primero como un programa de los vistos has ahora y después
construyendo una función.

2. Material.
El material que vamos a utilizar es el siguiente
 Arduino Mega o el que tengamos disponible.
 Protoboard.
 4 resistencias entre 220Ω y 330 Ω.
 1 resistencia de 1k Ω.
 4 LED de colores rojo, verde amarillo y azul.
 1 pulsador.
 Cables jumper necesarios.

3. Montaje del circuito.

Página 1 de 3
1 Programa de Arduino.
1.1 Programa convencional.
En primer lugar, construimos el programa con la estructura clásica de constantes variables void seutp y void loop
donde incluimos todo el algoritmo que queremos que haga el circuito

int pulsador=4;
int tiempo=300;
void setup()
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(4,INPUT);
}
void loop()
{
if (digitalRead(pulsador)==HIGH)
{
digitalWrite(5,HIGH);delay(tiempo);
digitalWrite(5,LOW);delay(tiempo);
digitalWrite(6,HIGH);delay(tiempo);
digitalWrite(6,LOW);delay(tiempo);
digitalWrite(7,HIGH);delay(tiempo);
digitalWrite(7,LOW);delay(tiempo);
digitalWrite(8,HIGH);delay(tiempo);
digitalWrite(8,LOW);delay(tiempo);
}
}

1.2 Programa usando funciones definidas por el programador.


Vamos a construir un programa con el mismo algoritmo, pero en lugar de escribir el código dentro del if, vamos a
llamar a una función que vamos a definir con un código que haga lo mismo.

Vamos a ver el esquema de una función.

El programa quedaría así.


Página 2 de 3
int pulsador=4;
int tiempo=300;
void setup()
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(4,INPUT);
}
void loop()
{
if (digitalRead(pulsador)==LOW)
{
secuencia ();
}
/*Aquí empieza la función que vamos a definir*/
}
void secuencia()
{
digitalWrite(5,HIGH);delay(tiempo);
digitalWrite(5,LOW);delay(tiempo);
digitalWrite(6,HIGH);delay(tiempo);
digitalWrite(6,LOW);delay(tiempo);
digitalWrite(7,HIGH);delay(tiempo);
digitalWrite(7,LOW);delay(tiempo);
digitalWrite(8,HIGH);delay(tiempo);
digitalWrite(8,LOW);delay(tiempo);
}

Página 3 de 3

También podría gustarte