dis8637-2024-2

clase-05

Solemne 01

“SHH” Es una criatura que no quiere ser molestada, es una criatura sensible al sonido por lo que puede reaccionar tanto enojado como triste si lo detecta

Shh explora la interacción con el entorno, permitiendo que una criatura aparentemente dormida despierte cuando detecta ruidos fuertes. La idea es que este objeto, que normalmente está inactivo, cobre vida en respuesta a estímulos sonoros. El objetivo es que la matriz LED reaccione al ruido por un parametro establecido, permitiendo que la criatura exprese su estado a través de su ojo. La idea es que, al captar un cierto umbral de ruido, el ojo de la criatura se ilumine de manera que refleje su estado de ánimo. Dependiendo de la intensidad del sonido, la criatura podrá manifestar emociones como enojo o tristeza, utilizando el cambio en la iluminación y patrones visuales de la matriz LED para comunicar estas sensaciones.

Imágenes del proceso

Boceto

texto

Construcción

texto

Avance

texto texto texto

Resultados y cambios post correcciones curso

Construcción placa

texto texto texto

Manual de uso textual ¿Cómo interactuo con “shh”?

Shh es una criatura que no quiere ser molestada y es sensible al ruido

Encuentra un espacio adecuado

El primer paso es ubicar un espacio tranquilo, como una sala o una habitación, asegurándote de que haya el menor ruido ambiental posible. La criatura “Shh” es sensible al sonido, por lo que un entorno silencioso te permitirá interactuar mejor con ella.

Colgar a “Shh” en la pared

Para utilizar el objeto, primero debes colgar a “Shh” en la pared, en la parte posterior del objeto, encontrarás un orificio que está diseñado para este propósito. El objeto utilizado para colgarlo debe tener un radio no mayor a 1 centímetro. Asegúrate de que esté bien sujeto para evitar caídas.

Conectar a la fuente de energía

Una vez que hayas colgado a “Shh”, revisa que esté correctamente conectado a una fuente de energía. Para comprobar que el dispositivo está encendido, observa si comienza a mostrar señales en su matriz LED. Si ves actividad en la matriz, sabrás que está listo para interactuar contigo.

Despertar a la criatura

Para despertar a “Shh”, simplemente emite algún sonido en el espacio o háblale directamente. La criatura es muy sensible al sonido, por lo que cualquier ruido captado podria activar una respuesta.

Cambios en el estado de ánimo

El estado de ánimo de “Shh” dependerá del nivel de ruido en su entorno. Si le hablas suavemente o emites sonidos tranquilos, su estado será neutral o triste. Sin embargo, si el ruido es muy fuerte, como cuando hay muchas personas hablando o si gritas, la criatura mostrará un estado de ánimo enojado. Su matriz LED reflejará estos cambios de humor, lo que hace que la interacción sea dinámica.

Poner a “Shh” en reposo

Si deseas que “Shh” vuelva a dormir, asegúrate de que no haya ruido en su entorno. Una vez que el sonido desaparezca, la criatura entrará en su estado calmado mostrando su ojo cerrado en la matriz LED.

Casos límites

Que la criatura no despierte Que la criatura no cambie de estado

Prohibiciones

  1. Asegurate que “shh” no sufra caídas, ni golpes.
  2. Asegúrate de que “Shh” no tenga contacto con agua ni ningún otro líquido. Este dispositivo no es resistente al agua, y cualquier exposición a líquidos puede dañarlo de manera irreversible. Siguiendo estas instrucciones y precauciones, podrás disfrutar de una experiencia óptima con la criatura “Shh”, interactuando con ella de manera segura y divertida.
#include "Arduino_LED_Matrix.h"   //Include the LED_Matrix library
#include "frames.h" //este archivo contiene los 3 frames 

ArduinoLEDMatrix matrix; 

const int pinSensor = 8; // aqui esta conectado el sensor de sonido
const int intervaloTiempo = 800; // con esto establecemos un intervalo de 1 segundo para medir el nivel de ruidom, cada un segundo toma una muestra
unsigned long millisCurrent; //estas variables las deje igual que en el video https://www.youtube.com/watch?v=PYkzJQhFNlA
unsigned long millisLast = 0; // unsigned long: numeros positivos y grandes, esto porque el valor que devuelve millis() puede volverse muy grande
unsigned long millisElapsed = 0;

int sampleBufferValue = 0;

const int umbralMedio = 5;
const int umbralAlto = 5000;

int frecuenciaActual = 1;


void setup() {

  Serial.begin(9600);
     matrix.begin();


}

void loop() {

  millisCurrent = millis();
  millisElapsed = millisCurrent - millisLast;

  if (digitalRead(pinSensor) == LOW) {
    sampleBufferValue++;
  }

  if (millisElapsed > intervaloTiempo) { //que solo se realice si ha pasado el tiempo suficiente (1 seg)

    if(sampleBufferValue < umbralMedio) { //si el valor de sampleBufferValue es menor que umbralMedio, esto significa que no hubo mucho ruido, por lo tanto estado: calmado
      matrix.loadFrame(calmado);
      Serial.print(sampleBufferValue);
      Serial.println(" CERRADO"); //antes de probar la matriz led, probé con esto en el monitor para saber si los parametros estaban funcionando
 
    }
    else if(sampleBufferValue >= umbralMedio && sampleBufferValue <= umbralAlto) { //si el valor de sampleBufferValue es mayor o igual que umbralMedio pero menor o igual que umbralAlto, estado: triste
      matrix.loadFrame(triste);
      Serial.print(sampleBufferValue);
      Serial.println(" TRISTE");
     

    } else if(sampleBufferValue > umbralAlto) { //si el valor de sampleBufferValue es mayor que umbralAlto, esto significa que hubo mucho ruido, por lo tanto estado: enojado
      matrix.loadFrame(enojado);
      Serial.print(sampleBufferValue);
      Serial.println(" ENOJADO");
  
    }

    sampleBufferValue = 0;
    millisLast = millisCurrent;
  }


}
//Codigo para matriz led ojo calmado
const uint32_t calmado[] = {

  0x1f816,
  0x81681083,
  0xfc70ee07,
  66
}; 

//Codigo para matriz led ojo triste
const uint32_t triste [] = {
 
  0x0,
  0x7fe8010,
  0x0,
  66
 
};

//Codigo para matriz led ojo enojado 
const uint32_t enojado [] = {
 
  0x2001f816,
  0x81689097,
  0xfe000000,
  66
 
};