Práctica 20 – Bluetooth HC-05

 

INTRODUCCIÓN

 

En esta práctica se implementa el control del encendido y apagado de un LED por medio de bluetooth 3.0. El control del LED se realiza a través de un módulo bluetooth HC-05 para recibir y enviar datos a un smartphone mediante una aplicación llamada “Serial Bluetooth Terminal” para Android. 

 

 

Selecciona la plataforma y entorno de programación.

 

 

PIC
AVR
ARDUINO
PIC
PIC C Compiler
PIC C Compiler
Bootloader PIC18FX5K50
Bootloader PIC18FX5K50

Descripción

En esta práctica se realiza la conexión con el módulo Bluetooth HC-05 para enviar y recibir datos hacia un smartphone por medio de una aplicación llamada “Serial Bluetooth Terminal” para Android, la cual enviá indicaciones para el encendido y apagado de un LED, también pregunta el estado de un push button usando los módulos X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28 con el PIC18F45K50 o PIC18F25K50. Para encender el LED se enviá el número 1, si se desea apagar se enviá el número 0. Para recibir el estado del push button "BOOT", se envía el signo "?", si está presionado recibe el número 1, en caso contrario se recibe el número 0.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28Comprar

1 x Módulo Bluetooth HC-05.

1 x Juego de cable Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

 

Software:

Windows 7 o posterior.

PIC C Compiler v5.069 o posterior. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto. En el siguiente link encontrarás un manual para compilar en PIC C Compiler.

4.Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5.Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

A continuación se muestran las instrucciones para la comunicación entre el módulo Bluetooth y el Smartphone.

Instrucciones para comunicación Bluetooth

Mostrar más información

PASO 1

Empareja el dispositivo Bluetooth HC-05 a través de las configuraciones de tu Smartphone.

Nota: si no se ha programado el dispositivo HC-05, el nombre y contraseña deberán ser los siguientes:

Nombre: HC-05

Contraseña: 1234

 

PASO 2

Selecciona el tipo de Bluetooth desde el apartado de «Devices» teniendo dos opciones:

BLUETOOTH CLASSIC: Bluetooth 2.0 (HC-05)

BLUETOOTH LE: Bluetooth 4.0 (HM-10)

En este caso seleccionamos CLASSIC y HC-05.

 

Nota: Una vez conectado los dispositivos, podrás enviar y recibir datos a través de la aplicación para el control de encendido y apagado del LED,  así como el estado del push button.

 

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP 40
X-TRAINER P8 DIP 28
X-TRAINER P8

X-TRAINER P8 DIP 40

X-TRAINER P8 DIP 28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Esta práctica consiste en realizar el envio de datos por medio de un módulo

Bluetooth, usando el protocolo de comunicación serial UART, para enviar un

comando simple para prender y apagar un LED incluido en la tarjeta X-TRAINER,

y un segundo comando para preguntar el estado de un botón.

**************************************************************************/

#include <18F45K50.h>                                        // Incluye la librería para el PIC ( para X-TRAINERp8DIP28: #include <18F25K50.h> )

#device ADC=8                                                        // Configura el ADC a 8 bits

#use delay(internal=48MHz)                                 // Configura frecuencia del oscilador interno

#build(reset=0x02000,interrupt=0x02008)        // Asigna los vectores de reset e interrupción para la versión con bootloader

#org 0x0000,0x1FFF {}                                           // Reserva espacio en memoria para el bootloader

//-------------------------------------------------------------------------------

#USE RS232(stream=SERIE, BAUD=9600, PARITY=N, XMIT=PIN_C6, RCV=PIN_C7,BITS=8)

#define LED pin_A1

#define Boton pin_A2

void main(void)

