[ Arduino Annexe G ] Utiliser un module bluetooth HC-05 avec Arduino

Un fil USB pour communiquer c’est contraignant ! On est limité en distance et on ne peut pas mettre en boîte notre carte, une vraie laisse ! Heureusement, ce ne sont pas les solutions sans fil qui manquent ! Je vous propose dans cette annexe du tutoriel Arduino de découvrir, utiliser et paramétrer un module bluetooth qui coûte une poignée d’euros : le HC-05.

Le bluetooth et le module HC-05

Afin de bien débuter, voyons d’abord à quoi ressemble le bluetooth et découvrons de quoi est composé le nouveau module que nous allons utiliser.

Qu’est ce que le bluetooth ?

Le bluetooth est un protocole de communication sans fil. Il a vu le jour à la fin des années 1990 et n’a vraiment percé que dans les années 2000. Il a subi de nombreuses révisions et évolutions pour atteindre aujourd’hui la version 4.1 depuis la fin 2013.
À l’origine, la société Ericsson cherchait à développer un moyen d’utiliser une voie série sans passer par un fil. Petit à petit, ses utilisations se sont étendues pour atteindre ce que l’on connais aujourd’hui, un moyen de connecter sans fil de nombreux appareils, allant d’une Arduino et sa voie série à un ordinateur, ou pour utiliser un casque audio ou encore une manette de jeu sur une console de salon.

Rentrons un peu dans le détail. Ce protocole est un cousin du Wi-Fi. En effet, ils respectent tous deux une même spécification IEEE et utilisent la même gamme de fréquences : 2.4 GHz (tout comme les téléphones portables et le zigbee par exemple). C’est une communication bidirectionnelle, deux modules peuvent communiquer ensemble en même temps. Le comportement utilisé est « maître/esclave ». Un esclave pourra parler avec un seul maître, mais un maître pourra dialoguer avec plusieurs esclaves.
Pour son utilisation, elle se passe en plusieurs étapes :

  1. Le maître se met en mode « reconnaissable »
  2. L’esclave trouve le maître et demande à s’y connecter
  3. Le maître accepte la connexion
  4. Les périphériques sont alors appairés (ou associés)
  5. La communication peut commencer

Ensuite, selon le type de composant que vous utilisez (une oreillette bluetooth, une manette de jeu-vidéo etc) la communication pourra se faire selon un protocole ou un autre. Dans notre cas cela consistera simplement en une liaison série. Au final, nous aurons donc le même fonctionnement qu’une liaison série habituelle (partie 3 du tuto Arduino) mais toute la partie « filaire » de la communication sera englobée dans des trames bluetooth gérées par le module. C’est totalement transparent pour nous (ou presque). Faisons donc un peu plus connaissance avec « HC-05 », le petit module bluetooth si pratique.

Présentation du module bluetooth HC-05

Comme expliqué plus tôt, le module utilisé se nomme HC-05 et est trouvable assez facilement pour quelques euros (via des sites d’import de Chine). Il est aussi gros que le pouce et est en fait un montage d’un module bluetooth sur un petit PCB. Cela permet de s’affranchir de certaines contraintes comme la soudure du module (qui est très délicate), la conversion 5V -> 3.3V, la régulation de l’alimentation (3.3V de nouveau) ou encore l’ajout de LEDs de signal. Tout cela est déjà intégré !
Alors que trouvons nous sur ce petit module ?
Tout d’abord, un ensemble de broches. VCC et GND pour l’alimentation (5V), Rx/Tx pour la communication. On y voit aussi une broche « Key » qui servira à envoyer des commandes de configuration au module (nous y reviendrons plus tard). La dernière broche nommée « Led » permet de brancher une LED pour obtenir un signal sur l’état du module.

HC-05

Le module bluetooth HC-05

Brancher le module à l’Arduino

