Comunicación ATtiny2313 para Bluetooth relevador
El modulo Bluetooth relevador tiene como controlador un ATtiny2313 de la familia Atmel y un modulo bluetooh HC-06, en este tutorial se explica la configuración para la comunicación serial para activar los relevadores. El software que se utiliza para hacer la programación es AtmelStudio que es una plataforma para desarrollar aplicaciones para los microcontroladores AVR de Atmel en el cual puedes programar en C/C++ o código ensamblador.
El código utilizado para el modulo Bluetooth relevador es muy corto ya que solo es para activar dos salidas del puerto B que corresponde a cada uno de los relevadores esto mediante la comunicación serial USART entre el bluetooth y el ATtiny2313. El programador que se utilizara para este tutorial sera el AVRDragon que es el oficial de Atmel soporta AVR de 8 y 32 bits. se puede realizar depuraciones simbólicas en dispositivos con SPI, JTAGy PDI.
Materiales
- Modulo bluetooth relay
- Cables hembra-hembra
- Programador AVRDragon
- Fuente de alimentacion de 5v
Software ATmelStudio
Programación del Bluetooth relevador
Al iniciar ATmelStudio se selecciona «New Proyect..»
Crear un nuevo proyecto
En seguida se abre una ventana con diferentes opciones de proyectos depende de que tipo de controlador y lenguaje requieres utilizar, para este tutorial se utilizara «GCC C++ Executable Proyect» ya que crea un proyecto de un AVR de 8 bit en lenguaje C++.En seguida se nombra el archivo y se selecciona la ubicación del mismo y se pulsa «OK».
Tipos de Proyectos
Al hacer esto debe de abrir una nueva ventana donde se busca y se selecciona el ATTiny2313 puesto que es microcontrolador que utiliza el modulo Bluetooth relevador. En esta apartado puedes encontrar la hoja de datos y herramientas que pueden soportar.
Seleccionar controlador del Bluetooth relevador
Con esto queda configurado el programa para poder iniciar a escribir el código.
Código Bluetooth relevador
/* * bluetooth_relay.cpp * * Created: 07/07/2016 15:38:40 * Author: PC */ #include<avr/io.h> #include<util/delay.h> #include<avr/interrupt.h> #define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1) char dato; void InitUART(void) { //Configurando la UART UBRRL = BAUD_PRESCALE; UBRRH = (BAUD_PRESCALE >> 8); UCSRB = (1<<RXEN)|(1<<TXEN);;//habilita la transmision y recepcion de datos UCSRC = (1<<USBS)|(3<<UCSZ0);// //UCSRB |= (1<<RXCIE) | (1 << RXEN) | (1 << TXEN); // Turn on the transmission and reception circuitry //UCSRC |= (1 << URSEL) | (1 << UCSZ0) | (1 << UCSZ1); // Use 8-bit character sizes } unsigned char ReceiveByte(void){ //Función para recibir un byte while (!(UCSRA & (1<<RXC)));//Esperar la recepción return UDR; //Retornar el dato tomado de la UART } int main (void) { DDRB=0xFF; InitUART(); //Inicializar la UART PORTB =0x00; while(1){ dato=ReceiveByte(); //Recibir un dato de la UART if (dato==0x01) //Compara el dato recibido { PORTB |= (1<<0);//al pin cero del puerto B le asigna un uno logico } if (dato==0x02) { PORTB &=~ (1<<0);// al pin cero del puerto B le asigna la negacion de un uno logico } if (dato==0x03) { PORTB |= (1<<1); //al pin uno del puerto B le asigna un uno logico } if (dato==0x04) { PORTB &=~ (1<<1);// al pin uno del puerto B le asigna la negacion de un uno logico } } }
Si no hay errores hacemos las conexiones entre el progrmador AVRDragon y el moduloBluetooth relevador,
Compilar código
Si no hay errores hacemos las conexiones entre el programador AVRDragon y el modulo Bluetooth relevador identificando los pines de comunicación SPI de cada uno.
*NOTA: Es necesario alimentar el modulo Bluetooth relevador con una fuente de 5v antes de programar
En la barra herramientas seleccionamos «Tools»>>»Device Programming». Esto es para abrir el menú del programador.
En la ventana que se abrirá se elige el programador, el microcontrolador y la interfaz serial, ya que estén seleccionados presionamos «Apply» y enseguida «Read» si todo esta bien conectado desplegara una serie de opciones para el controlador de lo contrario se mostraran ventanas de ayuda.
Si reconoce el ATtiny2313 se da click en «Memories» y enseguida se selecciona la ubicacion del archivo HEX de nuestro programa que generalmente se encuentra en la misma carpeta que se definió al principio, para finalizar se da click en «Program»
En caso de que no cuentes con el AVRDragon puedes utilizar cualquier otro programador compatible con el ATtiny2313 como el Programador HeTPro USBasp V3
Ya que se te tenga cargado el programa puedes descargar en tu dispositivo la siguiente aplicación: “Bluetooth Serial Controller” ya que es muy completo y fácil de usar para usuarios de android. Tenemos un tutorial de la configuración para utilizar este modulo:
Bluetooth con relevador 2CH Configurar App
[youtube https://www.youtube.com/watch?v=GQT-stQn7as]