Controlador de drecciones de leds mediante el modulo Bluetooth HC-05

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
Narcia
Date:
Fri May 31 02:25:29 2019 +0000
Commit message:
Controlador de direcciones de leds mediante la implementacion del modulo Bluetooth HC-05

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r fc595d9f5765 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri May 31 02:25:29 2019 +0000
@@ -0,0 +1,168 @@
+/* ###########################################################################
+**    Archivo        : main.c
+**    Proyecto       : FRDM-KL46Z_Proyecto_Implementacion_Bluetooth
+**    Procesador     : MKL46Z256VLL4
+**    Herramienta    : Mbed
+**    Version        : Driver 01.01
+**    Compilador     : GNU C Compiler
+**    Fecha/Hora     : 22-05-2019, 23:57, # CodeGen: 0
+**    Descripción    :
+**         Este proyecto, mediante la implementacion del modulo Bluetooth
+**         HC-05 tiene la finalidad de, desde una aplicacion serial Bluetooth 
+**         en cualquier smartphone, poder controlar las secuencias en que 
+**         se desplaza una tira de leds implementada con leds individuales, 
+**         ademas de la funcion on/off, a futuro se piensa desarrollar este  
+**         proyecto con la imlementacion de leds inteligentes y sensores de 
+**         proximidad cuyo proposito sea representar a grandes razgos la tecnología 
+**         self-drive o self-lightning de los automoviles de mayor gama alta en 
+**         la actualidad.
+**   Componentes     : GPIO, Bluetooth HC-05, Serial, BusOut, Smartphone.
+**   Configuraciones : Includes, Serial y Drivers externos
+**   Autores         : Mendoza Narcia Erick Daniel
+**         ATEAM Development Group:
+**          - Antulio Morgado Valle
+**
+**   Versión        : Beta
+**   Revisión       : A
+**   Release        : 0
+**   Bugs & Fixes   : 
+**   Date           : 01/08/2019 (aproximacion)
+**                    Implementacion de leds inteligentes y sensores de proximidad
+**
+* ###########################################################################/
+/*
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:  Includes
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*/
+#include "mbed.h"
+#include "Serial.h" 
+/*
+:...............................................................................
+:  Definiciones
+:...............................................................................
+*/
+/*
++-------------------------------------------------------------------------------
+|  Configuración de Puertos 
++-------------------------------------------------------------------------------
+*/
+DigitalOut gpo(D0);
+DigitalOut led(LED_RED);
+Serial Bluetooth(PTE0, PTE1); //establecemos los pines para la comunicacion serial
+                            //de la tarjeta con el bluetooth, PTE0 como RX y PTE1 como TX
+BusOut SECUENCIAS(PTE23, PTE22, PTE21, PTE20, PTE19, PTE18, PTE17, PTE16);//de estos
+                            //pines se conectaran los leds cuyas direcciones de iluminacion
+                            //podran ser controlados por la aplicacion de smartphone 
+/*
++-------------------------------------------------------------------------------
+|  Variables Globales de Usuario 
++-------------------------------------------------------------------------------
+*/
+char DATO; //variable para almacenar caracter recibido desde el smartphone
+int16_t i=0; //variable auxiliar contador
+int32_t NSec=33; //variable auxiliar para el numero de secuencias de los vectores
+int32_t NSec2=160; //variable auxiliar para el numero de secuencias de los vectores
+/*
+
+/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+|  Definición de Funciones Prototipo y Rutinas de los Vectores
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+*/
+uint8_t SHOW6[]={0xFF};
+uint8_t SHOW5[]={0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,
+                 0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA};
+uint8_t SHOW4[]={0x81,0x81,0x42,0x42,0x24,0x24,0x18,0x18,0x81,0x81,0x42,0x42,0x24,0x24,0x18,0x18,
+                 0x81,0x81,0x42,0x42,0x24,0x24,0x18,0x18,0x81,0x81,0x42,0x42,0x24,0x24,0x18,0x18};
+uint8_t SHOW3[]={0x18,0x18,0x24,0x24,0x42,0x42,0x81,0x81,0x18,0x18,0x24,0x24,0x42,0x42,0x81,0x81,
+                 0x18,0x18,0x24,0x24,0x42,0x42,0x81,0x81,0x18,0x18,0x24,0x24,0x42,0x42,0x81,0x81};
+uint8_t SHOW2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
+                 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
+uint8_t SHOW1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
+                 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
+uint8_t SHOW0[]={0x00};
+
+/*
+#===============================================================================
+|
+|               P R O G R A M A     P R I N C I P A L
+|
+#=============================================================================== 
+*/
+
+int main (){
+    Bluetooth.baud(9600); //velocidad de baudios a la cual la tarjeta se conectara al modulo 
+                            //Bluetooth HC-05
+    while(1){ //loop
+        if(Bluetooth.readable()) // Si el modulo bluetooth esta disponible y hay informacion
+                                //disponible para que este reciba
+        {
+            DATO=Bluetooth.getc(); //almacenara en esta variable el caracter que se recibio 
+                                    //desde el modulo 
+            i=0;
+            if(DATO=='1')   //Si el dato recibido es 1, ejecuta un vector que representa una 
+                            //forma de mostrar la iluminacion de la tira de leds, lo mismo 
+                            //en los demas casos con diferentes formas y secuencias de encendido
+                            //a menos que se indique la accion 
+            {
+                for(i=0;i<NSec;i++)
+                {
+                    SECUENCIAS=SHOW1[i];
+                    wait_ms(70);
+                }
+            }
+            if(DATO=='2')
+            {
+                for(i=0;i<NSec;i++)
+                {
+                    SECUENCIAS=SHOW2[i];
+                    wait_ms(70);
+                }
+            }
+            if(DATO=='3')
+            {
+                for(i=0;i<NSec;i++)
+                {
+                    SECUENCIAS=SHOW3[i];
+                    wait_ms(70);
+                }
+            }
+            if(DATO=='4')
+            {
+                for(i=0;i<NSec;i++)
+                {
+                    SECUENCIAS=SHOW4[i];
+                    wait_ms(70);
+                }
+            }
+            if(DATO=='5')
+            {
+                for(i=0;i<NSec;i++)
+                {
+                    SECUENCIAS=SHOW5[i];
+                    wait_ms(70);
+                }
+            }
+            if(DATO=='6')
+            SECUENCIAS=SHOW6[i];//leds On
+            if(DATO=='7')
+            {
+                for(i=0;i<NSec2;i++)
+                {
+                    SECUENCIAS=SHOW5[i];
+                    wait_ms(70);
+                }
+            }
+            if(DATO=='0')
+            SECUENCIAS=SHOW0[i]; //leds Off
+            }
+        }
+}
+/* END main */
+
+/*
+
+/* END Program */
+
+/* END Mbed */
\ No newline at end of file
diff -r 000000000000 -r fc595d9f5765 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri May 31 02:25:29 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file