{

     while(!kbhit()) //Pregunta si hay algun dato recibido

      while (TRUE)

           {

                char Caracter = getc (); //Guarda el caracter

                if (Caracter == '0')

                    {

                         output_low (LED); //Apaga el LED

                         fprintf(SERIE,"LED APAGADO\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n");

                        }

 

                              else if (Caracter == '1')

                                   {

                                   output_HIGH (LED); //Enciende el LED

                                      fprintf(SERIE,"LED ENCENDIDO\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n");

                                      }

                               else if (Caracter == '?')

                                    {

                                if (1 == input (Boton))

                                           {

                                                                                                                      //Pregunta el estado del botón

                                                     Printf ("1"); //Envía un 0 si el botón no está presionado

                                              }

                                               else

                                                {

                                                         Printf ("0"); //Envía un 1 si el botón está presionado

                                          }

                       }

              }
}

 

 

 

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 20– PIC – Bootloader – CCS

Descargar código en PIC C Compiler de la práctica 20.

AVR
MikroC PRO
MikroC PRO
Programador XCU
Programador XCU

Descripción

En esta práctica se realiza la conexión con el módulo Bluetooth HC-05 para enviar y recibir datos hacia un smartphone por medio de una aplicación llamada Serial Bluetooth Terminalpara Android, la cual enviá indicaciones para el encendido y apagado de un LED, también pregunta el estado de un push button usando los módulos X-UNO o X-NANO. Para encender el LED se enviá el número 1, si se desea apagar se enviá el número 0. Para recibir el estado del push button "BOOT", se envía el signo "?", si está presionado recibe el número 1, en caso contrario se recibe el número 0.

 

Materiales:

1 x Módulo X-UNOX-NANO. Comprar

1 x Módulo Programador XCU. Comprar

1 x Módulo X-AVR. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Módulo Bluetooth HC-05.

1 x Juego de cable Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MikroC PRO for AVR. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, verifica en el apartado de librerías que este seleccionada la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for AVR.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

A continuación se muestran las instrucciones para la comunicación entre el módulo bluetooth y el smartphone.

Instrucciones para comunicación bluetooth

Mostrar más información

PASO 1

Empareja el dispositivo bluetooth HC-05 a través de las configuraciones del smartphone.

Nota: si no se ha programado el dispositivo HC-05, el nombre y contraseña deberán ser los siguientes:

Nombre: HC-05

Contraseña: 1234

 

PASO 2

Debemos seleccionar el tipo de Bluetooth desde el apartado de «Devices» teniendo dos opciones:

BLUETOOTH CLASSIC: Bluetooth 2.0 (HC-05)

BLUETOOTH LE: Bluetooth 4.0 (HM-10)

En este caso seleccionamos CLASSIC y HC-05.

 

Nota: Una vez conectado los dispositivos, podrás enviar y recibir datos a través de la aplicación para el encendido y apagado del LED, así como el estado del push button.

 

Diagrama esquemático

 

X-UNO
X-UNO

 

Código

 

Código

 

     /****************************************
     AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.
     FECHA OCTUBRE 2019
     *****************************************
     Comunicación Bluetooth con AVR
     *****************************************/

     #define LED_ON PORTB |=(1<<PORTB5)
     #define LED_OFF PORTB &=~(1<<PORTB5)
     #define BOTON PINB0_bit

     void SisInit(void)
     {
        DDB5_bit=1;                                                                            //B5 como salida
        DDB0_bit=0;                                                                            //B0 como entrada
        PORTB0_bit=1;                                                                       //B0 con pull-up

     }


     void main()
     {

        SisInit();
        UART1_Init(9600);
        while(1)
        {
          if(UART_Data_Ready())
          {
                                                                                                        //Preguntar si ha recibido algún dato

           char Caracter=UART_Read();                                              //Guarda el carácter
           if(Caracter ==′0′)
           {
            LED_OFF;                                                                          //Apaga el LED

           }

           else if(Caracter ==′1′)
           {
            LED_ON;                                                                          //Enciende el LED

           }

           else if(Caracter ==′?′)
           {
              if(BOTON)
              {
                                                                                                     //Pregunta el estado del botón

                 UART1_Write(′0′);                                                       //Envía un 0 si el botón no esta presionado
               }

                else

                {
                 UART1_Write(′1′);                                                       // Envía un 1 si el botón esta presionado
                }
             }
         }

       }

     }

 

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 20-XCU-AVR

