CONTROL DEL TIEMPO DE ENCENDIDO Y APAGADO DEL LED
En esta práctica lo que haremos será controlar el tiempo de encendido y apagado de un diodo led a partir de una programación de arduino que dará las ordenes a la placa física de arduino que a través de unos cables llevará la información a una placa protoboard donde esta conectado el diodo led y la resistencia para regular la intensidad de corriente que pasa por el diodo led. El programa por el que haremos la programación de arduino y poder regular el tiempo de encendido y apagado del led tiene el mismo nombre que la placa:
#define GREEN 5
void setup() {
pinMode(GREEN,OUTPUT);
digitalWrite(GREEN,HIGH);
}
void loop() {
digitalWrite(GREEN,HIGH);
delay(1000);
digitalWrite(GREEN,LOW);
delay(1000);
}
Diodo led encendido Diodo led apagado#define GREEN 5
void setup() {
pinMode(GREEN,OUTPUT);
digitalWrite(GREEN,HIGH);
}
void loop() {
digitalWrite(GREEN,HIGH);
delay(1000);
digitalWrite(GREEN,LOW);
delay(1000);
}
La única dificultad que ha presentado el circuito a sido saber en que lugar colocar el positivo y negativo del diodo led correctamente, esto a su vez tiene muchas aplicaciones como por ejemplo si cambiamos el diodo led por un timbre añadimos varios y alternamos el tiempo que tardaría en sonar los timbres podría hacerse música o incluso con los diodos leds hacer un espectáculos de luces en la oscuridad.
CONTROL DE UNA SERIE DE DIODOS
En esta práctica se alternará el tiempo de encendido y apagado de una serie de diodos leds, 3 para ser exactos, en la que los diodos se encenderán y apagarán alternativamente, la placa utilizada fue una Arduino/Genuino 101, el programa con el que se controlan los diodos es el siguiente:#define YELLOW 7
#define GREEN 5
#define RED 3
void setup() {
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(YELLOW,OUTPUT);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(YELLOW,LOW);
}
void loop() {
digitalWrite(RED,HIGH);
delay(1000)
digitalWrite(RED,LOW);
delay(1000)
digitalWrite(YELLOW,HIGH);
delay(1000);
digitalWrite(YELLOW,LOW);
delay(1000)
digitalWrite(GREEN,HIGH);
delay(1000)
digitalWrite(GREEN,LOW);
delay(1000);
}
A continuación en la práctica cambiamos el funcionamiento de los diodos, en vez de que se enciendan los diodos alternativamente se encendieran y apagaran al mismo tiempo, la placa fue la misma pero el programa se modificó en parte:
#define YELLOW 7
#define GREEN 5
#define RED 3
void setup() {
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(YELLOW,OUTPUT);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
}
void loop() {
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(YELLOW,HIGH);
delay(1000);
digitalWrite(YELLOW,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(RED,LOW);
delay(1000);
}
CONTROL DE UN DIODO LED RGB
En esta práctica utilizaremos una variante del diodo led convencional, un diodo led RGB que en lugar de dos ''patas'' tiene 4, una es destinada al pin ''GND'' o Tierra, las otras 3 son llevadas a otros pines para recibir la información de control de los diodos. Los demás materiales son los de las anteriores prácticas exceptuando la placa que esta vez es una Arduino/Genuino UNO. El programa utilizado para controlar los diodos es el siguiente:
#define GREEN 5
#define BLUE 3
void setup() {
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,LOW);
}
void loop() {
digitalWrite(RED,HIGH);
delay(500);
digitalWrite(RED,LOW);
delay(500);
digitalWrite(GREEN,HIGH);
delay(500);
digitalWrite(GREEN,LOW);
delay(500);
digitalWrite(BLUE,HIGH);
delay(500);
digitalWrite(BLUE,LOW);
delay(500);
}
#define RED 6
#define GREEN 5
#define BLUE 3
#define delayTime 20
void setup(){
pinMode(RED,OUTPUT);
pinMode(GREEN,OUPUT);
pinMode(BLUE,OUTPUT);
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,LOW);
}
void loop(){
delay(1000);
for(int i=0;i<255;i+=1)
{analogWrite(GREEN,i);
delay(delayTime);
}
digitalWrite(GREEN,LOW);
dilay(1000);
for(int i=0;i<255;i+=1)
{analogWrite(RED,LOW);
delay(1000);
}
digitalWrite(RED,LOW);
delay(1000);
for(int i=0;i<255;i+=1)
{analogWrite(BLUE,1);
delay(delayTime);
}
digitalWrite(BLUE,LOW
}
CONTROLADOR DE 2 DIODOS LED MEDIANTE UN BOTÓN
En esta práctica controlaremos 2 diodos led, 1 rojo y otro verde, y haremos que se intercambien de encendido y apagado mediante un botón, es decir, un diodo estará encendido todo el tiempo y el otro apagado, cuando se pulse el botón se cambiarán, el que estaba encendido se apagará y el que estaba apagado se encenderá, durante un tiempoEl programa utilizado en esta ocasión es el siguiente:
#define RED 13
#define GREEN 12
#define BUTTON 4
void setup ()
{
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
}
void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(GREEN,LOW);
digitalWrite(RED,HIGH);
}
else
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
}
}
SEMÁFORO
Programa:
#define REDCARS 13#define YELLOWCARS 12
#define GREENCARS 11
#define GREENPEDESTRIANS 10
#define REDPEDESTRIANS 9
#define SIGNAL 3
#define BUTTON 6
void setup()
{
pinMode(REDCARS,OUTPUT);
pinMode(YELLOWCARS, OUTPUT);
pinMode(GREENCARS,OUTPUT);
pinMode(REDPEDESTRIANS,OUTPUT);
pinMode(GREENPEDESTRIANS,OUTPUT);
pinMode(SIGNAL,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
digitalWrite(REDCARS,LOW);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(GREENCARS,HIGH);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(SIGNAL,LOW);
}
void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(SIGNAL,HIGH);
delay(5000);
digitalWrite(YELLOWCARS,HIGH);
digitalWrite(GREENCARS,LOW);
delay(2000);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(REDCARS,HIGH);
digitalWrite(SIGNAL,LOW);
digitalWrite(REDPEDESTRIANS,LOW);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(10000);
for(int i=0;i<3;i++)
{
digitalWrite(GREENPEDESTRIANS,LOW);
delay(1000);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(1000);
}
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(REDCARS,LOW);
digitalWrite(GREENCARS,HIGH);
}
}
En este proyecto se ha hecho un semáforo a partir del programa arduino antes mencionado en el blog. El estado inicial del circuito es rojo para los peatones, verde para los coches y el Led apagado que se encuentra al lado del pulsador. Cuando el pulsador se acciona se enciende el Led colocado a su lado, el Led verde de los coches pasará a amarillo y eventualmente a rojo, a la misma vez que el diodo rojo de los peatones se apaga y se enciende el verde dando paso a los peatones, este Led tras un tiempo empezará a parpadear dando a entender que le queda poco tiempo a los peatones para cruzar la calle, una vez que el Led verde de los peatones se apaga se enciende el Led rojo de los peatones y el Led verde de los coches apagándose el Led blanco y reiniciándose el circuito