Reporte Proyecto Microcontroladores

download Reporte Proyecto Microcontroladores

of 12

Transcript of Reporte Proyecto Microcontroladores

  • 8/18/2019 Reporte Proyecto Microcontroladores

    1/12

    Escuela Superior Politécnica

    Del Litoral

    FIEC

    Laboratorio de

    Microcontroladores

     Proyecto

    Bastón y guante electrónico

    Alumno: Miguel Sandoya

      Andrés Salazar

    Paralelo: 8

    Grupo: 5

    ec!a de presentaci"n: #$ de

    Diciembre del #%&5

  • 8/18/2019 Reporte Proyecto Microcontroladores

    2/12

    2015 - 2o Término

    1. Proyecto:

    El proyecto consiste en crear un guante o brazalete con un mini-motor que

    genere una vibración en la mano del usuario cada vez que se encuentre con un

    obstáculo (la vibración cambiara según el obstáculo) mediante el uso del

    PIC!"##$% este debe ser observado por dos sensores de distancia

    (&ltrasónico o de luz) y enviado v'a inalámbrica al guante% la uerza con la que

    vibre el guante debe ser regulada por un potenciómetro ubicado en el bastón

     unto con un interruptor de encendido del sistema* Cuando se acerque a un

    obeto o persona por el rente vibre a un nivel y cuando se acerque a una

    escalera u oriicio vibre a otro nivel y genere un sonido de alerta*

    2. Diagrama de Bloques

    ParlanteSensor

    ultrasónico 1

    PIC

    16F!"otor #i$ra%or 1

    Sensor

    ultrasónico 2"otor #i$ra%or 2

  • 8/18/2019 Reporte Proyecto Microcontroladores

    3/12

    3. Diagrama de flujo del programa principal y subrutina

    I&ICI'

    &'S Em(are)amiento %e

    Bluetoot*

    Sensor 1 '&Se encien%en los

    sensores

    Sensor 2 '&"an%a se+al serial

    al Pic 2

    ,istancia 50 cm

    "otor y

    (arlante

    Se .cti#a "otor

    #i$ra%or 1 y el

    (arlante a"an%a se+al serial

    al Pic 2

    ,istancia 50 cm

    ,istancia 25 cm

    "otor y

    (arlanteSe .cti#a "otor

    #i$ra%or 2 y el

    (arlante a

    "an%a se+al serial

    al Pic 2,istancia 25 cm

    Se .cti#a "otor

    #i$ra%or 1 y el

    (arlante a"an%a se+al serial

    al Pic 2

    Se .cti#a "otor

    #i$ra%or 2 y el

    (arlante a

  • 8/18/2019 Reporte Proyecto Microcontroladores

    4/12

    4. Descripción de algoritmo

    • +e prende el sistema y se espera a que ambos dispositivos% el Pic que

    controla los sensores y el Pic que controla los motores vibradores% se

    comuniquen mediante comunicación serial*

    • +i el sensor utilizado para detectar obetos de rente% detecta un obeto

    a cierta distancia manda por el puerto serial una se,al al otro Pic que

    activara el motor vibrador *

    • +i la distancia se sigue acortando el primer Pic mandara una se,al al

    otro Pic para que aumente la recuencia de vibración* Este solo seapagara una vez que el sensor este a una distancia más leana del

    obeto*

    • +i el sensor utilizado para detectar obetos por debao a ./ grados%

    detecta un obeto a cierta distancia manda por el puerto serial una se,al

    al otro Pic que activara el motor vibrador *

    • +i la distancia se sigue acortando el primer Pic mandara una se,al al

    otro Pic para que aumente la recuencia de vibración* Este solo se

    apagara una vez que el sensor este a una distancia más leana del

    obeto*

    •  0mbos motores vibradores se prenderán al mismo tiempo si solo si la

    persona no vidente esta rente a una persona y tiene un 1ueco por 

    delante o si está baando una escalera y una persona viene subiendo

    rente a 2l*

  • 8/18/2019 Reporte Proyecto Microcontroladores

    5/12

    . listado de programa fuente en lenguaje !.

    P"#$% 1 &P'!1( )ensores

    3deine 45I66E5 P7540*50

    3deine EC87 P7540*50

    3deine 45I66E5 P7540*509

    3deine EC87 P7540*50.

    int distancia%distancia%bandera%tiempo%tiempo%di%di:

    unsigned s1ort i:

    int ;edir pins as digital

      0>+E?8 @ A:

      45I+0 @ AbAAAAAA: BBConigurado bit y . como entrada y los demas comosalidas

      45I+ @ AbAAAAAAAA:

      45I+D@ A"":

      C7>4C7> @ A: BB 8abilitada la interrupción por el desbordamiento en el registro4;5A

     

    distancia@A:

      distancia@A:

      bandera@A:

  • 8/18/2019 Reporte Proyecto Microcontroladores

    6/12

      45I66E5@A:

      45I66E5@A:

      di@A:

      di@A:

      &054

  • 8/18/2019 Reporte Proyecto Microcontroladores

    7/12

      P754*5@:

      elay4C7>*4;5AI")=

  • 8/18/2019 Reporte Proyecto Microcontroladores

    8/12

      tiempo@A:

      I>4C7>@A:

      M

      else i(EC87@@A)=

      I>4C7>@A:

      tiempo@4;5A:

      M

    M

    BB&ltrasonido

    int ;edir

  • 8/18/2019 Reporte Proyecto Microcontroladores

    9/12

      i(I>4C7>*4;5AI")=

      tiempo@A:

      I>4C7>@A:

      M

      else i(EC87@@A)=

      I>4C7>@A:

      tiempo@4;5A:

      M

    M

    P"#$% 2 &P'!2( *+$+#%)

    unsigned s1ort i@A%bandera@A:

    unsigned uart+E? @ A: BB Conigure 0> pins as digital

      0>+E?8 @ A:

      C7>

  • 8/18/2019 Reporte Proyecto Microcontroladores

    10/12

      i@ &054

  • 8/18/2019 Reporte Proyecto Microcontroladores

    11/12

      PH;

  • 8/18/2019 Reporte Proyecto Microcontroladores

    12/12

    -.!onlusiones

    • +e utilizó las interrupciones para poder lograr una temporización de los

    distintos procesos% as' se consiguió que cada proceso se realice en un

    tiempo determinado* &no de los principales problemas que tuve ue al

    momento de manear subrutinas dentro de la interrupción ya que no

    estaba se,alando el in de los procesos con banderas*

    • El uso de banderas para se,alar el in de los procesos ue de gran

    ayuda ya que as' se pudo lograr la temporización de cada parte e

    incluso agregar más subrutinas*

    • "ue muy importante el conocimiento de instrucciones básicas como

    sub o decsz ya que estos nos ayudaron a controlar los tiempos y

    tener una mayor precisión*• En la parte de llenado de botella nos costó al principio entender como

    1ab'a que realizarlo% luego con ayuda de una variable que uera

    decrementando y cada vez que llegara a A pasar'a a la siguiente

    subrutina logramos el eecto de ver que la botella se uera llenando*

    • En los parámetros de siguiente y inal se logro cubrir todos los posibles

    aspectos es decir cuando inal este activado asi se prenda siguiente o

    ruta esta no se activara mientras inal este activo

    • ?amentablemente el proceso de alarma no se pudo realizar ya que no

    alcance a entender cómo poner un delay que uncione dentro de la

    interrupción sin que al ser desactivada me aecte el proceso antes

    1ec1o*

    • ?a parte de +oda tampoco unciono bien ya que no pude realizar la

    temporización debido a que al aumentar las instrucciones dentro de mi

    interrupción esta se me desbordaba% sin embargo el llenado de la botella

    unciono bien*

    .#ecomendaciones

    • 5ealizar bien las coneiones en el Proteus y colocar etiquetas para

    identiicar cada elemento y la unción que realiza as' se es más ácil deentender al momento de eplicar*

    • ?o mismo en el código poner etiquetas o comentarios en las l'neas de

    código para que el mismo programador y personas que lo quieran

    entender puedan comprender de meor manera*

    • 4ener pleno conocimiento de las instrucciones que se realiza para poder 

    1acer adecuaciones o meoras al programa% como mas precisión o mas

    elementos*