Tabla de contenido:

OldMan y Bluetooth2: 4 pasos
OldMan y Bluetooth2: 4 pasos

Video: OldMan y Bluetooth2: 4 pasos

Video: OldMan y Bluetooth2: 4 pasos
Video: Скидывай друзьям, пускай пользуются! #тюнинг #авто #машина 2024, Mes de julio
Anonim
OldMan y Bluetooth2
OldMan y Bluetooth2

Así que este Lazy Old Geek (L. O. G.) finalmente consiguió un módulo Bluetooth HC05 de AliExpress.com. Ordené uno después de escribir este Instructable:

www.instructables.com/id/OldMan-and-Blueto…

Bueno, pasé varias horas tratando de que esto funcionara en modo comando sin éxito. Incluso destruí un módulo HC05 (probablemente aplicando voltajes incorrectos), así que tuve que comprar otro.

SUGERENCIA: El modo de comando está hablando con el módulo HC05 o HC06 en sí. El modo de comunicación está hablando con otro dispositivo Bluetooth.

Lo que encontré son muchas diferencias entre HC05 y HC06. El HC05 puede ser maestro o esclavo, el HC06 solo es esclavo. Básicamente, un maestro puede hablar con un esclavo, dos esclavos no pueden hablar entre sí. El HC05 y el HC06 tienen diferentes comandos. El HC05 debe estar configurado por hardware para pasar al modo de comando, puede tener diferentes velocidades en baudios para el modo de comunicación y de comando.

El HC06 siempre está en modo de comunicación y comando. Configurar la velocidad en baudios de uno cambiará el otro.

SUGERENCIA: Mantenga un registro de esto, ya que yo no lo hice y tuve algunos problemas.

SUGERENCIA: Los diferentes HC05 y HC06 pueden ser diferentes de los que obtuve.

El HCO6 ejecutará comandos, pero no siempre muestra cambios en los resultados, p. Ej. cambio de nombre.

Paso 1: Evaluación / modificación

Evaluación / modificación
Evaluación / modificación
Evaluación / modificación
Evaluación / modificación
Evaluación / modificación
Evaluación / modificación

Se adjunta un esquema de HC05 similar al mío. Dos diferencias que conozco son que hay una resistencia de 2.2K entre PIO11 (34) y el pin EN y el regulador de 3.3v es un paquete de 3 pines y no tiene un pin CE. La imagen adjunta es un esquema marcado de lo que creo que tengo.

Para propósitos de programación, lo importante es que el pin 34 Key esté conectado al pin EN a través de una resistencia de 2.2K. (También está conectado al botón pulsador, el otro lado está conectado a 3.3V)

El HC05 de serie requiere una potencia de 5V, aunque funciona con señales de 3.3V, así que modifiqué mi HCO5 para usar 3.3V en su lugar. Quité el regulador de 3.3V y pasé un puente desde el pin VCC directamente a 3.3V. Esto se muestra en el esquema modificado y en mi imagen HC05 modificada.

Por cierto, el HC05 Command Set.pdf adjunto tiene información valiosa sobre el uso del HC05. Desafortunadamente, no es muy fácil de usar.

Paso 2: Programación del HC05

Programación del HC05
Programación del HC05
Programación del HC05
Programación del HC05

Decidí que la forma más fácil de usar el HC05 era conectarlo a uno de mis adaptadores seriales CP2102 3.3V como lo hice en Old Man And Bluetooth Instructable con un HC06. Ver imagen y esquema.

CONSEJO IMPORTANTE: Para encender el HC05 en modo de comando, el pin PIO11 (34) debe estar alto antes de aplicar 3.3V. El pin EN de mi HC05 está conectado a PIO11 a través de una resistencia de 2.2K, por lo que solo necesita estar conectado a 3.3V. El esquema muestra esto como los pines del programa, pero simplemente coloque un puente de 3.3V al pin EN. Asegúrese de hacer esto antes de aplicar energía. En el mío, puedes saber si estás en modo de comando porque el LED del HC05 parpadeará lentamente. Si parpadea rápidamente, significa que está en modo de sincronización y debe intentarlo de nuevo.

SUGERENCIA: El HC05 en el modo de comando siempre habla a una velocidad de 38400 baudios. Todos los comandos están en mayúscula y deben ir seguidos de CR y LF. (Esto es diferente al HC06)

