Proyecto Final


Plantillas de Proyecto Final

Etapa 1: Inspiración

Contempla los momentos: Empatía, Definición e Idear. 
Descripción de los aspectos:

Empatía
Recuerde que la empatía se trata de:
La capacidad que tienen los seres humanos de identificarse con ciertas personas y entender sus sentimientos. Este momento es esencial para conocer y comprender de manera profunda las necesidades de la persona que se beneficiará de la solución. Se trata de analizar situaciones, comprender la vida de los usuarios del prototipo, así como los diferentes problemas y necesidades que poseen.
Sugerencia: Realice una pequeña investigación sobre los temas asociados al problema, para darse una mejor idea de las implicaciones que tiene.
Con base a lo anterior completa lo siguiente:
¿Cómo afecta el problema la vida de la persona que lo sufre? Describa una situación ejemplo.
¿Qué otras situaciones podrían ser causadas por el problema?

¿Qué opinan otras personas sobre ese problema?

Esta situación afecta a muchas personas que cuando van manejando y desean ir hacia atrás muchas veces pueden causar accidentes o que su auto sufra un percance.
Heridas en personas que estén cerca.
Daños en el vehículo
Que se debería tener cuidado cuando se va en reversa ya que uno no tiene claro quién puede acercarse.
Que debería existir un mecanismo para prevenir al chofer.





Definición
Este momento consiste en:
Recuperar la información relevante del problema. Establecer los datos que serían relevantes para proponer varias soluciones.
Considerando lo anterior responda:
¿Cuáles son las causas del problema?
¿Cuáles son las consecuencias del problema?
¿Por qué es un problema importante a resolver?
Falta de visibilidad
No conocer las distancias entre los objetos.
Accidentes de personas, muerte.
Daños materiales del vehículo y terceros
Porque gracias a un mecanismo de control podemos evitar que sucedan muchos accidentes.

Idear
Para este momento se debe considerar lo siguiente:
Este momento es para la generación de ideas con base a datos establecidos en la Definición. El objetivo es tener muchas alternativas de solución y no ir en busca de la mejor solución desde ahora, sino conforme vayamos analizando más el problema. Ninguna idea se descarta, todas son valiosas y deben ser valoradas.
Responda lo siguiente:
¿Cuáles podrían ser soluciones al problema que se desea solucionar? Exponga las que desee, un mínimo de 2.
Colocar un sensor que me mida la distancia y emita un sonido
Colocar un sensor que detenga el sonido cuando está cerca.
colocar un dispositivo que me indique en una pantalla a cuanta distancia esta de otro objeto.

Fuentes consultadas sobre el problema a resolver. Escriba al menos dos fuentes en formato APA.
Sensores automotrices, My Arrow, tomado el 13 de febrero del 2016, recuperado de https://www.arrow.com/es-mx/research-and-events/articles/automotive-sensors-now-and-in-the-future,
Sensores y actuadores en motores, UNLP, tomado el 13 de febrero del 2016, recuperado de https://www.ing.unlp.edu.ar/catedras/M0639/descargar.php?secc=0&id=M0639&id_inc=2903


Plantilla de proyecto final: Implementación




  



Contempla los momentos: Prototipar y Evaluar. 
1.     Prototipar: esto se desarrolla antes de iniciar la construcción y programación del prototipo. Se trata de un boceto sencillo que explica el tipo de solución que se deseas realizar.
2.     Evaluar: Explica los problemas y soluciones que lograste desarrollar mientras estabas creando el prototipo.

1.   Prototipar


Boceto
 




 Descripción de la solución del boceto: ¿Cuál es la solución? ¿Cómo se espera que funcione? ¿Qué tarea realiza cada uno de sus actuadores y sensores?


Mi reto consiste en un sistema de alarma que detecte un objeto cuando se va en reversa
Espero que funcione de la siguiente manera: Cuando calcule una distancia de menos de 10 cm envié un sonido muy constante, si detecta una alarma de 10 a 20 cm envié un sonido menos constante y si es una distancia de 20 a 40 cm envié un sonido mucho menos constante.
Los sensores actuarían de la siguiente manera:
El sensor botón haría que apague el sistema de alarma
El sensor ultrasónico me detectaría la distancia entre los objetos
El actuador parlante emitiría un sonido dependiendo la distancia entre los objetos

El actuador LCD me envía por pantalla la distancia que ha detectado 