Voyons comment brancher tout ça. Tout d’abord, l’alimentation. C’est assez habituel, le VCC sera relié au 5V de l’Arduino et le GND à la masse. Ensuite, viennent les broches de transmission de données, Rx et Tx. Vous pourrez au choix les connecter aux broches de liaison série de l’Arduino (0 et 1) pour utiliser la voie série native, ou alors les brancher sur n’importe quelle autre pin afin de garder la voie série disponible pour du debug avec l’ordinateur (ce que je conseille). Nous reviendrons sur ce point. Il ne reste alors plus que les broches Key et Led. Led sert à connecter une LED de statut, vous pouvez la laisser déconnectée cela n’influencera pas le comportement du module. Key sert à utiliser le mode « commande » du module. Avec cette dernière vous pourrez reconfigurer la voie série (vitesse, parité etc…) et d’autres options liées au bluetooth (nom du module, mot de passe d’appairage, mode esclave/maître…). Cette broche est à connecter à n’importe quelle sortie numérique de l’Arduino.

Communication entre HC-05 et Arduino

Maintenant que le module est connecté, il est temps de le mettre en œuvre avec notre Arduino ! Pour garder les choses simples, nous allons simplement faire une connexion qui permet de renvoyer tout sur la voie série de l’ordinateur. Tout le long de ce tutoriel, seul le mode « esclave » sera utilisé mais le mode « maître » n’est pas beaucoup plus compliqué à atteindre 😉 .

Une question de voie série

Comme il a été dit et répété tout au long de la présentation, le module fonctionne via une voie série. Sur une Arduino Uno nous pouvons en trouver seulement une que nous allons garder pour faire du debugging avec l’ordinateur le temps de mettre en œuvre le module. Il y a donc un problème, comment allons nous faire pour communiquer avec le module si la voie série est déjà prise ?
La réponse est assez simple, nous allons émuler une voie série ! Ainsi, nous allons pouvoir utiliser deux broches numériques classiques pour créer une voie série par dessus. C’est une méthode assez habituelle de contournement, c’est équivalent à trouver une solution logicielle à un problème matériel.
Pour mettre en œuvre cela il y a deux écoles : Coder la nouvelle voie série soi-même ou utiliser une librairie existante. Si vous avez du temps, la première solution est réellement intéressante et formatrice. Pour ma part, le temps est une denrée ce faisant rare, je vais donc utiliser une bibliothèque existante qui a été codée par des professionnels et testée par des milliers de personnes à travers le monde : SoftwareSerial.

Utiliser la bibliothèque

Pour mettre en œuvre cette bibliothèque c’est assez simple. Il va tout d’abord falloir l’inclure dans vos projet. Au choix, soit en cliquant sur « Library/Import/SoftwareSerial » dans l’IDE Arduino (inclus de base) ou alors en ajoutant la ligne suivante en haut de votre programme :

Une fois que la bibliothèque est là, il nous faudra l’utiliser. Cette bibliothèque nous donne l’accès à un objet nommé…SoftwareSerial (quelle coïncidence 😛 ). On peut donc créer une instance de cette objet en écrivant :

Rx et Tx seront les numéros des broches sur lesquelles sont connectées les broches d’émission/réception de votre module bluetooth. Par exemple j’ai pour ma part la broche Rx du module branchée sur la pin 10 de l’Arduino et la broche Tx reliée a 11. J’ai donc dans mon programme :

Une fois cela fait, tout est prêt ! En effet, cette bibliothèque offre les mêmes fonctions que la voie série habituelle, la seule différence sera qu’au lieu d’utiliser Serial on utilisera mavoieserie, comme on peut le voir dans le listing ci-dessous :

Notre module fonctionnant par défaut en 9600 bauds, nous allons pouvoir le préparer en écrivant :