SUGERENCIA: El formato de comando es muy estricto. Utilice siempre gorras. Todos comienzan con "AT" Sígalos exactamente, no puede agregar espacios donde no se muestran.

Inicie Arduino. Vaya a “Herramientas” “Puerto” y seleccione el puerto Com al que está conectado el CP2102.

Abra el Monitor en serie. Hacia la parte inferior de esa ventana, seleccione "Tanto NL como CR" y "38400 baudios". (NL significa New Line, que es lo mismo que LF, que es Line Feed).

Hacia la parte superior, hay un cuadro al lado del botón Enviar, haga clic en él.

En su PC, active el bloqueo de mayúsculas

Tipo AT

La ventana grande debería mostrar "OK".

Te estás comunicando en modo comando

Algunos comandos que funcionan en los míos

A

EN + RESET

EN VERSIÓN +?

EN + NOMBRE?

AT + DIRECCIÓN? DIRECCIÓN: 98D3: 31: F5CB41

AT + NAME = BT1 Esto cambia el nombre a BT1

EN + PAPEL? 0 = esclavo 1 = maestro

Paso 3: HC06 revisado

HC06 revisado
HC06 revisado

Una de las principales diferencias entre el HC05 y el HC06 es que el HC05 puede ser maestro o esclavo, mientras que el HC06 es solo esclavo. Eso significa que puede hablar entre un HC05 y un HC06. Sin embargo, existen muchas otras diferencias.

Si bien podría haber usado un Arduino para configurar mi HC06, elegí usar un CP2102 de 3.3v. Ver imagen

Conexiones

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Esto es básicamente lo mismo que el HC05, excepto que mi HC06 solo tiene cuatro pines.

Mi CP2102 está modificado para suministrar 3,3 V

Mi HC06 está modificado para aceptar 3,3 V

El USB CP2102 está conectado a mi PC. En mi PC estoy usando el IDE de Arduino.

Seleccione el "Puerto" correcto y abra el Monitor en serie.

En mi HC06, el LED rojo parpadea rápidamente, lo que indica que está listo para emparejarse pero que también puede recibir comandos.

Parte de esta información provino de Martyn Currey:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

Entonces, cada tipo de HC06 puede ser diferente, el mío devuelve la VERSIÓN linvorV1.5

Para mi HC06 (y probablemente todos ellos), no existe un procedimiento especial para ponerlo en modo comando. Aparentemente, si no está emparejado, siempre puede enviar comandos a través del puerto serie.

SUGERENCIA: no puede enviar comandos a ningún módulo Bluetooth (que yo sepa) a través de Bluetooth.

Abra el monitor serial

Haga clic en el primer cuadro en la parte inferior de Serial Monitor y establezca "sin final de línea"

Inicialmente, mi velocidad en baudios era de 9600 baudios.

En su PC, active el Bloqueo de mayúsculas

En la caja superior escriba AT

Escribe Enter o toca el botón "Enviar"

La pantalla debería mostrar OK

SUGERENCIA: Si no obtiene una aprobación, podría deberse a que la velocidad en baudios se modificó o es diferente. Puede probar varios, hasta que, con suerte, encuentre el correcto.

NOTA: Al enviar varios comandos, los datos de respuesta no pasan a la siguiente línea. Hacia la parte inferior, puede hacer clic en Borrar salida.

Comandos que funcionan para mí:

Respuesta de comando

AT + VERSIÓN OKlinvorV1.5

AT + NAMEFred devuelveOKsetname

(No le dice el nombre, pero si está conectado por Bluetooth, aparecerá).

NOTA: si cambia el nombre, el nombre anterior se mostrará en su teléfono inteligente hasta que se desacople y vuelva a emparejar.

AT + PINxxx No lo he probado. El valor predeterminado es 1234

AT + BAUD8 Cambia la velocidad en baudios a 115200

La respuesta es la velocidad en baudios, p. Ej. 115200

