Skip to content

Commit

Permalink
Merge pull request #141 from noriflores/main
Browse files Browse the repository at this point in the history
agregar apuntes noriflores
  • Loading branch information
montoyamoraga authored Sep 10, 2024
2 parents 95dabac + 80a279d commit 555cfbb
Show file tree
Hide file tree
Showing 12 changed files with 171 additions and 102 deletions.
166 changes: 156 additions & 10 deletions 06-noriflores/clase-04/README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,89 @@
# clase-04

## plano casita
## primer plano casita

![encargo04](./planocasita.jpg "encargo4pixarup")
![primercasa](https://github.com/user-attachments/assets/8f18c814-2ffc-454e-a249-f9210ba7e256)


### Apuntes
### Apuntes para mejorar

definir bien como invitar a las personas a utilizar el objeto, podriamos poner una flecha para invitar a las personas a mirar por sobre la casa
definir bien como invitar a las personas a utilizar el objeto, podríamos poner una flecha para invitar a las personas a mirar por sobre la casa

quizas incluir los globos
quizás incluir los globos

quizas cambiar los colores de la casa para que sea mas llamativa, dejar mas en claro que es la casa del up
quizás cambiar los colores de la casa para que sea más llamativa, dejar más en claro que es la casa de up


caso limite: caso extremo que puede atentar con el funcionamiento que uno espera
caso límite: caso extrémo que puede atentar con el funcionamiento que uno espera


### mejoras casita

incorporaremos el sensor en la base de la casa, junto con un led de color rojo para indicar al usuario a interacturar por ahi, además agregaremos globos en la parte superior para darle mas similitud a la casa original de up :)
incorporaremos el sensor en la base de la casa, junto con un led de color rojo para indicar al usuario a interacturar por ahí, además agregaremos globos en la parte superior para darle mas similitud a la casa original de up :)

update:
### update:

añadimos un led rojo por debajo junto con el sensor, y el led se mantiene prendido cuando no detecta proximidad, junto con esto la matriz muestra la animacion de un globo flotando en modo de espera. Cuando el sensor detecta proximidad se apaga el led y comienza la animacion de la casita subiendo y bajando.
añadimos un led rojo por debajo junto con el sensor, y el led se mantiene prendido cuando no detecta proximidad, junto con esto la matriz muestra la animación de un globo flotando en modo de espera. Cuando el sensor detecta proximidad se apaga el led y comienza la animación de la casita subiendo y bajando.

Tambien pintamos la casita para que se viera aun mas parecida a la origial
También pintamos la casita para que se viera aun más parecida a la origial


## que es y como es

es un juguete en forma de casa inspirado en la casa de UP, hecho con madera mdf y corte laser, y pintado para que tuviera aún mas similitud con la casa original. Funciona mediante un sensor ultrasónico, el cual si no detecta presencia mantiene prendido un led rojo y muestra la animación de un globo en modo de espera, y al detectar proximidad apaga el led y comienza la animación de la casa subiendo y bajando.

## primera casa

![casa1](./primercasa.jpeg "casa1")

en esta primera instancia teníamos en sensor en el techo de la casa, pero gracias a los feedback decidimos mover el sensor hacia abajo de la casa, pensando que esta estaría pegada en la pared, y junto con el led este invita al usuario a interactuar con la parte de abajo de la casa

## proceso

![proceso1](./proceso1.jpeg "proceso1")

![proceso2](./proceso2.jpeg "proceso2")

![proceso3](./proceso3.jpeg "proceso3")

![problema1](./problema1.jpeg "problema1")

