Haz una pregunta
  Foros de Electrónica » Temas de Interés » Telemática y Comunicaciones
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

05/11/2015 #101

Avatar de christian0123

Configurar Modulo Bluetooth HC05 o HC06
Hola. he desarrollado una pequeña aplicación de escritorio para configurar parámetros básicos de nuestros módulos bluetooth HC05 o HC06. tales como nombre del dispositivo, contraseña y velocidad de transmision. podran configurar sus modulos en menos de 1 minuto.

les dejo el archivo .exe del aplicativo de escritorio.

pueden encontrar el vídeo tutorial en youtube. solo deben escribir en el buscador "CVR electronic"


espero que lo disfruten.

Por favor compartanlo con sus amigos.

05/11/2015 #102

Avatar de TRILO-BYTE

error de java

los run time rompidos dice mi laptop
05/11/2015 #103
Moderador

Avatar de D@rkbytes

Acá si funciona con la última versión de Java, pero yo prefiero hacerlo manualmente porque configuro otros parámetros aparte de los básicos. (Esos casi no los toco una vez establecidos)

Gracias por el aporte, christian0123.
Imágenes Adjuntas
Tipo de Archivo: jpg Prueba comandos AT.jpg (359,0 KB (Kilobytes), 37 visitas)
05/11/2015 #104

Avatar de christian0123

TRILO-BYTE dijo: Ver Mensaje
error de java

los run time rompidos dice mi laptop

Seguramente tu versión de Java esta desactualizada.

actualizala y me cuentas como te va.

---------- Actualizado después de 3 minutos ----------

D@rkbytes dijo: Ver Mensaje
Acá si funciona con la última versión de Java, pero yo prefiero hacerlo manualmente porque configuro otros parámetros aparte de los básicos. (Esos casi no los toco una vez establecidos)

Gracias por el aporte, christian0123.

Si claro. esta es la primera versión. pensada para usuarios básicos que solo le interesa jugar con ese tipo de parámetros.

cuales son los parámetros que frecuentemente configuras?. los agregaré en una nueva versión.
05/11/2015 #105
Moderador

Avatar de D@rkbytes

christian0123 dijo: Ver Mensaje
¿Cuales son los parámetros que frecuentemente configuras?
Los agregaré en una nueva versión.
Uno básico que no debe faltar: AT+RESET

Y los que configuro son éstos:
AT+ROLE (Establece el modo)
AT+IAC (Estable el modo de acceso)
AT+CMODE (Estable el modo de conexión)
AT+SENM (Establece el modo de encripción y seguridad)
AT+PAIR (Establece la pareja bluetooth)

Tal vez olvidé otros pero esos son los que más uso.

Cómo los comandos también tienen consulta, te recomiendo que agregues un modo de lectura a la aplicación.

Suerte.
05/11/2015 #106

Avatar de ilcapo

Gracias por el aporte christian0123 !!
te hago una consulta,, el bauderate a ingresar es el del HC05 al arduino o el del arduino al PC ? gracias!
05/11/2015 #107

Avatar de TRILO-BYTE

aver aver me dan ganas de hacer mi editor en C++

como van los comandos AT

¿con salto de linea y retorno de carro ?

AT+ROLE\n\r

seria interesante , ando en un proyecto con blutut y quiero que diga mi marca y que el usuario cambie su contraseña
05/11/2015 #108
Moderador

Avatar de D@rkbytes

TRILO-BYTE dijo: Ver Mensaje
¿Cómo van los comandos AT?

¿Con salto de línea y retorno de carro?

AT+ROLE\n\r
Al revés, primero el Return (13 = 0x0D = \r) y después el Line Feed (10 = 0x0A = \n)
Es lo que se conoce como CRLF

Ejemplo:
AT+ROLE=1\r\n
05/11/2015 #109

Avatar de christian0123

