Bluetooth HC06 et arduino pro micro

Bonjour!

J'ai acheté un hc 06 et j'aimerais le faire fonctionner avec un arduino pro micro (équipé du Atmega 32u4).

J'ai beau chercher je n'arrive pas à faire fonctionner le code pour paramétrer l'HC 06 (un exemple sur ce site Votre Arduino communique avec le module HC-06 • AranaCorp)

J'ai lu qu'avec un pro micro il n'était pas nécessaire d'utiliser software serial. Et que le Rx du arduino correspond au 0 et le Tx au 1, je me demande si ce n"est pas au moment de déclarer les pins sur lesquels est branché l'HC 06 que je me trompe.

J'ai aussi vu qu'il fallait débrancher le Rx pendant un upload de sketch.

Mon code est identique à celui du site que j'ai mis en lien, a part que je déclare l'HC 06 sur les pins 0 et 1. Ici j'utilise software serial bien qu'apparemment ca ne soit pas nécessaire, mais ca ne fonctionne pas et je ne trouve pas comment faire sans.

#include <SoftwareSerial.h>

SoftwareSerial hc06(0,1);

void setup(){
  //Initialize Serial Monitor
  Serial.begin(9600);
  Serial.println("ENTER AT Commands:");
  //Initialize Bluetooth Serial Port
  hc06.begin(9600);
}

void loop(){
  //Write data from HC06 to Serial Monitor
  if (hc06.available()){
    Serial.write(hc06.read());
  }
  
  //Write from Serial Monitor to HC06
  if (Serial.available()){
    hc06.write(Serial.read());
  }  
}

Merci d'avance à ceux qui prendront le temps d'essayer de m'aider

faut passer par software Serial car vous n'avez qu'un seul port série. Je ne sais pas où vous avez lu le contraire...

comme les pin 0 et 1 sont connectées au port USB

USB        [color=blue]Arduino[/color]        HC06
 Rx --------- [color=blue]Tx[/color] --------- Rx

 Tx --------- [color=blue]Rx[/color] --------- Tx

Si Tx côté USB est à HIGH et Tx côté HC06 est à LOW c'est pas top...

Merci pour votre réponse mais du coup pour mon code en tant que tel il devrait fonctionner ? car je ne vois vraiment plus quoi modifier.

SoftwareSerial hc06(0,1); vous mettez le software Serial sur les pin Série matérielles.... faut le mettre ailleurs en 2 et 3 par exemple

Bonjour,
Il faut justement utiliser d'autre pin que la 0 et 1, par exemple, 5 et 6 et modifier le ligne de déclaration softwareserial avec 5 et 6.
Soit :

SoftwareSerial hc06(5,6);

A noter : J'ai eu des problèmes avec des modules HC qui avaient des vitesse de com réglées à 19200...

Essais avec softwareserial câblé et paramétré correctement avant toute chose.
Pierre

Grille par J.M.L...

Merci pour vos réponses, j'ai maintenant compris que je peux utiliser d'autres pins pour mon montage, mais j'avais déjà fait marcher un hc06 avec le même arduino (il y a 2 ans, j'ai perdu le code

Donc je ne comprends pas pourquoi je ne peux pas utiliser les pins rx et tx? Car ça a déjà fonctionné auparavant.

Merci beaucoup si vous pouvez m'éclairer

Re bonsoir ! tout fonctionne ! Merci beaucoup !

Pour le paramétrage, du moins à l'aide du programme que tu utilises, deux ports séries sont utilisés : le premier en hard ( broche 0 et 1) pour la liaison avec le pc et le deuxième en soft pour la liaison avec le HCxx.

Quand le HCxx sera paramétré, tu pourras â nouveau utiliser le port hard pour ton HC sans oublier de débrancher le TX du HCxx avant toute tentative de transfert de programme. ..

Personnellement, je débranche complètement le HCxx avant transfert, mais bon, ce n'est pas obligatoire .je préfère aussi utiliser un convertisseur USB série et le logiciel termite pour paramétrer mes HCxx.

Pierr

Merci beaucoup je comprends mieux ! Je passe le post en résolu merci à tous. (désolé je nai pas réussi à le passer résolu haha)

Il faut que tu changes le titre de ton premier post.