(https://github.com/noriflores/dis8637-2024-2/blob/main/06-noriflores/clase-04/video.mp4)

## casa actual

![casaactual](./casacatual.jpg "casita")

![casafrontal](./casafrontal.jpg "casafrontal")

![fototerminada](./fototerminada.jpeg "fototerminada")




## diagrama de flujo

tarea: Hacer funcionar la pantalla en la puerta de la casa.


1. Asegurate de que la pantalla esté quieta mostrando la imagen de un globo y la luz led en la base de la casa esté encendida.
2. Para que la pantalla reaccione debes acercar tu mano a la base de la casa.
3. Una vez se apague la luz led en la base de la casa, la pantalla empezará a mostrar la animación de una casa que sube y baja.
4. Dependiendo de la distancia de tu mano con la base de la casa, la animación de la casa se muestra (si está a menos de 20cm) o la animación del globo junto con el led (si está a más de 20cm)


## codigo

deje subido el archivo que usamos con el codigo de arduino :D
adjunto links que nos ayudaron a entender que hacer

https://www.profetolocka.com.ar/2024/07/29/tutorial-usando-la-matriz-led-del-arduino-uno-r4-parte-2/#google_vignette
https://naylampmechatronics.com/blog/10_tutorial-de-arduino-y-sensor-ultrasonico-hc-sr04.html
https://docs.arduino.cc/tutorials/uno-r4-wifi/r4-wifi-getting-started/

ademas de que use proyectos anteriores que hice el año pasado en tecnologias interactivas para acordarme de como usar el sensor y el led, deje el archivo subido tambien 🥣
Me ayudó mucho que la Paula haya subido el link del código de su trabajo, además del link que compartió Aaron sobre como instalar las librerías y los comentarios de Belén y Karen.

## codigo

Expand All @@ -37,6 +95,94 @@ https://naylampmechatronics.com/blog/10_tutorial-de-arduino-y-sensor-ultrasonico
https://docs.arduino.cc/tutorials/uno-r4-wifi/r4-wifi-getting-started/

ademas de que use proyectos anteriores que hice el año pasado en tecnologias interactivas para acordarme de como usar el sensor y el led, deje el archivo subido tambien 🥣
Me ayudó mucho que la Paula haya subido el link del código de su trabajo, además del link que compartió Aaron sobre como instalar las librerías y los comentarios de Belén y Karen.

```c++

#include "Arduino_LED_Matrix.h"
#include "globito.h"
#include "animation.h"

ArduinoLEDMatrix Pantalla;

enum State {
STANDBY,
ACTIVO
};
// configuración del sensor
const int ledPin = 13;
const int pin_trig = 2;
const int pin_echo = 4;
int distance;

// Configuración de distancias para activar el LED
const int noHayNadie = 21; // Encender el LED 13 desde los 21 cm
const int noHayNadie2 = 100; // Seguir encendido el LED hasta los 100 cm
const int hayAlguien = 20; // Apagar el LED y comenzar la animación de la matriz desde los 20 cm
const int hayAlguien2 = 40; // Seguir encendida la pantalla hasta los 40 cm
// cuando no hay nadie esta prendido el led rojo y al detectar distancia se apaga

State currentState = STANDBY;

void setup() {
Pantalla.begin();
pinMode(pin_trig, OUTPUT);
pinMode(pin_echo, INPUT);
pinMode(ledPin, OUTPUT);

Serial.begin(115200);
}

void loop() {
readDistance(); // Leer la distancia del sensor

switch (currentState) {
case STANDBY:
Serial.println("En estado STANDBY");

if (distance >= noHayNadie && distance <= noHayNadie2) {
digitalWrite(ledPin, HIGH);
Pantalla.loadSequence(globito);
Pantalla.play(true);
currentState = STANDBY;
} else {
currentState = ACTIVO;
}
break;

case ACTIVO:
Serial.println("En estado ACTIVO");

if (distance >= hayAlguien && distance <= hayAlguien2) {
digitalWrite(ledPin, LOW);
Pantalla.loadSequence(animation);
Pantalla.play(true);
currentState = ACTIVO;
} else {
currentState = STANDBY;
}
break;
}
}

void readDistance() {
// Enviar un pulso al pin TRIG
digitalWrite(pin_trig, LOW);
delayMicroseconds(2);
digitalWrite(pin_trig, HIGH);
delayMicroseconds(10);
digitalWrite(pin_trig, LOW);

long duration = pulseIn(pin_echo, HIGH);
distance = duration * 0.034 / 2; // Convertir a cm
}

```








Expand Down
Binary file added 06-noriflores/clase-04/casacatual.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 06-noriflores/clase-04/casafrontal.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
// Incluir librerías para trabajar con la matriz LED
#include "Arduino_LED_Matrix.h"
#include "globito.h"
#include "animation.h"

ArduinoLEDMatrix Pantalla; // Instancia del objeto
ArduinoLEDMatrix Pantalla;

enum State {
STANDBY,
ACTIVO
};

// configuración del sensor
const int ledPin = 13;

// Pines para el sensor de proximidad
const int pin_trig = 2;
const int pin_echo = 4;
int distance;

// Configuración de distancias para activar el LED
const int noHayNadie = 60; // Encender el LED 13 desde los 21 cm
const int noHayNadie2 = 100; // Seguir encendido el LED hasta los 100 cm
const int hayAlguien = 0; // Apagar el LED y comenzar la animación de la matriz desde los 0 cm
const int hayAlguien2 = 20; // Seguir encendida la pantalla hasta los 20 cm
const int noHayNadie = 21; // Encender el LED 13 desde los 21 cm
const int noHayNadie2 = 100; // Seguir encendido el LED hasta los 100 cm
const int hayAlguien = 20; // Apagar el LED y comenzar la animación de la matriz desde los 20 cm
const int hayAlguien2 = 40; // Seguir encendida la pantalla hasta los 40 cm
// cuando no hay nadie esta prendido el led rojo y al detectar distancia se apaga

State currentState = STANDBY;
Expand All @@ -36,47 +33,45 @@ void setup() {
}

void loop() {
readDistance(); // Lee la distancia del sensor
readDistance(); // Leer la distancia del sensor

switch (currentState) {
case STANDBY:
//aqui se reproduce la animacion del globito en espera y el led se mantiene prendido
Serial.println("En estado STANDBY");

if (distance >= noHayNadie && distance <= noHayNadie2) {
digitalWrite(ledPin, HIGH);
Pantalla.loadSequence(globito);
Pantalla.loadSequence(globito);
Pantalla.play(true);
currentState = STANDBY;
} else {
currentState = ACTIVO;
currentState = ACTIVO;
}
break;
// en estado satndby poner que se mantiene prendido el led

case ACTIVO:
Serial.println("En estado ACTIVO");

if (distance >= hayAlguien && distance <= hayAlguien2) {
digitalWrite(ledPin, LOW);
Pantalla.loadSequence(animation);
Pantalla.loadSequence(animation);
Pantalla.play(true);
currentState = ACTIVO;
} else {
currentState = STANDBY;
currentState = STANDBY;
}
break;
}
}

void readDistance() {
// Enviar un pulso al pin TRIG
digitalWrite(pin_trig, LOW);
delayMicroseconds(2);
digitalWrite(pin_trig, HIGH);
delayMicroseconds(10);
digitalWrite(pin_trig, LOW);

long duration = pulseIn(pin_echo, HIGH);
distance = duration * 0.0344 / 2; // Convertir a centímetros
distance = duration * 0.034 / 2; // Convertir a cm
}

Binary file added 06-noriflores/clase-04/fototerminada.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 06-noriflores/clase-04/primercasa.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 06-noriflores/clase-04/problema1.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 06-noriflores/clase-04/proceso1.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 06-noriflores/clase-04/proceso2.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 06-noriflores/clase-04/proceso3.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 0 additions & 72 deletions 06-noriflores/clase-04/solemne1ti.ino

This file was deleted.

Binary file added 06-noriflores/clase-04/video.mp4
Binary file not shown.

0 comments on commit 555cfbb

Please sign in to comment.