[SOLUCIONADO]Problema HC-06 y puertos COM
buenas todos, me esta surgiendo un problema con el modulo de bluetooth hc-06. la cuestión es que no consigo conectarme siempre mediante putty y me indica que no es posible conectarse ese puerto com y que es imposible abrir el puerto serial. antes de nada, indicar que si que conseguido conectarme varias veces, pero la cosa es que ahora me es imposible, probado reiniciar el modulo bluetooth en el arduino, volver subir el skecht, reiniciar el ordenador, cambiar los puertos com los que se conecta, quitar el dispositivo de windows y volver agregarlo, deshabilitar el antivirus y supongo que algo mas.
también intentado conectarme desde matlab y me pasa mas o menos lo mismo, me indica que el puerto com esta siendo usado y no es posible conectarse, lo que revisando las conexiones abiertas desde el propio matlab (mediante la herramienta tmtools) no hay nada conectado, aunque si que me detecta el puerto com del bluetooth y de arduino.
revisando los puertos com usados en mediante el administrador de dispositivos, solo veo que se usen 3, 1 del arduino y los otros 2 del bluetooth.
decir que estoy usando un arduino due, conectando la alimentación de 5v vcc y el serial3 cruzado con el serial del bluetooth
os dejo los códigos que usado por si veis que se me olvide algo
un saludo y gracias por la ayuda
código de configuración del modulo bluetooth
código en matlab
también intentado conectarme desde matlab y me pasa mas o menos lo mismo, me indica que el puerto com esta siendo usado y no es posible conectarse, lo que revisando las conexiones abiertas desde el propio matlab (mediante la herramienta tmtools) no hay nada conectado, aunque si que me detecta el puerto com del bluetooth y de arduino.
revisando los puertos com usados en mediante el administrador de dispositivos, solo veo que se usen 3, 1 del arduino y los otros 2 del bluetooth.
decir que estoy usando un arduino due, conectando la alimentación de 5v vcc y el serial3 cruzado con el serial del bluetooth
os dejo los códigos que usado por si veis que se me olvide algo
un saludo y gracias por la ayuda
código de configuración del modulo bluetooth
code: [select]
void setup() {
serial.begin(38400);
// comandos de configuracion del hc06
serial3.begin(38400);
serial3.print("at");
delay(1000);
serial3.print("at+namehc-06");
delay(1000);
serial3.print("at+pin0000");
delay(1000);
serial3.print("at+baud6");
delay(1000);
}
void loop(){
if(serial3.available()) // si llega un dato por el puerto serial3 se envía al monitor serial
{
serial.write(serial3.read());
}
if(serial.available()) // si llega un dato por el monitor serial se envía al puerto serial3
{
serial3.write(serial.read());
}
}
prueba de transmisión/recepción
código de arduino
code: [select]
/*
*
* codigo para pruebas un hc-06
*
*/
int a1 = 11;
int a2 = 21;
int val = 0;
int cont = 0;
void setup() {
serial.begin(38400);
// comandos de configuracion del hc06
serial3.begin(38400);
delay(500);
}
void loop(){
// pruebas de transmision
if( serial3.available() > 0 ) { // si llega un dato por el monitor serial se envía al puerto serial3
val = serial3.read();
serial.println(val);
if(val == 10) {
serial3.println(a1);
}
else if (val == 20) {
serial3.println(a2);
}
cont = 0;
}
else {
cont++;
serial3.println(cont);
serial.println(cont);
}
if (cont%100 == 0){
serial.println("nada que informar");
cont++;
}
delay(2000);
}
código en matlab
code: [select]
%% codigo de prueba para lectura %%
close all;clear all; clc;
% inicializo el puerto serial que usare
delete( instrfind({'port'},{'com5'} ));
puerto_serial = serial('com5');
puerto_serial.baudrate = 38400;
puerto_serial.databits = 8;
puerto_serial.stopbits = 1;
puerto_serial.terminator = 'cr/lf';
puerto_serial.parity = 'none';
%puerto_serial.flowcontrol =
warning('off','matlab:serial:fscanf:unsuccessfulread');
disp('abriendo puerto serial');
% abro el puerto serial
fopen(puerto_serial);
disp('puerto serial abierto');
pause(5);
cont = 1;
y = zeros(4,1);
% leo datos
disp('leo datos');
while cont < 20
valor = fscanf(puerto_serial,'%d/n',1)';
disp(valor);
y(cont) = valor;
cont=cont+1;
end
% cierro el puerto serial y borro la conexion
fclose(puerto_serial);
delete(puerto_serial);
aunque el problema no este solucionado, dejo esto por aquí por si alguien le pasa lo mismo. el principal problema que encontrado es que cuando ejecuto mi código en matlab, me bloquea el puerto com y ni con el putty ni matlab consigo desbloquearlo, pese que borro la conexión en matlab. así que mi única opción es reiniciar, pasar de matlab y usar el putty.
un saludo
un saludo
Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > [SOLUCIONADO]Problema HC-06 y puertos COM
arduino
Comments
Post a Comment