Problème de configuration Module Bluetooth v2.2 Itead

Bonjour à tous,
Je débute en Arduino dans le cadre de mon projet de bac de SI. J'ai déjà pu mesurer un peu les possibilités qu'offre cette carte :slight_smile:

Mon objectif est de pouvoir contrôler 2 servomoteurs avec mon portable Android en passant par Arduino. Du coup, j'ai acheté une shield Bluetooth de Itead Studio (http://www.robotshop.com/media/files/pdf/rb-ite-12-datasheet.pdf).

Le problème, c'est qu'en essayant de le configurer avec les commandes AT de la doc technique, via le moniteur série, je n'obtiens en réponse qu'une série de caractères bizarres du genre "x x xþ"
J'ai essayé tous les bauds rate possible, ça n'a rien changé (enfin si, c'était pas les mêmes caractères mais c'était toujours aussi random ^^).

Voila le code que j'ai utilisé :

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(0, 1); // RX | TX

void setup()
{
  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());
}

Si quelqu'un a une suggestion, qu'il n'hésite pas ! Merci d'avance :slight_smile:

Rebonjour,
Je me permet de remonter le thread... Pour précision j'ai une UNO, et le module est connecté avec le RX sur D0 et TX sur D1 comme indiqué sur la figure 4 de la doc (lien dans mon précédent post) :wink:

Warthogue:
Rebonjour,
Je me permet de remonter le thread... Pour précision j'ai une UNO, et le module est connecté avec le RX sur D4 et TX sur D1 comme indiqué sur la figure 4 de la doc (lien dans mon précédent post) :wink:

bonjour
il y a un probleme
tu initie software serial avec les pin 0 et 1 qui sont les pin utilisé par le serial hard sur uno pour donner les ordres,
ça ne peut donc pas fonctionner.

configure ton module pour que ce soit les pins 4 et 5 par exemple qui sorte du module et modifie le sketch en consequence.
Attention le TXD du module HC-05 doit aller sur le RX du software serial (idem pour RXD/TX)

SoftwareSerial BTSerial(4, 5); // RX | TX

Salut, merci pour ta réponse !
Effectivement j'avais pas pensé à ça ^^ je commence à comprendre un peu le fonctionnement du truc je crois...
Du coup en déclarant SoftwareSerial comme ceci, il faut que je connecte sur le module un jumper de TX à D4 et et l'autre de D5 à RX ? En faisant ça je n'ai toujours aucun retour sur le moniteur série... (le switch du module est bien sur CMD).

Je l'avais déjà pairé avec mon téléphone portable avant ça, ça pourrait venir de là ?

Warthogue:
Salut, merci pour ta réponse !
Effectivement j'avais pas pensé à ça ^^ je commence à comprendre un peu le fonctionnement du truc je crois...
Du coup en déclarant SoftwareSerial comme ceci, il faut que je connecte sur le module un jumper de TX à D4 et et l'autre de D5 à RX ? En faisant ça je n'ai toujours aucun retour sur le moniteur série... (le switch du module est bien sur CMD).

Je l'avais déjà pairé avec mon téléphone portable avant ça, ça pourrait venir de là ?

au pire si c'est une inversion (croisement TX/RX), essaye d'inverser (sur le uno) la connection
je n'ai pas de HC-05 (HC-06 pour moi) , mais il y a déjà eu des remontées "compliquées" sur le forum pour les HC-05

deconnecte le module BT de ton telephone (BT OFF)
pour les manips inspire toi de ce manuel pour le HC05
http://www.exp-tech.de/service/datasheet/HC-Serial-Bluetooth-Products.pdf

Ayé, problème résolu ! Déjà ça marche mieux en inversant TX et RX en effet ^^
Et ensuite, pour une raison qui m'échappe, le module ne prend les commandes AT que via un BTSerial.println("AT+commande") dans le code, et pas si on les tape directement dans le moniteur série.

Merci de ton aide ! :slight_smile:

Warthogue:
Ayé, problème résolu ! Déjà ça marche mieux en inversant TX et RX en effet ^^
Et ensuite, pour une raison qui m'échappe, le module ne prend les commandes AT que via un BTSerial.println("AT+commande") dans le code, et pas si on les tape directement dans le moniteur série.

Merci de ton aide ! :slight_smile:

OK
bon déjà "si ça cause dans le poste" , ça (en)leve pas mal de questions :grin:
pour le reste , à suivre ... plus tard (pour moi)

Effectivement ! ^^ J'ai pu configurer le baud rate du module du coup, et faire le TestEvent de la bibliothèque Amarino avec mon portable, ça marche ! C'est un bon début :grin:

Warthogue:
Ayé, problème résolu ! Déjà ça marche mieux en inversant TX et RX en effet ^^
Et ensuite, pour une raison qui m'échappe, le module ne prend les commandes AT que via un BTSerial.println("AT+commande") dans le code, et pas si on les tape directement dans le moniteur série.

Merci de ton aide ! :slight_smile:

de memoire, il y a une difference de terminaison entre les commandes AT selon si c'est un HC05 ou un HC06

si tu utilise le monitor de l'IDE arduino essaye en parametrant la fin de ligne avec CRLF (à coté du choix de la vitesse)

Please pay attention to that the command of HC-04/HC-06 doesn’t have terminator. For
example, consider the call command, sending out AT is already enough, need not add the CRLF
(carriage return line feed).

Bonjour à toi,

J'ai exactement le même problème que toi et j'aimerais savoir si c'est possible que tu m'envoie le code qui marche car je ne sais pas où placer le BTSerial.println("AT+commande").

Merci d'avance