ilcapo dijo: Ver Mensaje
Gracias por el aporte christian0123 !!
te hago una consulta,, el bauderate a ingresar es el del HC05 al arduino o el del arduino al PC ? gracias!
El baudrate a ingresar es el que quieres manejar para tu comunicación serial. Ejemplo: si configuras tu baudrate a 9600 la velocidad del puerto uart de tu microcontrolador debe ser de 9600.

Compártelo con todos tus amigos.

05/01/2016 #110


Que tal antes que todo este es un foro que me a ayudado mucho, soy un novato en esto de la programación y micro controladores, agradecería mucho su ayuda.

utilizo un pic16f886 bluetooth HC-05 lo compre por Internet en una tienda que se llama app-tek en México

lo que quiero es controlar el micro-controlador por medio de mi celular utilizo la aplicación BlueTooth Serial Controller para android, lo que quiero hacer es similar a una grúa, pero no logro tener buena comunicación con el modulo que es lo que mas me interesa lo demás lo se hacer, esto es lo que he echo por favor ayúdenme,
use
MIKRO C PRO FOR PIC
Código:

Código:
signed int uart_rd;
void config();
void main(){
   config();

UART1_Init(9600);
delay_ms(100);

while(1){
   PORTC=0;

   
   if (UART1_Data_Ready()) { // Si el dato se ha recibido,
    uart_rd=UART1_Read();   // lea el dato recibido y guardar
   }

   switch(uart_rd){ // puente h L293 d

    case 0x02:{             //avanzar hacia adelante
        PORTC= 0B00001010;
       }
    break;

    case 0x04:    {         //avanzar hacia atrás
        PORTC= 0B00000101;
     }
    break;
    case 0x05:    {         //giro derecha
        PORTC= 0B00000110; //una llanta gira hacia
    }  //delante y la otra  alreves gira mas rápido
    break;

    case 0xFF:    {      //giro izquierda
        PORTC= 0B0001001; //una llanta gira hacia
    }  //delante y la otra  alreves gira mas rápido
    break;
    case 0x05:    {  //giro derecha brazo grúa
        PORTC= 0B00010000;
    }
    case 0x05:    {  //giro izquierda brazo grúa
        PORTC= 0B00010000;
    }        break;

   }

 }
}

