Skip to content

Commit

Permalink
Merge pull request #118 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 4ad3ef6 + 7fe3e45 commit 24cdca2
Show file tree
Hide file tree
Showing 3 changed files with 170 additions and 0 deletions.
16 changes: 16 additions & 0 deletions 06-noriflores/clase-04/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,22 @@ caso limite: caso extremo que puede atentar con el funcionamiento que uno espera

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 :)

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.

Tambien pintamos la casita para que se viera aun mas parecida a la origial

## 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 🥣



Expand Down
82 changes: 82 additions & 0 deletions 06-noriflores/clase-04/codigoquefunciono.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// 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

enum State {
STANDBY,
ACTIVO
};

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
// 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(); // Lee 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.play(true);
currentState = STANDBY;
} else {
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.play(true);
currentState = ACTIVO;
} else {
currentState = STANDBY;
}
break;
}
}

void readDistance() {
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
}

72 changes: 72 additions & 0 deletions 06-noriflores/clase-04/solemne1ti.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
//Trabajo de Sofia Abdallah, Nora Flores y Enzo León

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

// Pines para los LEDs
const int ledPin1 = 13;
const int ledPin2 = 12;

// Pin para el buzzer
const int buzzer = 8;

// Definir la variable para almacenar la distancia medida
long duration;
int distance;

// Configuración de distancias para activar los LEDs
const int minDistance1 = 0; // Encender el pin 13 a 0 cm
const int maxDistance1 = 150; // Apagar el pin 13 a 30 cm
const int minDistance2 = 151; // Encender el pin 12 a 30 cm
const int maxDistance2 = 300; // Apagar el pin 12 a 50 cm

void setup() {
// Modos de los pines
pinMode(pin_trig, OUTPUT);
pinMode(pin_echo, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(buzzer, OUTPUT);

// Se abre la consola para conocer los valores que entrega el componente
Serial.begin(9600);
}

void loop() {
// Generar un pulso en el pin trig para medir la distancia
digitalWrite(pin_trig, LOW);
delayMicroseconds(2);
digitalWrite(pin_trig, HIGH); // Activar el pulso de salida
delayMicroseconds(10);
digitalWrite(pin_trig, LOW);

// Leer la duración del pulso en el pin echo
duration = pulseIn(pin_echo, HIGH);

// Calcular la distancia en centímetros
distance = duration * 0.0344 / 2;

// Imprimir la distancia en el monitor serie
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");

// Activar y desactivar los LEDs y el buzzer según la distancia
if (distance >= minDistance1 && distance <= maxDistance1) {
digitalWrite(ledPin1, LOW); // Apagar el pin 13
digitalWrite(ledPin2, HIGH); // Encender el pin 12
tone(buzzer, 2000); // Suena el buzzer (tono 1)

} else if (distance >= minDistance2 && distance <= maxDistance2) {
digitalWrite(ledPin1, HIGH); // Encender el pin 13
digitalWrite(ledPin2, LOW); // Apagar el pin 12
tone(buzzer, 1000); // Suena el buzzer (tono 2)

} else {
digitalWrite(ledPin1, LOW); // Apagar el pin 13
digitalWrite(ledPin2, LOW); // Apagar el pin 12
noTone(buzzer); // Apagar el buzzer

}
}

0 comments on commit 24cdca2

Please sign in to comment.