Puis afin de tester tout cela, nous allons faire un petit code qui se contentera de faire un « echo » entre la voie série liée à l’ordinateur et celle liée au module bluetooth. Ainsi, chaque fois qu’un caractère/texte sera reçu sur la voie série de l’un, il sera renvoyé sur la voie série de l’autre. Notre Arduino servira alors de relais/adaptateur entre l’USB de l’ordinateur et le module bluetooth 😉 . Ce petit programme vous donne alors tout ce qu’il faut savoir pour faire vos premières applications avec 🙂 . Juste une chose : branchez la broche « Key » à la masse pour que le module soit en mode « communication » et non pas en mode commande.

https://www.youtube.com/watch?v=Ory5NlvQF3s

Aller plus loin, la configuration (AT)

Si vous voulez pouvoir utiliser plus de fonctionnalités avec votre module, il va falloir modifier ses paramètres internes. Pour pouvoir être configuré, le module utilise un jeu de commandes plus ou moins standards que l’on appelle « commande AT » (ATtention) ou Commande Hayes du nom de leur inventeur. Pour les utiliser, il faudra que le module soit placé dans un mode particulier, le mode « commande ». Dans ce mode, toutes les informations envoyées au module seront interprétées pour faire de la configuration, rien ne sera envoyé en bluetooth à un autre appareil.

Les commandes AT portent plutôt bien leur nom. En effet, tous les ordres de configuration commencent par les caractères « AT+ » suivis de l’ordre en question puis un retour à la ligne via les caractères « \r\n ». Voyons cela plus en détail.

Passer en « mode commande »

Pour que le module décide que ce qu’il reçoit doit être traité comme un ordre de configuration et non comme un bout de texte à transmettre, il faudra le placer en mode « commande ». Dans ce mode, plus aucun texte ne sera transmis.
Afin d’établir cette communication, il existe deux méthodes.
La première consiste à démarrer le module avec sa broche « Key » à l’état HAUT (reliée au 5V). La LED présente sur le module devrait alors clignoter rapidement, signalant que le module est prêt à recevoir des ordres AT. Dans cette configuration, tous les messages envoyés seront interprétés comme des commandes et le seul moyen d’en sortir sera de redémarrer le module (en supprimant son alimentation). Attention, dans ce mode la connexion s’effectue à une vitesse de 38400 bauds ! N’oubliez pas de le prendre en compte dans votre programme. Je déconseille cette première méthode qui est finalement assez contraignante.

Une deuxième méthode, plus souple, sera d’utiliser la broche « Key » dans notre programme. Il faut donc dans un premiers temps déclarer cette dernière en sortie et la mettre à l’état bas par défaut. Elle sera connectée à la pin 12 pour ma part. Dans cette situation, la vitesse restera à 9600 bauds.

Maintenant, chaque fois que vous souhaiterez passer dans le mode « commande » vous devrez mettre cette broche à l’état haut et la maintenir dans cet état tant que vous envoyez des commandes.

Envoyer des commandes

Comme je l’écrivais plus tôt, chaque commande envoyée doit commencer par « AT+… » et finir par un retour à la ligne « \r\n ». Il existe plusieurs commandes que l’on trouve en général dans les documents fournis par le constructeur. Vous pourrez trouver ce jeu de commande en faisant une recherche du type « HC-05 AT commandes » dans votre moteur de recherche préféré ou en téléchargeant ce fichier (en anglais of course).
Que voyons nous ici ? À partir de la page 3, on peut voir une série de commandes et leur retour. Essayons tout cela.
Pour cela, passez tout d’abord votre module en mode commande en mettant sa broche Key à 1.
Maintenant, en reprenant le programme vu plus haut faisant un echo dans la voie série, envoyons la chaîne suivante « AT+NAME ». Cette commande passée sans paramètre donne le nom visible du module. Par défaut vous devriez obtenir « HC-05 » en retour. Si maintenant nous voulions changer ce nom, nous ferions « AT+NAME=TEST » pour l’appeler « TEST » par exemple. Si tout se passe bien, le module doit vous répondre « OK ». C’est aussi simple que ça !
D’une manière générale, pour lire un paramètre on fera « AT+[paramètre] » et pour le changer on fera AT+[paramètre]=[valeur].
Lorsque vous utiliserez le module sans aucune liaison série externe pour vérifier, il peut être bon de s’assurer que tout se passe bien en vérifiant que le module renvoie bien « OK » lorsque vous changez un paramètre. Si au début du mode commande vous voulez vérifier que le module est bien présent et prêt à répondre, vous pouvez envoyer simplement « AT » et il vous répondra « OK » !

