proyecto semaforo
OPCION 1
MOVIMIENTO MANUAL
instrucciones
OPCION 2...CON MOTOR
Materiales: - triplex madera de 8.5 cm de ancho x 18.5 cm de largo 4 mm grosor - motorreductor - una lata como en el vídeo - goma elástica - 4 laminas conductoras de electricidad - alambre de 3 milímetros 13 cm de largo - varios palitos de helado - cinta masking delgado - 3 leds - 3 resistencias de 1 kiloohmio es decir de 1000 ohmios - batería de 4.7 v. ó 3 pilas de 1.5 v. que conectas en serie dan 4.5 v.
semáforo con la placa arduino
►Materiales
➱Una tarjeta arduino uno
➱3 leds rojo, amrillo y verde
➱4 cables
➱3 resistencias de 150 ohm
➱4 palos de helado
➱Estaño
➱Cautin
➱triplay 4mm 13 x 13 cm
➱6 trozos de cartón delgado
➱3 trozos de cartulina
➱silicona o pegamento
➱Codigo y esquema
Ejemplo: Semáforo
Como primer proyecto, realizaremos un semáforo con unos Leds. Es ideal para iniciarnos en la programación y el montaje de circuitos porque, como veréis, es muy fácil.
Empezaremos nuestro primer proyecto describiendo los elementos que vamos a necesitar.
- 1 x Arduino UNO R3
- 1 x Protoboard
- 1 x Led rojo 3mm
- 1 x Led amarillo 3mm
- 1 x Led verde 3mm
- 3 x resistencias de 220Ω.
- Cables para conectar todo.
Una vez que tenemos todo, hacemos nuestro montaje siguiendo el siguiente esquema.
Esquema de montaje del semáforo
Utilizaremos los pines digitales 2 (rojo), 4 (amarillo) y 7 (verde). Al conectar los Leds debéis tener en cuenta que tienen polaridad, por lo que tenéis que colocarlos bien para que funcionen. En los Leds la patilla corta, o el lado que está achatado, es el negativo e irá conectado a tierra (GND en la placa) a través de una resistencia. La patilla larga, o lado redondeado, es el positivo y se conectará al pin del Arduino correspondiente.
Protoboard del proyecto semáforo
Una vez montado, abriremos nuestro IDE Arduino y escribiremos el programa ( sketch ).
/*************/
/* SEMAFORO */
/*************/
/*** Fernando Martinez Mendoza ***/
//** Definiciones **//
int rojo=2; //definimos el valor del pin para el led rojo
int amarillo=4; //definimos el valor del pin para el led amarillo
int verde=7; //definimos el valor del pin para el led verde
//** Programa **//
void setup() {
pinMode(verde,OUTPUT); //declaramos el pin verde como salida
pinMode(amarillo,OUTPUT);//declaramos el pin amarillo como salida
pinMode(rojo,OUTPUT); //declaramos el pin rojo como salida
}
void loop() {
digitalWrite(verde,HIGH); //encendemos el led rojo
delay(2000); //esperamos 2 segundos
digitalWrite(verde,LOW); //apagamos el led rojo
delay(500); //esperamos medio segundo
digitalWrite(amarillo,HIGH); //encendemos el led amarillo
delay(2000); //esperamos 2 segundos
digitalWrite(amarillo,LOW); //apagamos el led amarillo
delay(500); //esperamos medio segundo
digitalWrite(rojo,HIGH); //encendemos el led verde
delay(2000); //esperamos 2 segundos
digitalWrite(rojo,LOW); //apagamos el led verde
delay(500); //esperamos medio segundo
}
Con la sentencia int estamos declarando una variable numérica entera, para poderla usar después en nuestro código.
El comando delay hace que el programa pare un tiempo determinado. Éste lo definiremos, en milisegundos, dentro de los paréntesis.
Las funciones pinMode y digitalWrite se explicarán en el siguiente post, salidas , con detalle.

/variables
int rojo=8;
int amarillo=7;
int verde=6;
int pausa=5000; //tiempo de espera de los Leds encendidos
void setup() { //declara los pines 8, 7, 6 como salida.
pinMode(rojo, OUTPUT); //LED ROJO
pinMode(amarillo, OUTPUT); //LED Amarillo
pinMode(verde, OUTPUT); //LED VERDE
}
void loop() {
digitalWrite(rojo, HIGH); //Enciende el Led Rojo
delay(pausa);
digitalWrite(rojo, LOW); //Apaga el Led Rojo
digitalWrite(verde, HIGH); //Enciende el Led Verde
delay(pausa);
for(int i=0; i<4; i++) { //parpadea el led Verde durante 4 veces indicando el cambio.
digitalWrite(6, LOW);
delay(500);
digitalWrite(6, HIGH);
delay(500);
}
digitalWrite(6, LOW); //Apaga el Led Verde
digitalWrite(7, HIGH); //Enciende el Led Amarillo
delay(1500);
for (int a=0; a<4; a++) { //parpadea el led Amarillo durante 4 veces indicando el cambio.
digitalWrite(7, LOW);
delay(500);
digitalWrite(7, HIGH);
delay(500);
}
digitalWrite(7, LOW); //apaga el Led Amarillo
}
int rojo=8;
int amarillo=7;
int verde=6;
int pausa=5000; //tiempo de espera de los Leds encendidos
void setup() { //declara los pines 8, 7, 6 como salida.
pinMode(rojo, OUTPUT); //LED ROJO
pinMode(amarillo, OUTPUT); //LED Amarillo
pinMode(verde, OUTPUT); //LED VERDE
}
void loop() {
digitalWrite(rojo, HIGH); //Enciende el Led Rojo
delay(pausa);
digitalWrite(rojo, LOW); //Apaga el Led Rojo
digitalWrite(verde, HIGH); //Enciende el Led Verde
delay(pausa);
for(int i=0; i<4; i++) { //parpadea el led Verde durante 4 veces indicando el cambio.
digitalWrite(6, LOW);
delay(500);
digitalWrite(6, HIGH);
delay(500);
}
digitalWrite(6, LOW); //Apaga el Led Verde
digitalWrite(7, HIGH); //Enciende el Led Amarillo
delay(1500);
for (int a=0; a<4; a++) { //parpadea el led Amarillo durante 4 veces indicando el cambio.
digitalWrite(7, LOW);
delay(500);
digitalWrite(7, HIGH);
delay(500);
}
digitalWrite(7, LOW); //apaga el Led Amarillo
}

Comentarios
Publicar un comentario