viernes, 26 de febrero de 2016

PR-15 Control de 4 LED por voz

- ROBÓTICA ESCOLAR - 
Andalucía Profundiza 2015

Prácticas de robótica escolar
·Control de 4 LED por voz a través de Bluetooth

En esta práctica probamos por primera vez el control por voz de la app MultiControlBT.
Conseguimos encender y apagar y de distintas formas cuatro LED desde la tableta a través de Bluetooth.


Principales características de la práctica "Control de 4 LED por voz a través de Bluetooth"
  • La tarjeta controladora es la "Proyectos PICAXE-18 de alta potencia" (CHI035A).
  • Conectamos a la tarjeta 4 LED en las salidas B.0 a B.3
  • Usamos el módulo JY-MCU (V1.06) para el Bluetooth.
  • Para la conexión Bluetooth usamos nuestra APP en Andropid: MultiControlBT.
    • La pantalla utilizada es la de  "COMANDOS POR VOZ", disponible a partir de la versión 2 de la aplicación.
    • Los comandos usados se grabaron previamente en cada uno de los botones disponibles.



Vídeo de la práctica 




Esquema eléctrico
Los elementos utilizados son:
  • Tarjeta controladora "Proyectos PICAXE-18 de alta potencia" (CHI035A)
  • Cuatro LED conectados a las salidas B.0 a B.3 
  • Módulo Bluetooth JY-MCU (V1.06)
    • La pata Gnd del módulo la conectamos a G de la tarjeta
    • La pata +5V del módulo la conectamos a V+ de la tarjeta
    • La pata Tx del módulo se conecta a C.7,  y  a V+ con una resistencia de 1K (o 10K)
    • Por comodidad hemos construido una tarjeta auxiliar con las características anteriores
  • Tableta o móvil con app "MultiControlBT" V2 para comunicarse con el módulo JY-MCU
    • Pantalla "COMANDOS POR VOZ". Los comandos se grabaron previamente.




Croquis de montaje




Programa
;------------- INFORMACIÓN --------------
;    Nombre  :      profu2015-4led-voz-bt.bas
;    Autor   :      Departamento de Tecnología
;    Micro   :      PICAXE-18M2 (CHI035A)
;    Entradas:      C.7 <- TXD(Mód. Bluetooth) (R10K desde TXD a V+)
;    Salidas :      B.0 a B.3 -> LED verde - rojo - amarillo - azul
;    Función :      Control de los cuatro LED mediante comandos de voz
;----------------------------------------


;----------- INICIALIZACIÓN -------------
setfreq m16
;----------------------------------------


;----------- BUCLE PRINCIPAL ------------
do
      serin C.7, T9600_16, b0 ;Lectura del valor que se envía por BT
      
      SELECT CASE b0          ;SELECCIÓN de caso según el valor de b0
      case 1                              ;1-"encender verde"           
            high B.0
      case 2                              ;2-"encender rojo"
            high B.1
      case 3                              ;3-"encender amarillo"
            high B.2
      case 4                              ;4-"encender azul"
            high B.3
      case 5                              ;5-"encender todos"
            high B.0, B.1, B.2, B.3
      case 6                              ;6-"rafaga"
            for b9 = 1 to 8
                  high B.0, B.1, B.2, B.3       ;Todos ON
                  pause 70                      ;y todos off
                  low B.0, B.1, B.2, B.3        ;8 veces
                  pause 70
            next b9
      case 7                              ;7-"apagar verde"
            low B.0
      case 8                              ;8-"apagar rojo"
            low B.1
      case 9                              ;9-"apagar amarillo"
            low B.2
      case 10                             ;10-"apagar azul"
            low B.3
      case 11                             ;11-"apagar todos"
            low B.0, B.1, B.2, B.3
      case 12                             ;12-"vuelta"
            low B.0, B.1, B.2, B.3              ;Se repite 4 veces:
            for b9=1 to 4
                  high B.0                            ;verde ON 
                  pause 50
                  low B.0                             ;verde off
                  pause 50
                  high B.1                            ;rojo ON
                  pause 50
                  low B.1                             ;rojo off
                  pause 50
                  high B.2                            ;amarillo ON
                  pause 50
                  low B.2                             ;amarillo off
                  pause 50
                  high B.3                            ;azul ON
                  pause 50
                  low B.3                             ;azul off
                  pause 50
            next b9                             ;(y vuelta a empezar)
      ENDSELECT               ;(fin de la selección)
loop
;----------------------------------------


;------------- SUBRUTINAS ---------------

;----------------------------------------