Evaluar
Este momento del Design Thinking es en el que se realizan pruebas con los prototipos realizados. Para esta estrategia de resolución de problemas, se trata de llevar el prototipo al cliente con la finalidad de obtener insumos que permitan evaluar si llena o sus expectativas, o para que arroje información que podría ser valiosa para desarrollar versiones que incluyan futuras mejoras. Es un momento esencial porque ayuda a identificar errores y posibles carencias.
Es posible que implique regresar a la implementación y mejorar el prototipo pensando, o inclusive replantear la solución en el momento de Idear.
Para efectos de este curso, solo estaremos registrando 3 problemas que se hayan podido resolver DURANTE el desarrolla del prototipo. Evidentemente, no podremos hacer pruebas con clientes, pero igualmente dejaremos un registro de las situaciones problema que se tuvieron y sus soluciones, con la finalidad de beneficiar a los compañeros que puedan realimentar el proyecto.
1. Tomando en cuenta lo que implica evaluar, complete la siguiente tabla:
Descripción del problema en el prototipo
Solución desarrollada
     1. Pensaba colocar una fotocelda que me indicara la cantidad de luz que detectaba para la cercanía del objeto

Al indicarme siempre mucha luz decidí mejor colocar mejor el sensor ultrasónico que me pareció más preciso para este caso.
      2. Pensaba colocar dos filas con texto en la pantalla LCD

Pero se me desordenaba mucho las letras así que decidí colocar solo el texto de ALARMA luego investigue que había que definir las constantes de las columnas y filas, configurarlas, situar el cursor, y colocar el texto.
3..     Quería poner una melodía cuando terminara de calcular las distancias
Al no poder lograrlo lo solucione poniendo la melodía al activarse la alarma.


 2. Escriba algunas conclusiones obtenidas de aprendizaje logradas a través del desarrollo del prototipo interactivo.

a. Al desarrollar el prototipo debemos investigar muchísimo ya que muchas veces al colocar los cables en diferente forma puede que el circuito no funcione tal como me sucedió con el led que olvide que la terminal más larga va a la resistencia y la había colocado en el bus negativo.
b. Los sensores son elementos impresionantes en el mundo de la robotica ya que permiten a los robots (objetos) detectar objetos a distancias, por sonidos, olores, temperatura. Permitiendo a los objetos percibir todo tipo de información de lo que los rodea

3. Escriba algunas fuentes de apoyo utilizadas para desarrollar el proyecto final.
Arduino, Tutoriales, Recuperado de https://www.arduino.cc/ fecha 02 de marzo del 2018.

Grupo Sabika, Ejercicios de Arduino Resueltos, recuperado de https://aptandalucia.files.wordpress.com/2014/05/ejercicios_de_arduino_resueltos.pdf Fecha 03 de marzo del 2018.

NOTA: Recuerde publicar esta plantilla en el Álbum de Aprendizaje, siguiendo los lineamientos del documento Descripción de Álbum de Aprendizaje ubicado en la sección de Documentos de Apoyo. Luego enviar el URL del Proyecto Final del Álbum de Aprendizaje y en el espacio de la Unidad 3 habilitado para ello.


ETAPA 3 SOCIALIZAR

Nombre del proyecto: SISTEMA DE ALARMA DEL CARRO EN REVERSA

El problema a solucionar fue crear un sistema de alarma para cuando en carro va en reversa ya  que muchas veces es peligroso cuando vamos hacia atrás ya que no tenemos visibilidad y podemos ocasionar un accidente, entonces el programa es capaz de detectar un objeto y hacer sonar una alarma y una luz en caso de proximidad.
El prototipo resuelve el problema con el uso de sensores como el ultrasonido para calcular distancias y el botón para desactivar el sistema y con el actuador de piezo para el sonido, led para las luces que encienden cuando se encuentra un objeto cerca y pantalla LCD donde se visualiza la información.




Código del Programa a resolver SISTEMA DE ALARMA DEL CARRO EN REVERSA

#include <pitches.h>  //libreria para la melodia

#include <LiquidCrystal.h>  //libreria para LCD


LiquidCrystal lcd(10,9,4,5,6,7);  //lectura de los pines de la LCD
int v=1;
int luzled=11;  //pin la luz led
int pinboton=3;  //pin del boton
int boton;   //estado del boton

int trig=13;  //onda a traves del disparador
int echo=12;  // ondas que rebotan el el objeto
float disCalculada;  // valor de distancia dada
int piezo=2;

