​ ​ ​ ​ Picaxe - BlueTooth HC06 et Androïd
Page 1 of 9 1 2 3 ... LastLast
Results 1 to 10 of 88

Thread: Picaxe - BlueTooth HC06 et Androïd

  1. #1
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,918

    Default Picaxe - BlueTooth HC06 et Androïd

    Le faible coût de certains modules BT (moins de 4€) et la diffusion des appareils sous androïd rendent intéressante la communication entre ces terminaux et les Picaxes.
    Le module dont il est question ici est le HC06 très diffusé.
    Il faut savoir qu'il n'est qu'en mode esclave, non configurable en mode maître, contrairement au HC05.
    hc06.jpg
    4 broches :
    - Gnd: 0V
    - Vcc entre 3.6V et 6.5V
    - Rxd : broche réception
    - Txd : broche émission

    Important: le module est alimenté en interne à 3.3V; Rxd et Txd sont donc au niveau 0 - 3.3V
    Deux conséquences avec un picaxe alimenté en 5V :
    1- Relier la broche Rxd par l'intermédiaire d'un diviseur de tension. (impératif)
    2- La broche Txd doit être connectée à une entrée picaxe type TTL!

    La connexion HC06 et picaxe est donc très simple:
    Rxd à relier à une sortie associée à un serout (ou hserout) sur le Picaxe via un diviseur (12k/22k par ex.)
    Txd à relier à une entrée associée à un serin (ou hserin)

    Dès sa mise sous tension le module fait clignoter la led intégrée.
    Il est alors dans le mode de réception de commandes AT permettant de modifier
    - le nom : de base, peut varier selon le module: parfois linvor, NULL, ou autre noms...
    - le débit de transmission : de base 9600
    - le mot de passe : de base 1234

    Ce n'est que dans ce mode AT que les modification sont possibles.
    Conseil, ne modifier pour l'instant que le nom.
    Ne pas changer le débit ! une erreur pouvant rendre le module inutilisable. (pas de reset)

    pour changer le nom :

    Code:
    setfreq m8 'nécessaire pour disposer du débit de 9600bauds
       high B.5 'avec B.5 reliée à Rxd du HC06
       serout B.5, T9600_8,("AT+NAME") 'pas de cr, lf !
       serout B.5, T9600_8,("PICAXE01")'pas de cr, lf !
    Le changement de nom dans la liste n'est actif qu'après mise hors tension totale du HC06 pendant plusieurs minutes.
    Dès lors on peut procéder à son appairage avec un maître, type smartphone:
    - activer le bluetooth, dans les paramètres, entrer le mot de passe lié au module (1234)

    Dès appairage, la led du module reste alumée en continu.

    La communication avec le picaxe est alors possible. Il ne peut plus recevoir de commandes AT.

    Pour communiquer rentrer un petit programme dans le picaxe:
    Code:
    #picaxe 14M2
    setfreq m8 'nécessaire pour disposer du débit de 9600bauds
    SYMBOL  TXBT      = B.5
    SYMBOL  RXBT      = C.0
    High B.5
    
    do
       serin RXBT, T9600_8, b1  ' attend une valeur transmise par le terminal Androïd
       serout TxBT, T9600_8,(" cde: ",#b1," ") ' retransmet le code reçu vers le terminal Androïd.
    loop
    En fonction du type de développement, il sera préférable d'utiliser le hserin/hserout du picaxe, limité à deux bytes sur M2 mais offrant beaucoup plus de possibilités sur X2.

    Bon, coté Androïd maintenant...
    pour les moins courageux, pour débuter, une solution très simple: utiliser l'appli gratuite Bluetooth spp pro
    https://play.google.com/store/apps/d...P_PRO&hl=fr_FR

    On dipose de la possibilité d'envoyer des valeurs numériques, du texte, d'avoir un clavier virtuel de 12 touches paramétrables, ce qui permet de débuter en dialoguant avec le Picaxe, et de commander ce que l'on veut.
    Ensuite pour aller plus loin avec des commandes vocales, par les accéléromètres et autres capteurs intégrés, la solution App Inventor 2 du MIT semble la plus simple pour celui qui ne veut pas se frotter à Java...
    Je ferai passer pour ceux que cela intéresse une petite appli avec des BP, un potard linéaire et les commandes par inclinaison du smatphone ou de la tablette.
    Last edited by PieM; 06-01-2015 at 21:13.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  2. #2
    Senior Member
    Join Date
    Jun 2012
    Location
    France
    Posts
    299

    Default

    Bonjour,
    ce sujet m'interesse particulièrement i
    ce sujet tombe à pic (ou plutot a picaxe ) car j'ai un petit projet de commande sans fil a courte distance je pensais utiliser le 433 MHz mais cette solution est peut etre plus sympas

    si j'ai bien compris
    le module hc06 est en esclave seulement ça veut dire qu'il ne peut emettre ?
    si par exemple je souhaite communiquer entre 2 picaxe (un picax maitre et un esclave ) il me faut un hc05 et un hc 06 ?
    je suis bien sur interessé par des exemple d'utilisation de ces modules que je decouvre
    cordialement
    Alain
    Last edited by alainav1; 06-01-2015 at 17:54.

  3. #3
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,794

    Default

    Ca m'intéresse aussi dans la mesure où ça pourrait permettre de se passer de l'habituel ensemble LCD/OLED+potar/encodeur+boutons poussoir et de pas mal de code...
    Ca pourrait aussi intéresser Zeltron pour piloter ses trains...
    Quote Originally Posted by alainav1 View Post
    le module hc06 est en esclave seulement ça veut dire qu'il ne peut emettre ?
    Non, ce n'est pas le concept.
    Comme expliqué par PieM la communication fonctionne dans les 2 sens, comme n'importe quelle liaison RS232.
    C'est l'initiative de la communication qui défini le maitre (et par déduction l'esclave).
    A priori, un terminal Androïd est le maitre, donc il est logique que le Picaxe soit un esclave. Une fois la communication établie par la tablette Androïd, le Picaxe peut répondre.
    Pour communiquer entre 2 Picaxes il faut effectivement un maitre et un esclave. Attention : la portée du Bluetooth est très limitée. C'est fait pour communiquer entre une souris et un PC ou entre un téléphone et un écouteur, pas pour communiquer avec la station météo à l'autre bout du jardin...

  4. #4
    Senior Member
    Join Date
    Jun 2012
    Location
    France
    Posts
    299

    Default

    la distance serait de 2 ou 3 metres c'est uniquement pour ne pas avoir de fil
    (la finalité c'est de completer une commande de train miniature (qui fonctionne actuellement en infrarouge )(voir mon site ou je decrst un exemple realisé avec des pic et processing )
    De petites animations sur un petit reseau pourraient etre gerer de cette façon .
    cordialement
    Alain

  5. #5

    Default

    Bonsoir à tous,
    Merci PieM pour ton expérience et tes infos. Je suis en train d'essayer de faire la même chose avec le module de chez A4 (un Roving RN-42).
    j'ai créé une petite application sous app inventor pour essayer. Si vous voulez faire des essais, elle est téléchargeable ici. (onglet prof/android).
    Pour l'instant je suis un peu bloqué pour l'appairage du module, mais je pense qu'il faut rentrer ton programme pour que cela fonctionne. Je vais essayer de faire ça sous logicator.
    Pour App inventor, si tu as des infos, je suis preneur, pas l'application toute faite, mais les blocs que tu utilises.
    Bonne soirée à tous.

  6. #6
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,503

    Default

    Quote Originally Posted by alainav1 View Post
    la distance serait de 2 ou 3 metres c'est uniquement pour ne pas avoir de fil
    (la finalité c'est de completer une commande de train miniature (qui fonctionne actuellement en infrarouge )(voir mon site ou je decrst un exemple realisé avec des pic et processing )
    De petites animations sur un petit reseau pourraient etre gerer de cette façon .
    cordialement
    Alain
    Mais si il en faut une vingtaine, il y a aussi ça:
    http://www.ebay.fr/itm/315-433Mhz-WL...item20e9541614

    ceux que j'ai reçus fonctionnent bien et à 3 m, pas besoin d'antenne

    MM

  7. #7
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,918

    Default

    Deux picaxes ne peuvent communiquer ensemble s'ils sont équipé chacun d'un esclave.
    Comme dit Besqueut, le maitre a l'initiative de l'appairage. Sur un smartphone, le choix se fait d'après une liste des modules externes visibles.
    Par contre pour un autre module HC05 par exemple, je n'ai pas d'expérience, mais on peut à priori prédéfinir le nom et le pwd de l'esclave auquel on veut se connecter par les commandes AT .

    Concernant la portée, je passe une dizaine de metres entre un picaxe et un phone Nexus. ça passe facilement un mur béton.

    Francis, je ne connais pas le module Roving RN-42, donc difficile de savoir si son initialisation se fait de la même façon, avec quel débit, et quel pwd. Je ne conseille pas dans un premier temps d'utiliser Logicator au début; le code généré est parfois un peu tordu.

    Je mettrai en ligne les blocs que j'utilise sous App Inventor.

    Le gros intérêt de cette solution est qu'outre le fait qu'on dispose d'un terminal performant avec la tablette ou le smartphone, on est en bidirectionnel, disposant ainsi du feedback de toute commande envoyée.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  8. #8

    Default

    @PieM, tu envoies ton petit programme avec programming editor ?
    Pour le débit, j'ai essayé tout à l'heure, avec 115200 bauts, pas terrible, mais avec 9600, j'ai visualisé le module bluetooth sur mon téléphone. Par contre, sans le petit programme, je n'ai pas pu transmettre le code d’appairage. Je vais faire de nouveaux essais.

  9. #9
    Senior Member
    Join Date
    May 2010
    Location
    France
    Posts
    186

    Default

    Bonsoir à tous,

    Je viens de regarder avec intérêt cette discussion puisqu'elle complète celle que j'avais ouverte il y a quelques semaines maintenant sur ce même forum, cela tombe donc à point nommé.

    Pour les raccordements du module HC-06, je rencontre quelques problèmes puisque pour des raisons de simplicité d'utilisation ( pédagogique collège ), les broches C0 à C7 de mon interface sont "figées" en entrées et toutes équipées d'une résistance de 10kOhms ou plus exactement d'un réseau de résistances ( voir photo-ci-dessous ).

    Montage_28X1.jpg

    Mes questions sont donc les suivantes :

    - le raccordement de la borne C7 de mon Picaxe 28X1 à la broche Txd du Bluetooth est-elle réalisable même avec la résistance de 10 kOhms ( voir photo jointe ) ?

    - comment, dans ce cas, adapter la tension de sortie de la borne C6 mon Picaxe 28X1 à l'entrée Rxd du module Bluetooth ?

    J'espère avoir été clair.

    Comme Francis, je suis preneur des exemples proposés par Piem sur App inventor.

    Merci d'avance.

  10. #10
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,918

    Default

    Quote Originally Posted by Francis52 View Post
    @PieM, tu envoies ton petit programme avec programming editor ?
    Pour le débit, j'ai essayé tout à l'heure, avec 115200 bauts, pas terrible, mais avec 9600, j'ai visualisé le module bluetooth sur mon téléphone. Par contre, sans le petit programme, je n'ai pas pu transmettre le code d’appairage. Je vais faire de nouveaux essais.
    Je crois qu'il y a confusion. Le débit par défaut de ton module serait de 115200 bauds. Cela est le débit utilisé entre le module et le picaxe. Rien à voir avec la transmission bluetooth entre le module et le telephone.
    115200 bauds n'est possible sur picaxe qu'avec la fonction HSERIN / HSEROUT .
    si tu vois le module, il faut ensuite rentrer le code 1234 pour l'appairage.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •