Bonjour,
étant sur un projet, j'ai comme objectif de communiquer avec un terminal Android via Bluetooth. J'ai donc utilisé le module HC-05, et j'ai également suivi un tutoriel sur Youtube.
Voici le code utilisé :
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup()
{
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed in AT command more
}
void loop()
{
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available())
Serial.write(BTSerial.read());
// Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available())
BTSerial.write(Serial.read());
}
J'aimerais bien accéder aux AT commands, mais lorsque je rentre dans le moniteur série apès avoir téléverser le programme en question, et lorsque je tape une commande AT (simplement AT par exemple, rien ne se passe).
Je suis bien évidemment sur 9600 bauds,avec comme ligne de fin NL et CR.
Pour le côté cablage, TX est relié à la PIN 10, RX à la PIN 11, VCC au 5V, GND au GND et pour finir, EN à la pin 9.
Avant d'alimenter ma carte Arduino Uno, j'appuis sur le bouton de mon HC-05 pour rentrer en mode configuration.
Je ne comprends vraiment pas pourquoi je ne peux pas rentrer les AT Commands..
On dirait que vous avez un HC-05 ZS-040 (avec le bouton). jetez un oeil sur ce post (vous avez mis un pont de résistance pour abaisser la tension? )
en gros c'est bien de mettre la pin 34 (connectée à EN normalement) à 3.3V pendant que vous balancez des commandes AT si vous voulez le jeu complet.. ( avec un UNO un HIGH est à 5V, vous avez potentiellement grillé votre HC-05 s'il ne supporte pas 5V sur cette pin)
(et passez Serial à 115200, pas besoin d'aller lentement sur la communication avec votre PC)
J'ai le même problème : j'ai brancher un HC-06 à une arduino nano et pas de réponse sur le port série lors de l'envoie de "AT".
comment savoir si vous avez le même problème? vous avez le même symptôme, c'est que ça ne fonctionne pas... mais on ne sait pas quel code, quelles connexions, quelle alimentation etc...
Alimentation en 5V sauf Rx en 3,3V, je n'ai pas brancher la PIN EN, sur une Nano donc pin : Rx en 0 et Tx en 1 et pour le code :
#include <SoftwareSerial.h>
SoftwareSerial hc06(0,1);
void setup()
{
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(9600);
Serial.println("Enter AT commands:");
hc06.begin(9600); // HC-05 default speed in AT command more
}
void loop()
{
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (hc06.available())
Serial.write(hc06.read());
// Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available())
hc06.write(Serial.read());
}
Comment ca changer de PIN sur une Nano il n'y a qu'une connexion UART Tx/Rx et c'est les pin 1 et 0 ?
J'ai abaisser ma tension avec un pont diviseur de tension avec deux résistance. Rx Hc-06 à Tx Arduino en 3,3V.
#include <SoftwareSerial.h>
SoftwareSerial hc06(4,5);
void setup()
{
Serial.begin(115200);
Serial.println("Enter AT commands:");
hc06.begin(115200); // HC-05 default speed in AT command more
}
void loop()
{
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (hc06.available())
Serial.write(hc06.read());
// Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available())
hc06.write(Serial.read());
}
J'ai mis ci-joint la photo de mon branchement. Je prend le 5V sur la nano qui est brancher en USB à mon ordi. Les résistances : 1 de 1KOhm et 1 de 2,2KOhm.
vous dites hc06.begin(115200); // HC-05 default speed in AT command more
115200 c'est trop pour Software Serial, ce ne sera pas super stable si votre code est un peu lourd. de plus il me semble que par défaut c'est 38400 bps
Oui le câble mini USB est brancher de l'arduino à mon ordinateur et du coup c'est l'ordi qui fourni le 5V et donc je n'ai pas d'alimentation externe qui pourrais alimenter l'arduino ou le HC-06.
On dirait que vous avez un HC-05 ZS-040 (avec le bouton). jetez un oeil sur ce post (vous avez mis un pont de résistance pour abaisser la tension? )
en gros c'est bien de mettre la pin 34 (connectée à EN normalement) à 3.3V pendant que vous balancez des commandes AT si vous voulez le jeu complet.. ( avec un UNO un HIGH est à 5V, vous avez potentiellement grillé votre HC-05 s'il ne supporte pas 5V sur cette pin)
(et passez Serial à 115200, pas besoin d'aller lentement sur la communication avec votre PC)
Bonjour et merci pour votre réponse !
Je viens d'essayer sans connecter EN, je me retrouve avec le même résultat.
C'est effectivement un ZS-040. Et non, j'ai seulement réalisé les câblages cités dans mon sujet : pensez-vous que le pont diviseur est nécessaire? Je ne pense pas que le HC-05 soit grillé, étant donné que sa LED s'allume et que j'arrive à me connecter en Bluetooth avec une tablette Android. Je n'arrive simplement pas à rentrer les commandes AT.
Même avec un Serial à 115200, j'ai toujours le même problème..
Kevin84:
Bonjour et merci pour votre réponse !
Je viens d'essayer sans connecter EN, je me retrouve avec le même résultat.
C'est effectivement un ZS-040. Et non, j'ai seulement réalisé les câblages cités dans mon sujet : pensez-vous que le pont diviseur est nécessaire? Je ne pense pas que le HC-05 soit grillé, étant donné que sa LED s'allume et que j'arrive à me connecter en Bluetooth avec une tablette Android. Je n'arrive simplement pas à rentrer les commandes AT.
Même avec un Serial à 115200, j'ai toujours le même problème..
bonjour
bien lire dans ce doc
les differences entre hC05 HC06
regarde la section AT command test