void config(){
  ANSEL=0;
  ANSELH=0;
  TRISB=0;
  TRISC=0;
  TRISA=1;
}
me podrían decir que esta mal intente usar ascII pero tampoco puede cual es la forma correcta, si tienen un código que prenda aunque sea un led me seria de mucha ayuda, en el case 0xFF SI FUNCIONA PERO CON CUALQUIER BOTÓN =( . PIENSO agregarle una pantalla lcd pero primero quiero lograr una conexion exitosa con lo del bluetooth, use el oscilador interno a 20 MHZ, RXD LO CONECTE CON TX del micro-controlador y TXD con RX, use puente h L293 D, lo cambie por LEDS porque no me funcionaba para ver que sucedía.
Estará bien mi código o tendrán uno de ejemplo solo quiero saber como usar la librería UART.

cualquier aporte es bien recibido de verdad agradecería mucho su ayuda que tengan buen día y disculpen mis faltas de ortografía. ...
05/01/2016 #111

Avatar de christian0123

maxmadin dijo: Ver Mensaje
Que tal antes que todo este es un foro que me a ayudado mucho, soy un novato en esto de la programación y micro controladores, agradecería mucho su ayuda.

utilizo un pic16f886 bluetooth HC-05 lo compre por Internet en una tienda que se llama app-tek en México

lo que quiero es controlar el micro-controlador por medio de mi celular utilizo la aplicación BlueTooth Serial Controller para android, lo que quiero hacer es similar a una grúa, pero no logro tener buena comunicación con el modulo que es lo que mas me interesa lo demás lo se hacer, esto es lo que he echo por favor ayúdenme,
use
MIKRO C PRO FOR PIC
Código:

Código:
signed int uart_rd;
void config();
void main(){
   config();

UART1_Init(9600);
delay_ms(100);

while(1){
   PORTC=0;

   
   if (UART1_Data_Ready()) { // Si el dato se ha recibido,
    uart_rd=UART1_Read();   // lea el dato recibido y guardar
   }

   switch(uart_rd){ // puente h L293 d

    case 0x02:{             //avanzar hacia adelante
        PORTC= 0B00001010;
       }
    break;

    case 0x04:    {         //avanzar hacia atrás
        PORTC= 0B00000101;
     }
    break;
    case 0x05:    {         //giro derecha
        PORTC= 0B00000110; //una llanta gira hacia
    }  //delante y la otra  alreves gira mas rápido
    break;

    case 0xFF:    {      //giro izquierda
        PORTC= 0B0001001; //una llanta gira hacia
    }  //delante y la otra  alreves gira mas rápido
    break;
    case 0x05:    {  //giro derecha brazo grúa
        PORTC= 0B00010000;
    }
    case 0x05:    {  //giro izquierda brazo grúa
        PORTC= 0B00010000;
    }        break;

   }

 }
}

void config(){
  ANSEL=0;
  ANSELH=0;
  TRISB=0;
  TRISC=0;
  TRISA=1;
}
me podrían decir que esta mal intente usar ascII pero tampoco puede cual es la forma correcta, si tienen un código que prenda aunque sea un led me seria de mucha ayuda, en el case 0xFF SI FUNCIONA PERO CON CUALQUIER BOTÓN =( . PIENSO agregarle una pantalla lcd pero primero quiero lograr una conexion exitosa con lo del bluetooth, use el oscilador interno a 20 MHZ, RXD LO CONECTE CON TX del micro-controlador y TXD con RX, use puente h L293 D, lo cambie por LEDS porque no me funcionaba para ver que sucedía.
Estará bien mi código o tendrán uno de ejemplo solo quiero saber como usar la librería UART.

cualquier aporte es bien recibido de verdad agradecería mucho su ayuda que tengan buen día y disculpen mis faltas de ortografía. ...

Hola! la verdad no conozco las funciones de micro c pro for pic. particularmente te recomendaría usar el MPLABX IDE y el compilador xc8 o el c18 segun los requerimientos de tu microcontrolador. analizado tu codigo encuentro que tehace falta la linea:

default:
break;

para cerrar la estructura de tu switch. ahora viéndolo bien, tienes tu condicional muy mal armada, la estructura es la siguiente:

switch(variable){
case:
lo que vallas a hacer;
break;

case:
lo que vallas a hacer otra vez
break;

default:
lo que vallas a hacer si ninguna condicion es verdadera;
break;

}

corrige esto y cuéntame como te va!
05/01/2016 #112


muchas gracias por responder, ya le agregue el default pero sigue igual;
switch(uart_rd){ // uart_rd es la variable
case 0x02:{
PORTC= 0B00001010; //es lo que voy a hacer
} //es igual quue tener PORTC.B1=1 Y PORTC.B3=1 Y LOS DEMAS PINES APAGADOS
break;

case 0x04: { //avanzar hacia atras
PORTC= 0B00000101;
}
break;
case 0x05: { //giro derecha
PORTC= 0B00000110; //una llanta gira hacia
} //delante y la otra alreves gira mas rapido
break;

case 0xFF: { //giro izquierda
PORTC= 0B0001001; //una llanta gira hacia
} //delante y la otra alreves gira mas rapido
break;
case 0x06: { //giro derecha brazo grua
PORTC= 0B00010000;
}
case 0x07: { //giro izquierda brazo grua
PORTC= 0B00010000;
} break;
default { PORTC=0;
} break;
PERO SIGUE IGUAL NO FUNCIONA, ESPERO TU RESPUESTA Y GRACIAS DE VERDAD POR AYUDARME O TE REFIERES A QUE DEBO QUITAR LOS PARENTESIS? YA LO HICE PERO FUNCIONA IGUAL.
05/01/2016 #113

Avatar de christian0123

El switch no lleva corchetes "} {" en cada case. Arriba te expliqué la estructura y los sigues poniendo no entiendo el por qué solo los lleva para abrir y cerrar el switch las instrucciones "case" solo van seguidas de dos puntos igual que el default quedando asi:

Switch (variable) {

Case:
Break;

Case:
Break ;

Default :
Break ;

}
05/01/2016 #114


ya se los quite pero sigue igual, lo que me interesa es como debo conectar el modo bluetooth a mikro c no sabes como es esa parte del código uart o tengo que hace para que funcione con mikro c? gracias por contestar christian0123.
05/01/2016 #115

Avatar de christian0123

La comunicacion entre el micro y el pic es simplemete uart debes configurar el modulo bluetooth para que su uart trabaje a los mismos baudios que tu pic. para configurarlo puedes usa el software que mas arriba compartí. sique el tutorial es muy facil, el tutorial lo puedes esncontra en youtube escribe en el buscador cvr electronic y listo.

otra cosa veo en u código que declaraste la variable como signed int ¿por que?, por que mejor no trabajas con variables que ocupen solo un bye como un char o algo asi? eso también debes tenerlo en cuenta. por lo general lo que hago para saber que está llegando si es que está llegando algo, es mandar el valor que envío a algún puerto y con unos leds verifico si me están llegando los datos correctamente, es lo que puedo recomendar.

asignale otro tipo a la variable y luego me cuentas a ver que pasa!
05/01/2016 #116
Moderador

Avatar de D@rkbytes

No es obligatorio el uso de "Default" dentro de Switch.
Se usa principalmente para asignar otro parámetro o acción cuando se ingresa un valor no incluido en la sentencia.
Y tampoco es necesario poner un "Break" al final, porque es ahí precisamente cuando se sale de la sentencia y un "Break" ya queda de sobra.

Tienes los siguientes problemas dentro de tu código:
Recuerda siempre tener en cuenta los periféricos del puerto que usarás.
En el puerto C tienes el módulo EUSART y el pin Rx siempre debe ser entrada.
Si lo configuras todo como salidas, tendrás una contención lógica o colisión de datos.
Bajo ciertas circunstancias este conflicto puede dañar las partes conectadas, por corto circuito.
Así que debes tener cuidado en la configuración de los puertos con "TRISX"
En vez de "TRISC = 0;" debes poner "TRISC = 0b10000000;" o "TRISC = 0x80;"
Entonces ya no importará que uses los 8 bits del puerto C porque el pin Rx (Bit 7) será entrada y un 1 o un 0 sobre el pin Tx (Bit 6) no causará efecto, debido al protocolo RS-232.

También elimina la instrucción "PORTC = 0" al inicio del bucle "While"
Eso no permitirá una acción correcta de cambio de estado sobre los pines, porque inmediatamente de que un pin sea puesto en 1, al finalizar la sentencia será puesto nuevamente en 0, y así sucesivamente.

Suerte.
06/01/2016 #117


muchas gracias por la ayuda D@rkbytes, de verdad, hice otro programa ccs c compiler y en ese si me funciono pero a mi me piden que lo haga en mikro c hare los cambios y les dire como me va de verdad gracias por toda su ayuda
06/01/2016 #118


YA LO CORREGI Y NADA SIGUE IGUAL =( SOLO ME PRENDE EL CASE 0XFF SI LE MANDO UNA SEÑAL DE HEXA COMO 0X02,0X06,Y MUCHAS MAS Y SE DETIENE SI MANDO UN 0 O 0X05, 0X08. LOS QUE EN BINARIO SON MAS COMPLEJOS SON CON LOS QUE PRENDE OSEA CON MAS UNOS Y CON MENOR COMPLEJIDAD SE APAGA ME LO CUENTA COMO SI FUERA UN 0.

unsigned char uart_rd;
void config();
void main(){
config();

UART1_Init(9600);
delay_ms(100);

while(1){
if (UART1_Data_Ready()) { // Si el dato se ha recibido,
uart_rd=UART1_Read(); // lea el dato recibido y guardar
}
switch(uart_rd){

case 0x02:PORTC= 0B00001010; //avanzar hacia adelante
break;
case 0x04:PORTC= 0B00000101; //avanzar hacia atras
break;
case 0x05:PORTC= 0B00000110; //giro derecha
break;
case 0x07:PORTC= 0B00001000; //giro derecha brazo grua
break;
case 0xFF:PORTC= 0B00000111; //giro izquierda brazo grua
break;
default: PORTC=0;
break;
}
}
}
void config(){
ANSEL=0;
ANSELH=0;
TRISB=0;
TRISC=0B10000000;
TRISA=0;
}
SERA MEJOR MANEJAR ASCII? PERO EN LA FUNCION SWITCH EN LOS CASOS COMO LOS ASIGNO PARA USAR EL CODIGO ASCII, CREI QUE ERA ASI CASE:"A"; PERO ME MARCA ERROR EL COMPILADOR Y SI LE HAGO ASI CASe:'A'; NO LO TOMA EN CUENTA COMO ASCII COMO SERA MEJOR O CUAL SERA EL PROBLEMA EN EL PROGRAMA ACTUAL? DE ANTEMANO MUCHAS GRACIAS

o sera que tambien me genere un error por usar todo el portc en los case

case 0x07:PORTC= 0B00001000; //giro derecha brazo grua
break;

y les dejo el codigo de ccs el cual si funciona y para cualquier persona que le sirva o lo necesite para que vean que el modulo bluetooth esta bien el poblema es mi programa en mikro C.
Archivos Adjuntos
Tipo de Archivo: rar VERSION BLUETOOTG CCS C.rar (23,9 KB (Kilobytes), 18 visitas)
06/01/2016 #119


Ya lo logre amigos de verdad muchas gracias; asi me quedo el código lo cambie a 4 mhz,

unsigned char uart_rd;
void config();
void main(){
config();
uart1_init(9600);
delay_ms(100);

while(1){
if (uart1_data_ready()) { // si el dato se ha recibido,
uart_rd=uart1_read(); // lea el dato recibido y guardar
}
switch(uart_rd){

case 0x02:porta= 0b00001010; //avanzar hacia adelante
break;
case 0x08:porta= 0b00000101; //avanzar hacia atras
break;
case 0x06:porta= 0b00000110; //giro derecha
break;
case 0x04:porta= 0b00001001; //giro izquierda
break;
case 0x10:porta= 0b00100001; //giro derecha brazo grua
break;
case 0x0e:porta= 0b00010001; //giro izquierda brazo grua
break;
default: Porta=0;
break;
}
}
}
void config(){
ansel=0;
anselh=0;
trisb=0;
trisa=0;
}
cuando termine les subo el código y unas fotos del proyecto, gracias por su apoyo
15/03/2016 #120


Virtual terminal
buenas amigos, estoy aprendiendo a manejar el virtual terminal con el pic 16f877a, conecte el tx del modulo al rx del pic y rx al tx del pic respectivamente como debe ser, hice el programa para que encendiera y apagara un led con valores de 100 para encender y 200 para apagarlo, pero al momento de simularlo en proteus no hace nada el led, copio los valores en la ventana del virtual terminal pero no hace nada, no se si sera un error del simulador o tengo mala la programacion... mas abajo dejo el programa para que me digan si algo esta mal, si me pueden ayudar es para un proyecto de la universidad y se trata sobre domotica

el programa lo realice en proton ide
Device 16F877A
Xtal = 20
All_Digital = True
CMCON=7
TRISA=%00000000
TRISB=%00000010
Declare Hserial_Baud = 9600

Dim LED As Byte
DelayMS 100
Low PORTB.0

Lazo:
HSerIn 50,Lazo,[Dec LED]

If LED = 100 Then
PORTB.7 = 1
end if
if LED = 200 Then
PORTB.7 = 0
EndIf

GoTo Lazo

EnD
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Telemática y Comunicaciones

Todo lo relacionado con los Sistemas de Telecomunicación, la Transmisión de Datos y las Redes de Computadores.

Cerrar
Foros de Electrónica » Temas de Interés » Telemática y Comunicaciones

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.