Skip to content

BelenSC/SPD-DojoD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Semaforo para invidentes

Tinkercad

Integrantes

  • Belen Soria
  • Thiago Rodríguez
  • Ivan Sacks
  • Franco Sofia

Proyectos

Nota: Aquí se encuentra las entregas correspondientes al proyecto en orden ascendente.

Proyecto: Dojo D, Semaforo para invidentes.

Entrega n° 1

Tinkercad

Descripción

El semaforo cumple la funcion de, si bien ser un semaforo usual, también es un semaforo para invidentes, ya que cuenta con un pienzo. Este al hacer sonido durante la luz roja, le indica al usuario cuando no pasar.

Función principal

Esta funcion se encarga de encender los leds y buzzer, y apagarlos.

LED_VERDE_A, LED_VERDE_B, TIEMPO_VERDE, LED_AMARILLO_A, LED_AMARILLO_B, TIEMPO_AMARILLO, LED_ROJO_A, LED_ROJO_B, BUZZER son #define que utilizamos para agregar los leds, y el buzzer asociandolo a pines de la placa arduino.

En la funcion loop, llama las funciones PrenderApagarLeds, enviando los parametros, y PrenderApagardLedRojoBuzzer la cual cuando enciende, también suena el buzzer.

void loop()
{
  PrenderApagarLeds(LED_VERDE_A,LED_VERDE_B, TIEMPO_VERDE);
  PrenderApagarLeds(LED_AMARILLO_A, LED_AMARILLO_B, TIEMPO_AMARILLO);
  PrenderApagardLedRojoBuzzer(LED_ROJO_A,LED_ROJO_B, BUZZER);
  PrenderApagarLeds(LED_AMARILLO_A, LED_AMARILLO_B, TIEMPO_AMARILLO);
}

📈 Link al proyecto 🚥

📈 Link al proyecto de los integrantes 🔟


Proyecto: Dojo D, Semaforo para invidentes.

Entrega n° 2

Tinkercad

Descripción

El semaforo cumple la funcion de, si bien ser un semaforo usual, también es un semaforo para invidentes, ya que cuenta con un pienzo. Este al hacer sonido durante la luz roja, le indica al usuario cuando no pasar, además, al hacer un sonido cada segundo durante la luz amarilla, indica cuando tener precaución.

Función principal

Esta funcion se encarga de encender los leds y buzzer, y apagarlos.

LED_AMARILLO_A, LED_AMARILLO_B, LED_ROJO_A, LED_ROJO_B, BUZZER son #define que utilizamos para agregar los leds, y el buzzer asociandolo a pines de la placa arduino.

En la funcion PrenderApagarLedBuzzer, primero se prende el led que se envió como parametro, luego en la condición notifica cual led está prendido. Además llama a la funcion PrenderApagardLedRojoBuzzer enviandole los parametros: buzzer -> variable de tipo entero que representa el pinMode del buzzer buzzer_tiempo_segundos -> Variable de tipo entero que representa la cantidad de segundos que debe sonar el buzzer 1 o 2 -> La cantidad de sonidos por segundo

Y por último, apaga los leds.

void PrenderApagarLedBuzzer(int led,int led_repuesto,int buzzer,int buzzer_tiempo_segundos)
{
  digitalWrite(led, HIGH);
  digitalWrite(led_repuesto, HIGH);
  if(led == LED_ROJO_A || led == LED_ROJO_B)
 {
    Serial.println("Prendido: Led rojo 5 segundos y buffer suena 2 veces por segundo.");
    PrenderApagarBuffer(buzzer,buzzer_tiempo_segundos,2);
 }
  else
 {
    if(led == LED_AMARILLO_A || led == LED_AMARILLO_B)
    {
      Serial.println("Prendido: Led amarillo por 3 segundos y buffer suena 1 vez por segundo.");
	  PrenderApagarBuffer(buzzer,buzzer_tiempo_segundos,1);
    }
 }
  digitalWrite(led, LOW);
  digitalWrite(led_repuesto, LOW);
}

📈 Link al proyecto 🐸

📈 Link al proyecto de los integrantes :shipit:


Proyecto: Dojo D, Semaforo para invidentes doble.

Entrega n° 3

Tinkercad

Descripción

Codificamos un semaforo doble para invidentes, este hace dos sonidos cuando la luz roja esta prendinda y uno suave cuando la luz amarilla esta prendida. Cuenta con un boton que al ser apretado, le da a la persona que lo requiera más tiempo para cruzar la calle.

Función principal

Esta funcion se encarga de verificar si el boton fue presionado, para guardar una varible que determine si el tiempo del led verde se duplicará.

boton_presionado y flag_presionado son variables globales que utilizamos para saber si se presionó el boton.

En la funcion RecibirTiempoLedVerde, primero leemos el estado del boton verde, y si este fue presionado se asigna 1 en el entero flag_presionado y se notifica por pantalla.

Y por último, apaga los leds.

void RecibirTiempoLedVerde()
{
  boton_presionado = digitalRead(BOTON_VERDE);
  if (boton_presionado == 1)
  {
   flag_presionado = 1;
   Serial.println("La proxima luz verde se duplicara.");
  } 
}

📈 Link al proyecto 🐸

📈 Link al proyecto de los integrantes :shipit:

Fuentes


About

Dojo D, trabajo grupal, SPD 1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published