Proyecto: LabLost

De Casiopea
Revisión del 18:50 15 jul 2022 de AntoniaLopez (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Proyecto Final: LabLost


TítuloProyecto Final: LabLost
Tipo de ProyectoProyecto de Curso
Palabras Claveobjetoeducativo
Período2022-2022
AsignaturaInteracción y Performatividad
Del CursoInteracción y Performatividad 2022
CarrerasDiseño, Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Interacción y Servicios"Interacción y Servicios" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
Alumno(s)Antonia López, Sebastián Perucci, José Urrejola
ProfesorRenzo Varela

Fundamento

La idea final de este juego fue la evolución de varias ideas anteriores que fueron transformandose, en busca de que los elementos de electrónica cumplieran una participación central y relacionada directamente con sus propiedades.


1. La primera idea era un basurero que al tirar cualquier cosa adentro tuviera un sensor que encendiera una luz. Esto era un ejercicio valido solo que no tenía una función directa o útil.

2. Juego de calculo o puntería: juego en el que hay que dejar caer algún elemento y según el espacio marcado donde cayera esto daba distintos puntos. Este tipo de juego ya existe y hubiera sido compuesto por sensores y luz, pero estos espacios también pueden estar delimitados por lineas dibujadas y los sensores no cumplirían un rol demasiado necesario.

3. Laberinto con hoyos. Un juego con laberintos con hoyos que tuvieran dos niveles: en el primero un laberinto, y bajo la superficie de esta un espacio con sensores que avisara cada vez que la pelota caía. Este laberinto es usado con las manos equilibrando y moviendo la superficie para lograr el objetivo, igual que los laberintos que vienen en las tapas de los típicos juegos de argollas para tirar burbujas. Esta forma es parecida a la forma final pero aquí el uso de los sensores con una luz que avisara la caída era algo que tambien se puede evaluar con a vista directa.

Discurso del juego

4. Prototipo final

Se incorpora el uso de un marcador de 7 segmentos, de 4 dígitos: ahora el laberinto tendrá un sensor en un extremo del laberinto, el cual marca la salida de la pelota y tambien la llegada después de haber dado una vuelta al laberinto o habiendo pasado por un objetivo x. Cuando la bolita está en el espacio inicial-final, que mide 5 cms, el sensor envía señal al marcador para que este pare de contar y vuelva a 0. Cuando no hay ni un objeto (la bolita) entre 0 y 5cms, el marcador comienza a contar: así el juego se trata de cual jugador logra dar la vuelta al laberinto en menor tiempo, y esto es medido con exactitud ya que la partida y el final están dados por el sensor que siempre se demora lo mismo en enviar la señal. Este funcionamiento es parecido al que se usa en las competencias de natación, pero solo para la llegada, y con un sensor de tacto y no de distancia, lo que no daría la posibilidad de marcar el inicio.

De esta manera los elementos electrónicos y el circuito como un total, tienen una relevancia central en el juego.

Código

Para usar el marcador (de 7 segmentos multiplexado) como un contador, se descargó la librería SevSeg de Arduino, la cual tiene una variable para un tiempo ajustable de espera entre un número y el siguiente en el contador. Se eligió 0,3 segundos, lo que hace que el tiempo medido sea más exacto, aun que no este en segundos. No se eligió un tiempo más rápido y exacto aun porque al usar los pines 1 y 2 del Arduino el marcador no respondía correctamente. Debido a esto se tuvieron que usar únicamente dos dígitos del marcador, completándose en menor tiempo el 99, último número. (con 3 sería 999, con 4 9999).

Los marcadores digitales de 7 segmentos usan muchos pines: siete por cada segmentos de cada numero (en este caso). La multiplexación une los segmentos correspondientes entre los distintos dígitos (generaliza los segmentos), usando en este caso 7 y no 28 (7 segmentos por cada uno de los cuatro dígitos). La separación de cada dígito se regula por una entrada especifica para cada uno de ellos: en total se usan 11 pines, 7 de segmentos y 4 de dígitos.



Código


const int Trigger = 9; //Pin digital 2 para el Trigger del sensor const int Echo = 3; //Pin digital 3 para el Echo del sensor


  1. include "SevSeg.h"

SevSeg sevseg; // Variables globales int Contador = 0; // inicio int espera =0; // contador espera int esperamax =30; // define la velocidad

void setup() {

 Serial.begin(9600);//iniciailzamos la comunicación
 pinMode(Trigger, OUTPUT); //pin como salida
 pinMode(Echo, INPUT);  //pin como entrada
 digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
 
 Serial.begin(9600); //iniciar puerto serie


 byte numDigits = 2;
 byte digitPins[] = {12, 13};
 byte segmentPins[] = {10, 2, 11, 5, 6, 8, 7, 4};
 bool resistorsOnSegments = true; 
 bool updateWithDelaysIn = true;
 byte hardwareConfig = COMMON_CATHODE; 
 sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
 sevseg.setBrightness(90);
 

}

void loop() {

 long t; //timepo que demora en llegar el eco
 long d; //distancia en centimetros
  
  
 digitalWrite(Trigger, HIGH);
 delayMicroseconds(10);          //Enviamos un pulso de 10us
 digitalWrite(Trigger, LOW);
 
 t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
 d = t/59;             //escalamos el tiempo a una distancia en cm
 
 Serial.print("Distancia: ");
 Serial.print(d);      //Enviamos serialmente el valor de la distancia
 Serial.print("cm");
 Serial.println();
 delay(1);          //Hacemos una pausa de 100ms

if(d==5)

 sevseg.refreshDisplay();
 sevseg.setNumber(Contador, -1);
 // sistema para aumentar el contador y crear un sistema de velocidad
 espera = espera +1;
 if (espera == esperamax){
   espera =0;
   Contador = Contador + 1;
 }

}

Componentes del circuito

  • Arduino UNO R3
  • Resistencias, cableado
  • Sensor Ultrasonido HCSR-04 (input)
  • Display 7 Segmentos 4 Dígitos (contador) (output)

Registro fotográfico

Video