Descargar el código en mikroC PRO for AVR de la práctica 20.

 

 

ARDUINO

Descripción

En esta práctica se realiza la conexión con el módulo Bluetooth HC-05 para enviar y recibir datos hacia un smartphone por medio de una aplicación llamada “Serial Bluetooth Terminal” para Android, la cual enviá indicaciones para el encendido y apagado de un LED, también pregunta el estado de un push button usando los módulos X-UNO, X-MEGA o X-NANO. Para encender el LED se envía el número 1, si se desea apagar se envía el número 0. Para recibir el estado del push button, se envía el signo "?", si está presionado recibe el número 1, en caso contrario se recibe el número 0.

 

Materiales:

1 x Módulo X-UNO, X-MEGA o X-NANO. Comprar

1 x Módulo Programador XCU. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Bluetooth HC-05.

1 x Resistencia 220 Ohms. Comprar

1 x Juego de cable Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

Arduino IDE. Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el software Arduino IDE, pega el código en un nuevo proyecto, realiza la compilación. 

4. Programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás un manual para compilar y programar en Arduino IDE.

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

A continuación se muestran las instrucciones para la comunicación entre el módulo bluetooth y el smartphone.

Instrucciones para comunicación bluetooth

Mostrar más información

PASO 1

Empareja el dispositivo bluetooth HC-05 a través de las configuraciones del smartphone.

Nota: si no se ha programado el dispositivo HC-05, el nombre y contraseña deberán ser los siguientes:

Nombre: HC-05

Contraseña: 1234

 

PASO 2

Debemos seleccionar el tipo de Bluetooth desde el apartado de «Devices» teniendo dos opciones:

BLUETOOTH CLASSIC: Bluetooth 2.0 (HC-05)

BLUETOOTH LE: Bluetooth 4.0 (HM-10)

En este caso seleccionamos CLASSIC y HC-05.

 

Nota: Una vez conectado los dispositivos, podrás enviar y recibir datos a través de la aplicación para el encendido y apagado del LED, así como el estado del push button.

 

Diagrama esquemático

 

X-UNO
X-MEGA
X-NANO
X-UNO

X-MEGA

X-NANO

 

Código

 

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Esta práctica consiste en realizar el envió de datos por medio de un módulo

Bluetooth, usando el protocolo de comunicación serial UART, para enviar un

comando simple para prender y apagar un LED incluido en los módulos X-UNO, X-MEGA o X-NANO

y un segundo comando para preguntar el estado de un botón.

**************************************************************************/

#include <SoftwareSerial.h>

int led1 = 13;

int data;

const int BOTON = 8;                                                      //Número del pin para BOTÓN

int EstadoBoton = 0;                                                        //Variable para guardar el estado

void setup()

{

  Serial.begin(9600);                                                                    //configura comunicación serial

  pinMode(led1,OUTPUT);                                                         //configura pin como salida para el LED

  pinMode (BOTON, INPUT_PULLUP);                                      //Inicializa el PIN como entrada con pull - up

}

void loop()

{

   while(Serial.available())                                             //espera recibir un dato del Bluetooth

    {

     data = Serial.read();                                                  //lee el dato recibido

       if(data == '1')

         {

          digitalWrite(led1,HIGH);                                              //enciende el LED

          Serial.println("LED encendido");                                   //imprime en el monitor serial

           }

          if(data == '0')

           {

          digitalWrite(led1,LOW);                                                //apaga el LED

          Serial.println("LED apagado");

           }

          else if(data == '?')

          {
         EstadoBoton = digitalRead (BOTON);                 //Leer estado del botón

         if (EstadoBoton == HIGH)                                    //Pregunta el estado del botón

          {

            Serial.println ("0");                                                 //Envía un 0 si el botón no está presionado

          }   

          else

           {

              Serial.println ("1");                                                //Envía un 1 si el botón está presionado

           }

       }

    }
}

 

 

Descargas

Práctica 20 – Arduino

Descarga código en Arduino de la práctica 20.

Fecha

agosto 13, 2019

Categoría

Prácticas XIDE

× WhatsApp