Bonjour, j'ai très récemment acheté un module Bluetooth HC-05, et je n'arrive pas à le faire fonctionner.
J'ai l'impression d'avoir fait tout les tutos possibles, entre l'école "diviseurs de tension" l'école "débrancher le TX et RX lors du téleversement", je suis totalement perdu et je crains que, à force de maneuvres hasardeuses, je ne l'ai grillé. Quelqu'un pourrait t-il m'expliquer de A à Z comment faire pour le mettre en place. J'ai une fois réussi à le connecter à mon smartphone mais quelque soit ce que j'essaie d'envoyer, il recevait toujours la même chose.
Carte Arduino: Uno
Version de logiciel arduino: 1.8.2
vicllo:
...J'ai une fois réussi à le connecter à mon smartphone
Bonsoir
Ton HC05 seulement alimenté est il visible/detecté dans les peripheriques bluetooth d'un autre equipement (telephone,tablette,PC , autres)
Oui, avec mon smartphone (extérieur au HC-05) et sur mon mac (avec qui j'alimente l'HC-05)
commence déjà par le configurer via le ftdi
envoi lui 3v3 sur la broche key avant de l alimenté il démarrera en mode at ( la led devrait clignoter lentement)
puis tu lui le configure d origine regarde les commande at tu a une commande reset pour ça
vicllo:
Bonjour, j'ai très récemment acheté un module Bluetooth HC-05, et je n'arrive pas à le faire fonctionner.
J'ai l'impression d'avoir fait tout les tutos possibles, entre l'école "diviseurs de tension" l'école "débrancher le TX et RX lors du téleversement"
Bonjour,
Il n'y a pas d'école "diviseur de tension" et d'école "débrancher tx/rx"
- Il faut un diviseur de tension sur la pin rx du hc-05
- Il ne faut pas utiliser tx/rx avec Serial (car ça crée de nombreuses contraintes, dont le fait de ne pas pouvoir faire de trace sur le moniteur série), mais utiliser softwareSerial sur d'autres pins.
- Ensuite tu charges un programme tout simple comme celui ci
#include <SoftwareSerial.h>
SoftwareSerial hc05(6, 7); // (RX, TX)
void setup()
{
Serial.begin(9600);
Serial.println("begin");
hc05.begin(9600);
}
void loop()
{
if (hc05.available()) {
Serial.write(hc05.read());
}
if (Serial.available()) {
hc05.write(Serial.read());
}
}
Du coté PC tu lances le moniteur série
Du coté smartphone tu appaire le module et tu lance un terminal bluetooth
Ce que tu tapes sur le smartphone doit apparaître sur le moniteur série et inversement
Bonjour
comme bien exposé par moijerem
le HC-05 doit etre "mis en commande AT" par son pin key au reset déjà pour pouvoir discuter en "AT"
T'as un bon tuto ici : ESKIMON BT
Par contre à aucun moment il utilise Tx sur 3.3v, ça c'est bizarre !
Je viens de faire le test avec un HC-06 qui est uniquement esclave (et il n'y a pas de KEY donc je suppose qu'il est automatiquent en mode AT) et lorsque j'envoie juste "AT" (avec l'application Arduino Bluetooth Controller) il devrait me répondre "OK" mais à la place je reçois "xxøø"
Apparemment il m'aime bien mais ce n'est pas ce que j'attendais Et pourtant j'ai réglé le moniteur et la communication série à 38400 bauds.
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2,3); //Rx, TX (respectivement sur TxBT, RxBT à 3.3v)
void setup(){
Serial.begin(9600);
BTserial.begin(38400);
}
void loop(){
if(BTserial.available()) Serial.write(BTserial.read());
if(Serial.available()) BTserial.write(Serial.read());
}
EDIT:
En mettant le moniteur à 9600, le problème est réglé mais je reçois exactement ce que j'envoie, je suis donc en mode communication mais pas en AT... Comment faire sans la broche KEY? Il y a deux autres broches non connectées STATE et EN. Peut-être que EN veut dire Enable?
Mais bon, après tout ce n'est pas trop grave, ce qui compte c'est de pouvoir envoyer une chaine à l'Arduino et de l'interpréter à sa guise
Petit exemple de communication entre une application android et le module HC-06 : HC-06 & Android App
Pensez-vous que ce module puisse à son tour envoyer les données d'un capteur vers l'application ?
Bonsoir
attention à un point important
les HC05 demandent des terminateurs (CR/LF) en mode AT
les HC06 non
De toute façon mon HC06 ne semble pas fonctionner en AT, j'ai lu qu'il fallait connecter EN à la 34e patte du module, bizarre tout ça.. A part ça j'ai aussi réussi à envoyer des données vers l'application avec write().
Mais merci pour l'info, c'est très bon à savoir !
Wally06:
De toute façon mon HC06 ne semble pas fonctionner en AT, j'ai lu qu'il fallait connecter EN à la 34e patte du module, bizarre tout ça.. A part ça j'ai aussi réussi à envoyer des données vers l'application avec write().
Un HC06 est en mode AT (led clignotante) tant qu'il n'est pas connecté (led fixe)
une fois connecté le lien serie est etabli avec ton appli androÏd
Quand il est juste branché (aucune connexion bluetooth avec l'app) la LED clignote rapidement. Toutefois quand je tape des commandes AT dans le moniteur série, je n'ai aucune réponse.
Quand je le connecte en bluetooth à l'app la LED clignote 2 fois rapidement toutes les 5s environ et la communication est établie.