(Después de cambiar la velocidad en baudios, debe cambiar la velocidad en baudios del monitor serial a 115200 para enviar más comandos.

Opciones de velocidad en baudios

1 1200

2 2400

3 4800

4 9600 (predeterminado)

5 19200

6 38400

7 57600

8 115200

9 230400

A 460800

B 921600

C 1382400

NOTA: No he probado más de 8 115200. He oído hablar de personas que intentan tasas más altas con malos resultados.

Los otros comandos que se supone que funcionan pero no probados:

AT + PN sin verificación de paridad (predeterminado)

AT + PO control de paridad impar

AT + PE control de paridad uniforme

IMPORTANTE: En este punto, le sugiero que elija un nombre único y lo coloque. También le sugiero que decida la velocidad en baudios a la que desea comunicarse, lo coloque y marque su HC06 con él.

Paso 4: Configuración de HC05 a HC06

Ok, este Instructable fue de gran ayuda para mí:

www.instructables.com/id/How-to-Configure-…

Mi configuración:

Dirección de búsqueda de SLAVE

HC06 con CP2102 (automáticamente en modo comando)

Conecte el cable USB CP2102 para alimentar el HC06.

El LED del HC06 debe parpadear rápidamente (modo de emparejamiento).

En su teléfono inteligente, abra la configuración

Ir a Bluetooth

Buscar nuevo dispositivo

Si ve algo como HC06 o el nombre que le dio, seleccione esto.

Lo más probable es que veas una serie de números como 00: 12: 09: 27: 19: 13, eso es probablemente.

Anote esta dirección. (El número es su dirección única)

Seleccionarlo

Cuando se le solicite un PIN, escriba 1234.

Debería mostrarse el nombre.

Si aún no tiene la dirección, en "Dispositivos conectados anteriormente" Seleccione el nombre.

Haga clic en Información, se debe mostrar la dirección. Escríbelo.

Si no aparece, salga de la configuración y abra la aplicación Bluetooth Terminal HC-05.

En Dispositivos emparejados, busque el nombre, la dirección debe estar debajo, anótelo.

Configuración esclava

Si el LED del HC06 no parpadea, apague y encienda la unidad para que vuelva al modo de emparejamiento.

Iniciar Arduino

En "Herramientas" "Puerto", seleccione el puerto COM correcto

Monitor serial abierto

En la parte inferior de esta ventana

Seleccione "Sin final de línea" y "9600 baudios"

MAESTRO

HC05 con CP2102 configurado en modo comando (EN puenteado alto)

Conecte el cable USB de CP2102 a la PC

Descubrí que puedo abrir dos Arduinos

En el segundo Arduino, seleccione el puerto Com correcto para HC05

Monitor serial abierto

En la parte inferior de la ventana

Seleccione "Ambos NL&CR" y "38400 baudios"

Lo siguiente es del Instructable anterior

Configuración maestra

Los comandos AT necesarios para establecer la configuración:

COMANDO RESPUESTA Qué hace

AT + ROLE = 1 OK Establecer HC05 como maestro

AT + CMODE = 1 OK Conectarse a una dirección específica

NOTA: La dirección HC06 probablemente tenga el siguiente formato: 00: 12: 09: 27: 19: 13

El comando BIND espera este 0012, 09, 27193 (saca los dos puntos, toma los primeros cuatro números, luego la coma, los siguientes dos números, luego la coma, luego los últimos seis números)

AT + BIND = 0012, 09, 271913 OK Conecta / enlaza con HC06

(Por cierto, AT + BIND? Responde con + BIND: 12: 9: 271913)

(Quiere que la velocidad de comunicación del HC05 sea la misma que la del HC06) por ejemplo:

AT + UART = 115200, 0, 0 OK Velocidad en baudios 115200 (1 bit de parada, sin paridad)

Para probar las comunicaciones:

Retire el puente HC05 EN, reinicie y encienda.

Cuando los dos están conectados, el LED del HC05 parpadeará dos veces cada pocos segundos, el LED del HC06 permanecerá encendido de forma continua.

Configure ambos puertos com a la misma velocidad en baudios (lo que sea que configure)

Establecer ambos en "Ambos NL&CR"

Escriba algo en Serial Monitor1, Serial Monitor2 debería mostrarlo.

Escriba algo en Serial Monitor2, Serial Monitor1 debería mostrarlo.

Felicitaciones, se está comunicando a través de Bluetooth

Ahora el Instructable anterior tiene algunos bocetos sobre cómo usar los módulos con Arduino. Para este Instructable, no profundizaré en esto.

Recomendado: