SlideShare una empresa de Scribd logo
1 de 4
/*****************************************************
Desafio#1 - Platzi
Semáforo para dos Avenidas (Principal y Secundaria)
ambas tienen una luz azul para indicar el giro a la
izquierda y un pulsador peatonal para cambiar el
estado de la luz verde y darle paso a los peatones.
Configuración:
Entradas: botones peatonales {13(P),2(S)}
Salidas:
luces verde, amarilla, roja y azul
{11,10,9,8}Princial ;
{7,6,5,4}Secundaria
Autor: Pablo Cardozo
*****************************************************/
// Avenida Principal
const int vp = 11;
const int ap = 10;
const int rp = 9;
const int zp = 8;
const int butP = 13; //Pulsador Peatonal
const int semP[4] = {vp, ap, rp, zp}; // arreglo para semáforo Principal
// Avenida Secundaria
const int vs = 7;
const int as = 6;
const int rs = 5;
const int zs = 4;
const int butS = 2; //Pulsador Peatonal
const int semS[4] = {vs, as, rs, zs}; // arreglo para semáforo Secundario
// Tiempos para cada luz en milisegundos (tr = tz)
int ta = 2000;
int tv = 6000;
int tz = 3000;
// Variables Globales
unsigned long tiempoActual;
int tiempo;
int estadoSem; // el semáforo tiene 6 estados
bool flagButton = false;
void setup()
{
// Configuración de Salidas para los semáforos
for(int i=0; i<4; i++){
pinMode(semP[i], OUTPUT);
pinMode(semS[i], OUTPUT);
}
// Configuración de Entradas para los pulsadores
pinMode(butP, INPUT_PULLUP);
pinMode(butS, INPUT_PULLUP);
iniciar();
}
void loop()
{
if((millis() - tiempoActual) > tiempo) {
cambio();
tiempoActual = millis();
}
if((digitalRead(butP) == LOW) || (digitalRead(butS) == LOW))
{
delay(200);
//esperamos hasta que los botones no esten pulsados
while((digitalRead(butP) == LOW) && (digitalRead(butS) ==
LOW));
flagButton = true;
estadoSem--; // el estado actual apunta al siguiente
if(estadoSem <= 0) estadoSem = 6;
if((estadoSem == 1) || (estadoSem == 4)) estadoSem++,
cambio();
else flagButton = false;
tiempoActual = millis();
}
}
void iniciar() {
estadoSem = 1;
cambio();
}
void cambio() {
for(int i=0; i<4; i++) {
digitalWrite(semP[i], LOW);
digitalWrite(semS[i], LOW);
}
switch (estadoSem) {
case 1:
digitalWrite(vp, HIGH);
digitalWrite(rs, HIGH);
tiempo = tv;
break;
case 2:
digitalWrite(ap, HIGH);
digitalWrite(rs, HIGH);
tiempo = ta;
break;
case 3:
digitalWrite(rp, HIGH);
digitalWrite(zp, HIGH);
digitalWrite(rs, HIGH);
tiempo = tz;
break;
case 4:
digitalWrite(rp, HIGH);
digitalWrite(vs, HIGH);
tiempo = tv;
break;
case 5:
digitalWrite(rp, HIGH);
digitalWrite(as, HIGH);
tiempo = ta;
break;
case 6:
digitalWrite(rp, HIGH);
digitalWrite(rs, HIGH);
digitalWrite(zs, HIGH);
tiempo = tz;
break;
default:
break;
}
if(flagButton) estadoSem += 2, flagButton = false;
else estadoSem++;
if(estadoSem > 6) estadoSem = 1;
}
Semáforo de dos avenidas con luces azules y pulsadores peatonales

Más contenido relacionado

Similar a Semáforo de dos avenidas con luces azules y pulsadores peatonales

ARDUINO - LADDER PROYECTO CX3 RESET TEMP EH EN 2 CILINDROS BI MONO...
ARDUINO  - LADDER   PROYECTO  CX3 RESET  TEMP  EH  EN   2  CILINDROS  BI MONO...ARDUINO  - LADDER   PROYECTO  CX3 RESET  TEMP  EH  EN   2  CILINDROS  BI MONO...
ARDUINO - LADDER PROYECTO CX3 RESET TEMP EH EN 2 CILINDROS BI MONO...Jovanny Duque
 
E&P SAREA - RED E&C | ARDUINO 2
E&P SAREA - RED E&C | ARDUINO 2E&P SAREA - RED E&C | ARDUINO 2
E&P SAREA - RED E&C | ARDUINO 2Ikaskidetza Sarea
 
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdf
ARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdfARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdf
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdfJovanny Duque
 
E&P SAREA - RED E&C | ARDUINO 3
E&P SAREA - RED E&C | ARDUINO 3E&P SAREA - RED E&C | ARDUINO 3
E&P SAREA - RED E&C | ARDUINO 3Ikaskidetza Sarea
 
Arduino uno 2 estudiantes
Arduino uno 2 estudiantesArduino uno 2 estudiantes
Arduino uno 2 estudiantesCiraBringas2
 

Similar a Semáforo de dos avenidas con luces azules y pulsadores peatonales (6)

ARDUINO - LADDER PROYECTO CX3 RESET TEMP EH EN 2 CILINDROS BI MONO...
ARDUINO  - LADDER   PROYECTO  CX3 RESET  TEMP  EH  EN   2  CILINDROS  BI MONO...ARDUINO  - LADDER   PROYECTO  CX3 RESET  TEMP  EH  EN   2  CILINDROS  BI MONO...
ARDUINO - LADDER PROYECTO CX3 RESET TEMP EH EN 2 CILINDROS BI MONO...
 
Equipo7 Arduino
Equipo7 ArduinoEquipo7 Arduino
Equipo7 Arduino
 
E&P SAREA - RED E&C | ARDUINO 2
E&P SAREA - RED E&C | ARDUINO 2E&P SAREA - RED E&C | ARDUINO 2
E&P SAREA - RED E&C | ARDUINO 2
 
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdf
ARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdfARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdf
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdf
 
E&P SAREA - RED E&C | ARDUINO 3
E&P SAREA - RED E&C | ARDUINO 3E&P SAREA - RED E&C | ARDUINO 3
E&P SAREA - RED E&C | ARDUINO 3
 
Arduino uno 2 estudiantes
Arduino uno 2 estudiantesArduino uno 2 estudiantes
Arduino uno 2 estudiantes
 

Último

Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 

Último (20)

Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 

Semáforo de dos avenidas con luces azules y pulsadores peatonales

  • 1. /***************************************************** Desafio#1 - Platzi Semáforo para dos Avenidas (Principal y Secundaria) ambas tienen una luz azul para indicar el giro a la izquierda y un pulsador peatonal para cambiar el estado de la luz verde y darle paso a los peatones. Configuración: Entradas: botones peatonales {13(P),2(S)} Salidas: luces verde, amarilla, roja y azul {11,10,9,8}Princial ; {7,6,5,4}Secundaria Autor: Pablo Cardozo *****************************************************/ // Avenida Principal const int vp = 11; const int ap = 10; const int rp = 9; const int zp = 8;
  • 2. const int butP = 13; //Pulsador Peatonal const int semP[4] = {vp, ap, rp, zp}; // arreglo para semáforo Principal // Avenida Secundaria const int vs = 7; const int as = 6; const int rs = 5; const int zs = 4; const int butS = 2; //Pulsador Peatonal const int semS[4] = {vs, as, rs, zs}; // arreglo para semáforo Secundario // Tiempos para cada luz en milisegundos (tr = tz) int ta = 2000; int tv = 6000; int tz = 3000; // Variables Globales unsigned long tiempoActual; int tiempo; int estadoSem; // el semáforo tiene 6 estados bool flagButton = false; void setup() { // Configuración de Salidas para los semáforos for(int i=0; i<4; i++){ pinMode(semP[i], OUTPUT); pinMode(semS[i], OUTPUT); } // Configuración de Entradas para los pulsadores pinMode(butP, INPUT_PULLUP); pinMode(butS, INPUT_PULLUP); iniciar(); } void loop() { if((millis() - tiempoActual) > tiempo) { cambio(); tiempoActual = millis(); } if((digitalRead(butP) == LOW) || (digitalRead(butS) == LOW)) { delay(200); //esperamos hasta que los botones no esten pulsados while((digitalRead(butP) == LOW) && (digitalRead(butS) == LOW)); flagButton = true; estadoSem--; // el estado actual apunta al siguiente if(estadoSem <= 0) estadoSem = 6; if((estadoSem == 1) || (estadoSem == 4)) estadoSem++, cambio(); else flagButton = false; tiempoActual = millis(); } } void iniciar() { estadoSem = 1;
  • 3. cambio(); } void cambio() { for(int i=0; i<4; i++) { digitalWrite(semP[i], LOW); digitalWrite(semS[i], LOW); } switch (estadoSem) { case 1: digitalWrite(vp, HIGH); digitalWrite(rs, HIGH); tiempo = tv; break; case 2: digitalWrite(ap, HIGH); digitalWrite(rs, HIGH); tiempo = ta; break; case 3: digitalWrite(rp, HIGH); digitalWrite(zp, HIGH); digitalWrite(rs, HIGH); tiempo = tz; break; case 4: digitalWrite(rp, HIGH); digitalWrite(vs, HIGH); tiempo = tv; break; case 5: digitalWrite(rp, HIGH); digitalWrite(as, HIGH); tiempo = ta; break; case 6: digitalWrite(rp, HIGH); digitalWrite(rs, HIGH); digitalWrite(zs, HIGH); tiempo = tz; break; default: break; } if(flagButton) estadoSem += 2, flagButton = false; else estadoSem++; if(estadoSem > 6) estadoSem = 1; }