Prototipos 1: Proyecto Final

                     

Las siguientes son las etapas dentro de la estrategia de resolución de problemas Design Thinking podrá ver los trabajos desarrollados y anotadas en las plantillas respectivas.











A continuación se muestra el vídeo que explica el prototipo realizado en el proyecto final, su funcionamiento y circuito construido. Además se comparte el código realizado para su funcionamiento.


 


Código usado en el IDE de Arduino


#include <Wire.h>//necesaria para trabajar la LCD
#include <Adafruit_CircuitPlayground.h>
#include <LiquidCrystal_I2C.h> //libreria de I2C que tiene mi LCD


int PinDelBoton = 9; //creo y asugno valores a las variables
int estadoActual = 0;
int estadoAnterior = 0;
int salida =0;

LiquidCrystal_I2C  lcd(0x27, 16, 2); //

void setup() {
  CircuitPlayground.begin();// inicializa la tarjeta
  Serial.begin(9600);//abre puerto serial y permite la entrada y salida de datos a una velocidad determinada
  pinMode (PinDelBoton, INPUT); //establezco el pin 10 como entrada de datos en la tarjeta
  lcd.init();
  lcd.backlight();
}

void loop() {
encenderprototipo();
lcd.clear();// limpia la pantalla LCD
}



////Procedimiento para sensor de sonido////

void nivel_sonido()
{
  int valor_sonido = CircuitPlayground.soundSensor();
  Serial.println(valor_sonido);
  
  if (valor_sonido < 100)
  {

  lcd.setCursor(2, 0);
  lcd.print("Precaucion");
  lcd.setCursor(2, 1);
  lcd.print("Baje la voz");
  delay(500);

  for (int i = 0; i<=9; i++)
     {
      CircuitPlayground.setPixelColor (i,255,0,0);
      delay(50);
     }
     delay(700);
  }
  else
  {
//  lcd.init();
//  lcd.backlight();
  lcd.setCursor(2, 0);
  lcd.print("ruido");
  lcd.setCursor(2, 1);
  lcd.print("Aceptable");
  delay(500);
  
   for (int i = 0; i<=9; i++)
    {
      CircuitPlayground.setPixelColor (i,0,255,0);
    }
  }
}


void encenderprototipo(){

estadoActual = digitalRead(PinDelBoton);
Serial.print(estadoActual);


if ((estadoActual == HIGH) && (estadoAnterior == LOW)){  
     salida = 1- salida; 
    //delay (20);
 }
  estadoAnterior = estadoActual; // guarda el estado anterior del botón
  
 if (salida == 1) // Verifica si el boton fue presionado y esta en HIGH
 { 
       //HACE QUE ENCIENDA
       //LLAMA AL PROCEDIMIENTO nivel_sonido()
      nivel_sonido(); 
     
 }
  else
  { // si se presiona el boton por segunda vez y esta en LOW.
      //SE APAGA 
      CircuitPlayground.clearPixels();
  }

}

No hay comentarios:

Publicar un comentario

Página Principal

Álbum de Aprendizaje Computación física:  Prototipos Interactivos (1 y 2) Estimado lector... Este Blog llevará un registro de apren...