Vous devriez maintenant être en mesure d’utiliser votre module bluetooth HC-05. Il ne reste plus qu’a coder une petite application sur votre PC ou un téléphone et vous pourrez faire du pilotage à distance complètement autonome, sans fil relié à un ordinateur pour recevoir les ordres !

Une expérience (bonne ou mauvaise) à partager ? Des questions à poser ? Des conseils à donner ? Ne soyez pas timide !

96 commentaires

    • Pas si bête comme question… Et le pire c’est que je me rappelle plus trop comment ça c’est passe XD . Il me semble que lorsque le module est allumé (mode esclave) au final ça se fait assez simplement (avec le téléphone, rechercher les périphériques puis associer lorsqu’on la trouvé ou un truc du genre).

  1. Merci pour cet article très intéressant. Je possède un tel module, mais j’ignorais l’utilité de la broche KEY et je ne savais pas que l’on pouvait modifier les paramètres du module.

    La dernière phrase de la section : Communication entre HC-05 et Arduino indique de connecter la broche KEY au 5V pour être en mode communication. Suite à la lecture de la section sur les commandes AT, il ne faut pas plutôt mettre la broche KEY au GND pour être en mode communication ?

  2. je vois qu’en bluetooth, on parle de communication maitre-esclave, mais peut-on avoir une comm bi-directionnelle avec le HC-05, pour un projet de communication entre une appli android et un arduino?

    • Le bluetooth est bidirectionnel. La notion de maitre-esclave est surtout la pour le cote « appairage ». Une fois appaire, le module peut envoyer des infos en continu qui pourront alors être traitée par l’appli Android quand cette dernière le veut/peut.

  3. Bonjour,
    Votre article est très intéressant. Je travaille actuellement avec un module Bluetooth RN-41. Grâce a votre article, j’ai peu prendre connaissance qu’il était possible de changer le paramètre par défaut de mon module. Mon but « in-fine » est de connecter deux RN-41 entre elle. Un en mode Master et l’autre en Mode Slave. J’ai trouvé les différentes commandes AT (grâce à ce document http://ww1.microchip.com/downloads/en/DeviceDoc/bluetooth_cr_UG-v1.0r.pdf ) à utiliser pour réaliser ceci, mais je n’arrive pas à me mettre en mode communication. Le constructeur me dit d’envoyer au port série « $$$ » et-il devrait me retourner « CMD ». Mais je ni arrive pas. J’ai utilisé votre programme pour effectuer cette manipulation. Dernier petit chose, j’utilise l’Arduino UNO et ces port série RX et TX sont 0 et 1.
    Merci d’avance pour votre aide.

  4. Bonjour, ici on parle de bluetooth mais en parlant de RFID, un fonctionnement un peu différent, quelqu’un pourrait me dire comment réaliser les branchement de la carte RFID RC522 sur une Mega 2560 ? les branchements ne sont pas les mêmes qu’une Uno et j’ai besoin d’une mega pour un projet.

  5. Bonjour,

    Est-il possible de connecter plusieurs esclaves sur un maitre. J’ai essayé mais je ne peut pas envoyer de trame AT lorsque le module est connecté au premier esclave. Avez-vous une solution?

    merci

    • Il ne me semble pas, la connexion bluetooth est point-a-point, les appareils sont « appairé » pour communiquer et donc un maître est reliée a un seul esclave a la fois. Il existe peut-être des modes de « diffusion » mais sans aucune certitude.

  6. Bonjour,

    Mon groupe et moi faisons un projet pour la fin d’année de terminale STI2D et nous voudrions savoir si on pourrais contrôler les musiques (volume, …) d’un téléphone portable a partir d’une carte arduino et le tout en bluetooth. Car je cherche depuis pas mal de temps sur internet mais a chaque fois je trouve l’inverse ( controler la carte arduino avec un téléphone ).

    merci de répondre rapidement car on approche de plus en plus de la fin d’année 😛

  7. Bonjour!

    Quelle application utilisez-vous sur Android ou sur votre PC pour communiquer avec le module ? J’essaie avec Ardudroid, mais je n’arrive pas a communiquer.

    J’ai un module HC-06, mais a priori cela ne fait pas de différence a ce niveau (simple communication série) si?
    Il n’y a pas de patte KEY, j’ai donc supposé qu’il est en mode communication, c’est peut etre mon erreur

      • Bonjour,
        J’ai quelques soucis avec mon module HC-05. En effet, je n’arrive pas à le détecter via mon téléphone.

        J’utilise un samsung. Il lui est impossible de détecter mon matériel.

        Mon câblage est correcte. Je l’ai fait vérifier par d’autres personnes qui travaillent sur un projet similaire au mien.

        Please HELP !

        Merci pour votre réponse 🙂

  8. Salut ^^
    Tu peux m’envoyer une image pour savoir vraiment comment on branche le module a la carte Arduno one ?
    Car je débute en arduino et j’essaye de connecter mon module HC-05 (6 branches) à l’arduino pour mon projet mais je n’y arrive pas tellement il y a de schéma possible sur internet ^^ ^^
    Merci 🙂

    • Salut,

      A part te conseiller de (re)lire le tuto je ne pourrais pas t’aider plus. Il faudrait me dire ou sont tes problèmes ou me montrer des bouts de code pour que je sois utile, car je ne vais pas faire tout le code pour toi ^^ . Si tu as besoin d’aide, je te conseille cependant d’aller faire un tour du coté des forums de Zeste de Savoir (rubrique « Systèmes et Matériels »), plein de gens compétents et passionné devrait pouvoir t’y aider 🙂

      • bonjour eskimon
        j ai lu avec attention tuto mais aujourd hui dans le cadre d un projet ou je veu faire communiquer 2 arduino en BT (hc05 un maitre et un esclave) et j ai un probleme que voici:
        j ai configurer le master
        at+role=1
        at+bind= adresse mac du slave
        at+cmode=0
        quand j alimente mes deux arduino je voi que la led bt ce mette a clignoter ensemble et lentement ce ki m indique l aparaiage
        mais quand je veu envoyer une donner du master au slave
        j ai rien qui ce produit
        separement mes codes marchent (verifier grace au serial monitor)
        serai t i l possible que j ai oublie de parametre quelque chose chez le master ou le slave ?
        merci pour l aide…

  9. Pingback: Bluetooth - Arduino | Pearltrees

  10. j’ai acheter un module hc06 comportant 4 pins. J’arrive à l’appairé au smatphone mais aucun code permettant de tester le module ne fonctionne. sur le module il est ecrit fc-114. Merci pour votre aide.

  11. Est ce qu’avec un module HC-06 il est possible de le faire passer en mode esclave et qu’il continue d’envoyer des données sur une carrte d’acquisition arduino uno ? Le maitre serais une application que j’ai créé qui commanderai le module bluetooth pour remettre les données a 0 ? Je fais ça pour mon projet de sti.

  12. Bonjour,

    J’ai soudé les modules sur les platine et essayé le programme ci-dessus sans résultat, ce qui ne m’étonne pas.
    Je me serai attendu à ce qu’il faille avoir 2 platines et 2 PC comme c’est le cas avec le NRF20L01.
    J’ai bien mis la pin 12 en sortie et au niveau bas.
    Du côté du PC, j’ai un dongle mais comment sait-il que le montage s’adresse à lui?
    La led clignote,
    Voici mon montage : http://arduino.amt69.fr/images/BlueTooth_15Avril.jpg

    J’ai oublié des fils de masse sur le dessin, mais elles sont bien reliées sur le montage.

        • Salut,

          Je ne comprend l’intérêt de mettre un CD4050. Le schéma a l’air correct.
          Pour l’appareillage, il suffit de recherche un périphérique Bluetooth. A côté de l’horloge tu clique droit sur l’icône du Bluetooth –> Ajouter un périphérique –> Attend que le module apparaisse clique dessus –> Suivant –> il va te demander un numéro d’appareillage (1234). Et voila.

          Ensuite il faut ouvrir le port COM (émulé par le Bluetooth) grâce à un terminal RS232. La led devrait s’allumer pour indiquer que le module est connecté.

          • Merci, j’essayerai demain.

            Le module BT veut des data en 3.3 volts. Les sorties d’Arduino sont en 5 volts. Le CD4050 permet de faire le joint.

          • Salut,

            Ok pour le CD4050. Pourquoi ne pas utiliser un pont diviseur de tension avec deux résistances.
            Tu as réussi ?

  13. Je n’ai pas réussi puisque je n’ai rien essayé. J’attends de recevoir un vrai dongle que j’ai commandé. Celui que j’avais est prévu uniquement pour une souris. Il ne fait pas apparaître le logo blueTooth dans la barre des tâches.
    Je sais qu’on peut faire un pont diviseur ou mettre 2 diodes en série pour abaisser la tension mais le CD4050 m’avait été conseillé pour d’autres montages et j’en ai en réserve.

  14. Bonjour
    j’utilise Arduino Due et je ne trouve pas la bibliothèque SoftwareSerial. quand je définis Arduino Uno comme board, là je trouve SoftwareSerial et puis je remets Due ça disparait.
    donc je fais comment pour utiliser le HC-05 sur une Due svp?

  15. Bonjour,
    merci pour l’article,
    comment contrôler l’alimentation de module bluetooth en utilisant les pin digital? j’ai déjà essayer mais je pense que le problème dans l’alimentation fournée par ces pins est insuffisantes pour le module Bluetooth.
    merci d’avance

  16. Curieusement, j’ai dû rajouter la ligne

    int ledpin=13;

    car sinon, j’ai le message
    « ld.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru »

    et
    collect2.exe: error: ld returned 5 exit status
    Erreur lors de la compilation.

    • Pour bien répondre il faudrait au moins un code source et idéalement un schéma du montage qui va avec. Histoire de garder cette zone de commentaire pour le tuto en lui-même, je te propose que l’on se retrouve sur les forums de Zeste de Savoir ou tu pourras y créer un sujet expliquant le souci 🙂

  17. je souhaite communiquer entre deux cartes arduino équipées de modules bluetooth.

    j’ai configuré les commandes : une carte en maître et l’autre en esclave mais au niveau du programme arduino, je ne sait pas quel programme utiliser pour définir une carte comme maître et l’autre comme esclave?

    merci de vos réponses

  18. Bonjour, j’étudie comment envoyer un signal RGB d’un Arduino Maître à 2 Arduino Esclaves (auxquels sont branchées les Leds RGB) sans fil. J’hésite entre une liaison RF (433Mhz par exemple) et une liaison Bluetooth.
    Ma question est: est-il possible possible d’avoir un émetteur BT maître pour 2 récepteurs esclaves en simultané?

  19. Salut, merci pour ton tuto ! Je voudrais mettre en place une communication bluetooth entre 2 microcontrolleurs (un 8051 et une stm32F0), tu penses que c’est possible ? Il faudrait 2 modules bluetooth non ?

    Merci d’avance

      • Salut, merci de la réponse ! Finalement, je vais interfacer d’un côté un PC équipé d’une clé Bluetooth qui recevra uniquement des données et de l’autre une carte STM32F0 équipée d’un HC05 qui enverra uniquement des données à la clef. Au niveau software, ça serait tout réalisable sur un IDE type Keil ?

  20. Bonjour Eskimon,

    J’ai recement acheté ce module bluetooth HC-05 pour faire communiquer un arduino avec un telephone android.
    Pour mefaire la main j’ai suivi a la lettre votre tutoriel et j’ai compilé le programme dans mon arduino uno et mega.
    Comme dans votre video Youtube lorsque que j’écris dans le bluetooth terminal du telephone les infos arrivent correctement sur le moniteur serie de mon ordinateur. Mais lorsque j’ecris dans le moniteur serie, rien ne s’affiche sur mon telephone… J’ai verifié que toutes les broches etaient correctement connectées donc le probleme ne vient pas de la…
    Auriez vous une idées pour m’aider ?

    Cordialement.

  21. sans toi Eskimon Arduino sera une mission impossible merci pour tout tes tutorial <3 facile et clair.

    il ne reste que les tutos de registres afin de maitrise l'interieur de microcontrolleur 328p

  22. Pingback: onglets utilisés en tpe | Jardiworld

      • Bonjour toujours moi mais j’ai encore un soucis dans les commandes AT je rentre AT il me répond Ok je lui rentre AT+VERSION il me répond OKlinvorV1.8 je lu demande AT+BIND? il répond rien de même pour AT+ROLE?.. Je ne comprend pas pourtant je ne modifie rien entre chaque commande. Aurais tu une idée?

  23. Bonjour, récemment je viens d’acheter un HC-06, et depuis hier je suis en train de m’arracher les cheveux devant le fonctionnement totalement incompréhensible et aléatoire de ce module… Déja j’arrive à l’appairer une fois sur deux à mon téléphone, mais après pas moyen de faire quoi que ce soit avec l’arduino (j’essaie d’envoyer ou recevoir des données mais rien ne se passe). Mais le plus incompréhensible c’est que hier au bout de 2h de tests j’ai réussi à transmettre des données, mais une demi heure après, plus moyen. Et aujourd’hui j’ai tout essayé mais rien n’y fait…

    Si quelqu’un a le même problème qu’il n’hésite pas à se manifester pour que je me sente moins seul dans ma détresse…

    Mais si il y a une solution je suis preneur! 🙂

  24. bonjour Merci pour votre article c’est vraiment très intéressant je voulais juste savoir comment faire pour faire communiquer de carte arduino uno avec Bluetooth hc-05 exactement je voulais transmettre les données d’un gyroscope brancher sur carte arduino uno 1 à une autre carte arduino uno 2 par Bluetooth hc-05

  25. Pingback: Arduino | Pearltrees

  26. Bonjour,
    Article très intéressant, merci.
    Je cherche actuellement une façon de connecteur deux arduino avec des moules de 3.3v pour faire voler un petit drone (arduino uno au commande et pro mini au drone)
    Je partais sur une liaison RF de 434MHz mais j’ai entendu dire que ce n’était pas suffisant pour une communication constante et rapide entre deux arduino

    Donc je m’intéresse au bluetooth….
    Malheureusement j’ai encore entendu dire que les liaison coupait souvent et que la portée était très réduite
    (Or je veux une liaison constante sur une portée d’environ 10m)

    Pourriez vous me conseiller un truc ? :/
    Je suis vraiment à la recherche d’un moyen miraculeux… je veux un module peu chère et très léger (maître sur la commande et slave sur le drone)

    Merci de votre réponse,
    Arthur P

  27. Bonjour,
    Avec ce système comment je peut par exemple envoyer des valeurs depuis mon arduino vers un programme app inventor ? car apres avoir lue entier plusieurs fois j’ai compris dans le sens telephone –> arduino mais pas dans l’autre
    merci 🙂

  28. Bonjour, j’ai besoin de faire tourner 2 moteurs dc afin de faire bouger un robot. Pour cela j’aimerai utiliser le Bluetooth. Je dispose d’un arduino uno,d’un motorshield r3 et d’un module Hc-05.
    N’ayant pas de fortes connaissances en codage, j’ai beaucoup de mal à parvenir à mes fins et notamment à créer la bibliothèque pour mon motorshield r3. Si quelqu’un pouvait m’aider..:)
    Merci d’avance.

  29. Bonjour,
    Les niveaux des tx et rx des cartes hc-05 et hc-06 sont de 3,3V.
    Or vous raccordez le rx de la carte à une borne digitale de l’Arduino de niveau 5 V.
    Ne risque-t-on pas de griller la carte BT ?
    Cordialement
    Daniel MOULIN

    • C’est plus qu’un risque, une quasi-certitude.
      Il faut relier la broche TX de l’Arduino à une résistance de 1.2K elle-même reliée à la masse par une seconde de 2.2 K. La broche RX du HC-0X sera remiée à la jonction des deux résistances.

  30. Bonjour, actuellement j’utilise un lecteur RFID qui envoie les id reçu par la voie série sur mon PC et que je récupère très bien par un petit code python. Je voudrais passer tout ceci en mode sans fil, pensez vous qu’avec ce tutoriel je puisse remplacer le câble usb le bluetooth ? Je pose cette question car dans votre vidéo on y vois une connexion entre le PC et un téléphone mais est ce que les données peuvent directement transiter via l’Arduino sur le PC.

    A savoir que j’utilise la broche RX de mon arduino pour lire les informations du lecteurs RFID et les envoyées au PC.

    -Arduino Uno

  31. Pingback: What wireless technology to create connected objects DIY [Full Guide] – Tech News

  32. Pingback: Quelle technologie sans fil pour créer des objets connectés DIY

  33. bonjour a vous!
    j’aimerais savoir quel logiciel utiliser pour programmer le module de sorte qu’il puisse recevoir les données vennant du pic18 pour l’envoyer à un android et vice versa

  34. salut, je suis nouveau dans le monde de la programmation et je cherche a comprendre comment je peut faire pour cablé le module CZ-HC-05 qui est utilisé dans ce tuto mais je n’ai pas compris le câblage

  35. Pingback: Le vestiaire d'émotions | Pearltrees

  36. Petite question qui peut paraître totalement débile:
    j’ai fais un robot que je contrôle via bluetooth, il marche très bien mais j’aimerais pour stopper le robot lorsqu’un objet se trouve à moins de trente centimètre de celui-ci (j’utilise un module HC-SR04).
    voici mon programme sans le module ultrason:
    Comment est ce que je pourais le modifier?
    merci

    #include
    SoftwareSerial Genotronex(10, 11);
    int BluetoothData;
    int motor1Pin1 = 3;
    int motor1Pin2 = 4;
    int enable1Pin = 9;
    int motor2Pin1 = 2;
    int motor2Pin2 = 7;
    int enable2Pin = 5;

    void setup() {
    Genotronex.begin(9600);
    Genotronex.println(« Bluetooth 0 1 ou 3 .. »);
    pinMode(motor1Pin1, OUTPUT);
    pinMode(motor1Pin2, OUTPUT);
    pinMode(enable1Pin, OUTPUT);
    pinMode(motor2Pin1, OUTPUT);
    pinMode(motor2Pin2, OUTPUT);
    pinMode(enable2Pin, OUTPUT);
    digitalWrite(enable1Pin, HIGH);
    digitalWrite(enable2Pin, HIGH);
    }

    void loop() {

    if (Genotronex.available()) {
    BluetoothData = Genotronex.read();
    if (BluetoothData == ‘0’) {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);

    }
    if (BluetoothData == ‘1’) {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);

    }
    if (BluetoothData == ‘2’) {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
    }
    if (BluetoothData == ‘3’) {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
    }
    if (BluetoothData == ‘4’) {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
    }

    }
    }

Laisser un commentaire