1. Colegio de estudios científicos y tecnológicos del estado de México
Plantel Tecámac
Mini proyecto de arduino
“Cruce de semáforos”
Asignatura: instala y configura aplicaciones y servicios
Profe: René Domínguez Escalona
Integrantes:
Sergio Eduardo Florencio Domínguez Num.Lista:10
Joel Rebollo Lázaro Num.Lista:36
Alma Brenda Cabrera Num.Lista:35
David Hernández Cruz Num.Lista:17
Oscar Francisco Olvera Leyva Num.Lista:28
Grupo: 503
2. Materiales
2 x Diodo LED Red
2 x Diodo LED Yellow
2 x Diodo LED Green
6 x Resistencia220 ohmios
1 x Resistencia10 Kohmios
1 x Arduino UNO
Cables
1 x Pulsador
Descripción del ensamblaje
Para conectarnuestro Arduino UNO a la protoboard o BreadBoard sacaremosun
cable (cable rojo) del PIN 5V hasta nuestra fila positiva de la protoboard (+) y un cable
(cable azul) desde el PIN GND hasta nuestra fila (-) de la protoboard.
Para evitarnos problemas de conexión haremos ya el puente a mitad de la protoboard.
El cable azul de la imagen conecta la fila negativa para que todos los pines estén
unidos. Nota: esto no es obligado hacerlo pero suele ser útil para evitarnos problemas
de montaje.
Ahora que ya tenemos la protoboard preparada para seguir, procederemosa conectar
nuestro botón pulsador.Este componente está dotado de 4 terminales o "patas".
Podemosconectarlo como en la imagen haciendo de puente entre las bandas
verticales de la protoboard.A la pata de la izquierda le conectaremosla resistencia
de 10 Kohmios y la resistencia irá conectadaa la fila negativa (GND) de la protoboard
mediante un cable.
De la pata de la derecha del pulsador saldrá un cable que conectara éste a la fila
positiva de la protoboard (5V).
Seguidamente procederemosa colocarlos LEDs en la protoboard.Usando el polo
negativo del LED en la zona vertical de la protoboard y el positivo en la fila negativa de
la protoboard (GND) como indica la imagen. Del polo negativo del LED deberá ir
conectado la resistencia de 220 ohmios como muestra la imagen. Es recomendable
que su disposicióntambién haga de puente entre las columnas verticales de la
protoboard.
3. Una vez tenemos montados y conectados los componentes,tan sólo nos
faltará conectarlos LEDs y el botón a nuestro Arduino UNO. Estas conexiones las
haremos de la siguiente manera:
Los LEDs los conectaremos desde la salida de la resistencia hacia el controlador.
- LED Verde (derecha): PIN 2 del Arduino.
- LED Amarillo: PIN 3 (PWM)
- LED Rojo: PIN 4
- LED Verde:PIN 5
- LED Amarillo: PIN 6
- LED Rojo: PIN 7
Por último nos faltará conectarel botón a nuestro controlador. La pata superior
izquierda la conectaremosal PIN 8 del Arduino UNO. Cable negro de la imagen.
5. Código con descripción del mismo
/*
Programa para un par de semaforos que cambian de uno
a otro, y la implementacion de un boton para terminar
el tiempo de la luz verde y pasar al otro.
*/
// Declaramos la variable para el pin del boton
const int button = 8;
void setup() {
// Con un ciclo activamos los pines del 2 al 7 como salidas
for (int pin = 2; pin <= 7; pin++) {
pinMode(pin, OUTPUT);
}
// El pin del boton lo ponemos como entrada
pinMode(button, INPUT);
}
// Funcion para el primer semaforo y sus cambios de estado
void semaphoreOne() {
digitalWrite(2, HIGH);
int count = 0;
while (count < 30) {
// El ciclo esta en espera mientras el boton no es presionado
if (digitalRead(button) == true) {
break;
}
count++;
delay(200);
}
// Programamos el cambio entre semaforos. Cuando el LED tiene la posicion LOW estara apagado, mientras
que si esta en posicion HIGH estada encendido.
6. digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
delay(2500);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(7, LOW);
// Mandamos a llamar al otro semaforo
semaphoreTwo();
}
// Funcion para el segundo semaforo y sus cambios de estado
void semaphoreTwo() {
digitalWrite(5, HIGH);
int count = 0;
while (count < 30) {
if (digitalRead(button) == true) {
8. void loop() {
// Cambiamos el estado de todos los leds para
// que esten apagados todos al inicio
for (int pin = 2; pin <= 7; pin++) {
digitalWrite(pin, LOW);
}
// Prendemos el verde de un semaforo y el
// rojo del otro semaforo
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
// Iniciamos el primer semaforo
semaphoreOne();
}
9. Objetivo
Objetivo: Montar un cruce de semáforos con un tiempo de espera de 6 segundos
antes del cambio. La secuenciahará una esperade 4 segundos en verde, 2 segundos
parpadeando, luego Amarillo y luego Rojo (6 segundos de nuevo). El botón lo
programaremos para que reinicie el contador cambiando de semáforo (similar a
cuando pulsamos el botón para cruzar en uno de estos).
10. Conclusiones
Joel Rebollo Lázaro
La función primordial del cruce de semáforo, es en sí, mostrar de forma a escala las
funciones que siguen los semáforos, dando más incapie a semáforos de tipo
peatonales, que teniendo los botones peatonales permiten guardar el orden de las
personas, es una buena experiencia saber qué cosas tan sencillas permiten que las
cosas no creen un desorden de todo.
Sergio Eduardo Florencio Domínguez.
El proyecto tiene como fin poderayudarnos a entender la complejidadde un semáforo
real y así poder emplearlo en un proyecto relativamente sencillo y así también tener
conocimiento de todos los componentes que estructuran el mismo y poder tener una
simulación de un semáforo real en un proyecto de arduino.
Oscar Francisco Olvera Leyva
Este proyecto de arduino tiene como fin poder comprender más a fondo el
funcionamiento de un cruce de semáforos de la vida real, y poder representarlo a
escala, además de conocer los componentes que se utilizan para poderlo conformar.
Mi opinión sobre este proyecto es que es un buen ejemplo de un cruce de semáforos y
muy fácil y sencillo de realizar.
David Hernandez Cruz
Con este proyecto de arduino en lo personal fue muy satisfactorio para mí realizarlo,
ya que puse en prácticaconocimientos adquiridos a través de nuestro semestre y a su
vez adquirí nuevos conocimientos sobre algunos componentes de arduino que no
conocía por un simple cruce de semáforos.
Alma Brenda Cabrera
Al desempeñar mi participación en el proyecto de arduino me pude percatar de
cuantas cosas nuevas adquirí, sin mentir adquirí experiencias de trabajo en equipo y
de ser solidaria con mis compañeros, también lo que me pareció aún más importante,
la adquisiciónde nuevos conocimientosen el área de arduino ya que no me llamaba la
atención para nada, pero al final, termino impresionándome con la cantidad de cosas
que podemos hacer.