int melodia[] = {                   //arreglo de notas musicales
  NOTE_E7, NOTE_E7, 0, NOTE_E7,  0, NOTE_C7, NOTE_E7, 0,  NOTE_G7, 0, 0,  0,  NOTE_G6, 0, 0, 0,

  NOTE_C7, 0, 0, NOTE_G6,  0, 0, NOTE_E6, 0,  0, NOTE_A6, 0, NOTE_B6,  0, NOTE_AS6, NOTE_A6, 0,

  NOTE_G6, NOTE_E7, NOTE_G7,  NOTE_A7, 0, NOTE_F7, NOTE_G7,  0, NOTE_E7, 0, NOTE_C7,  NOTE_D7, NOTE_B6, 0, 0,

  NOTE_C7, 0, 0, NOTE_G6,  0, 0, NOTE_E6, 0,  0, NOTE_A6, 0, NOTE_B6,  0, NOTE_AS6, NOTE_A6, 0,

  NOTE_G6, NOTE_E7, NOTE_G7,  NOTE_A7, 0, NOTE_F7, NOTE_G7,  0, NOTE_E7, 0, NOTE_C7,  NOTE_D7, NOTE_B6, 0, 0
};

int duracion[] = {              //arreglo de tiempos entre cada nota musical
  11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,

  11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,

  8, 8, 8,    11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,

  11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,

  8, 8, 8,    11, 11, 11, 11,    11, 11, 11, 11,    11, 11, 11, 11,
};


void setup() {
  pinMode(trig, OUTPUT);
  pinMode (pinboton, INPUT);
  lcd.setCursor(4,1);  //define q se ubique en la posicion 4 de la fila uno en la pantalla
  lcd.print("ALARMA ");
  music();
  lcd.noBlink();  // indicamos que no parpadee
  delay(1000);
    pinMode(echo,INPUT);
  pinMode(piezo, OUTPUT);
  pinMode(luzled, OUTPUT);
  Serial.begin(9600);
}

int calcularDistancia(){  //esta funcion calcula la distancia que precibe el sensor
long distancia;
long duracion;
digitalWrite(trig, LOW);
delayMicroseconds(4);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
duracion=pulseIn(echo,HIGH);
distancia=duracion/50;
return distancia;
}

void enciendo()
{
  digitalWrite(piezo,HIGH);  //enciende el piezo
  delayMicroseconds(800);
  digitalWrite(piezo,LOW);  //apaga piezo
  delayMicroseconds(200);
  digitalWrite(luzled,HIGH);  //enciende la luz led
}


void music()
{
  for(int nota=0; nota<40; nota++)  //recorre el arreglo
      {
    int tiempo=1000/duracion[nota];
    tone(piezo,melodia[nota],tiempo);  //se reproduce la nota del arreglo
    int pausa=tiempo*1.30;
    delay(pausa);
    noTone(piezo); // apaga el piezo

}

}


void loop()
{
  boton=digitalRead(pinboton); //asigna a boton lo que tiene la lectura del pin del boton
  Serial.println("boton: ");
  Serial.print(boton);
  disCalculada=calcularDistancia();  //calcula distancia y almacena en disCalculada
  Serial.println("--------");
  Serial.print("cm: ");
  Serial.println(disCalculada);
  delay(200);

          if (disCalculada>=40){   //si el sensor detecta un objeto a menos de 40cm
              digitalWrite(luzled,LOW);
          }
          if (disCalculada<=10){   //si el sensor detecta un objeto a menos de 10cm
              for (int sonido=0;sonido<500;sonido++) {
                  enciendo();
              }
          }
          if (disCalculada>20&&disCalculada<40){   //si el sensor detecta un objeto entre 20 com y 40 cm
              for(int sonido=0;sonido<90;sonido++){
                  enciendo();
              }
          }
          if (disCalculada>10&&disCalculada<=20) {  //si el sensor detecta un objeto entre 10 cm y 20 cm
               for(int sonido=0;sonido<40;sonido++) {
                    enciendo();
                }
          }
          delay(10);
          lcd.setCursor(1,1);  //pone cursor en fila 1 posicion 1
          lcd.print("Distancia: ");
          lcd.println(disCalculada);  //valor de la variable

  if (boton==1){
      lcd.clear(); //limpia la pantalla
      lcd.print("RESETEANDO");
      digitalWrite(luzled, LOW);  //apaga led
      delay(5000);
      lcd.clear();
    }
}



Video del programa a resolver SISTEMA DE ALARMA DEL CARRO EN REVERSA





Problemas técnicos y soluciones

Primero fue que quise poner un while para que mientras el boton no fuera presionado empezara a calcular distancias pero nunca me entraba en la estructura while así que la quite y deje solamente los if.
Luego en la pantalla LCD me quedaba una letra R de reseteando entonces tuve que colocar un lcd.clear(); al inicio del lcd.print("RESETEANDO"); y otro lcd.clear( al final y asi se me quito el problema de la r.



No hay comentarios:

Publicar un comentario