connecter arduino pro mini à module BT

Bonsoir,

je voudrai pouvoir connecter mon module bt à mon arduino promini et uno, pour pouvoir les reprogrammer à distance.

voilà le module : http://www.robotshop.com/eu/bluesmirf-spark-fun.html

je l'ai trouvé sur sparkfun on voit la connectique : (c'est bizarre, il a pas la meme couleur, moi je l'ai en rouge...)

Je ne sais pas comment connecter les 2 ensembles... C'est quoi CTS, RST, BLK etc ??

Merci :$

Bonjour

La rangée du haut : de BLK (black) à GRN (vert) reprend le brochage du câble USB FTDI.
Voir ci dessous l’image prise dans l’excellente feuille Arduino Cheat Sheet

Il faut relier :
-les masses en elles,
-la sortie TX-O du bluetooth à l’entrée RX-I de l’Arduino,
-l’entrée RX-I du bluetooth à la sortie TX-O de l’Arduino,
-les alimentations entre elles ( le module Arduino est-il du type 5V ou du type 3V ?)
-la sortie RTS-O du bluetooth à l’entrée GRN de l’Arduino pour permettre (pas sur que ça fonctionne , le Reset automatique lors du chargement)

Le module rouge chez Sparkfun correpond à un module de portée un peu plus faible.

FTDI cable couleurs.jpg

Ca ne fonctionne pas :(

arduino - BT 1(BLK) (CTS)a 2(GND) (VCC)b 3(VCC) (GND)c 4(RX) (TX)d 5(TX) (RX)e 6(GND) (RST)f

Si j'ai bien compris, je dois connecter A-1, B-3, C-2, D-4, E-5, F-6 ? Parce que ça ne fonctionne pas :/

Le tout en 5v

Le Module BT a-t-il bien été configuré auparavant , entre autres sur le débit (bauds) imposé par le bootloader de la carte ?

Je viens de remarquer que le module Sparkfun BlueSmirf utilise des circuits RN41 ou RN42 de RovingNetworks. http://www.rovingnetworks.com/rn-41.php
J’ai eu à utiliser ces circuits et il fallait relier entre eux RTS/CTS
(sous les cartes Sparkfun il y a d’ailleurs de quoi faire un petit pont de soudure entre RTS et CTS)

Qu’est-ce que ça donne en ne reliant l’Arduino et le Bluetooth que par 4 fils :
VCC à VCC
GND à GND
RX à TX
TX à RX
et en reliant ensemble ,côté BlueTooth, RTS et CTS

/!\ Lorsque l’IDE Arduino affiche en bas “Binary Sketch Size …” appuyer brièvement sur le bouton Reset

j'ai déjà essayé de relier RTS/CTS, ça n'a pas fonctionné

Avec 4 fils aussi, j'ai essayé d'envoyer le sketch, et d'appuyer sur reset quand le message "sketch size..." apparait.

Tu parles de configurer le module arduino ? il y a quelque chose à configurer sur le module ??? J'ai configuré le PC, de sorte qu'il y ait une liaison série entre le pc et le module (ça ça marche, d'ailleurs le module BT s'allume en vert lorsque c'est ok)

A partir de là; la seule chose que j'ai pu faire, c'est communiquer avec l'arduino, en faisant un programme qui lit le port série, mais pas pour le reprogrammer

Configuration : c'est au module BT que je pensais car il a un grand nombre de parametres modifiables et il n'est pas certain que sa configuration par défaut corresponde aux besoins du bootloader.

A partir de là; la seule chose que j'ai pu faire, c'est communiquer avec l'arduino, en faisant un programme qui lit le port série, mais pas pour le reprogrammer

Quel était alors le nombre de bauds ? Bootloader : dans le menu Boards on voit plusieurs modeles de cartes Mini Pro. Quel est ton modèle exact de carte ? (je cherche à connaïtre le débit attendu par le bootloader, probabalement 57600 bauds si la Mini Pro a un Mega328)

Le module BT ne répondait qu'à la vitesse de 115200 bds

Comment on configurer un module BT ? :fearful: je savais pas qu'on pouvait le configurer

115200 c’est la configuration ‘usine’ des RN41 et RN42
Pour le bootloader il faut probablement passer en 57600

Les RN41 et RN42 , comme des modems, ont deux modes de fonctionnement :
-Le mode ‘Data’, normal où ils transmettent et reçoivent les données
-Le mode ‘Command’ pour modifier la configuration (7 pages de commandes dans la doc !!)

Une fois la connection établie avec le bon débit :
Pour passer en mode Command entrer $$$ dans les 60s après mise sous tension
le module répond CMD
Entrer une commande, par exemple SU,57 pour passer en 57600 bauds
le module répond AOK si OK **ERR **ou **? **si la commande ne lui plait pas
Pour quitter le mode commande faire **— **suivi de la touche ENTREE

Doc jointe

rn-bluetooth-um.pdf (1.11 MB)

Roving.jpg

ok ok, bon,

J'ai pris un pc sous windows... pour être plus sur..

J'ai installé le port série virtuel sur COM6.

Ensuite, hyperterminal, com6, en 9600bd, en configurant le V100 avec l'écho du clavier... Rien à faire, j'ai essayé plusieurs vitesse, jusque 115200, puis à chaque fois, "$$$" suivit de ENTER... Il ne se passe rien alors que le module BT devient bien VERT à chaque fois...

Bizarre Normalement c'est en 115200 tant que la config n'a pas été modifiée la touche entrée n'est pas nécessaire il me semble , les trois $ doivent le faire réagir... Reessayer directement en 115200 juste après la mise sous tension du module BT (la fenêtre de tir est étroite !!)

BON, déjà MERCI, j’ai pu réglé ça…

Donc, j’ai configuré le module, je vais tout recabler pour la programmation de l’arduino

Bon, j'ai réussi une fois à le reprogrammer, j'appuye sur le reset au moment de l'affichage de la taille du sketch...

Mais le module BT met un certain temps avant de se mettre au VERT, et du coup, je ne sais pas à quel moment il faudrai appuyer vraiment...

J'ai réussi une fois, depuis pas moyen de recommencer

Peut être tenter l’autoreset de l’Arduino en mettant un fil entre ‘RTS+CTS’ BlueTooth et ‘GRN’ de l’Arduino ?

Autoreset :
Par défaut les signaux RTS/CTS du module BT sont ‘locaux’ et sans rapport avec les signaux RTS/CTS côté PC.
L’autoreset est peut être possible par DTR à condition :
-de récupérer ce signal sur une pin du RN41/42 … soudure délicate et contradictions entre docs…!
-d’activer (commande S~,3 )le profil MDM SPP du module pour qu’il relaie les signaux de contôle modem (DTR…) Je pourrai tester le week end prochain
La pin 33 (PIO10) du RN42 est une entrée DTR (câblage en DCE) elle ne peut donc pas servir à envoyer le signal de reset vers l’Arduino. Le signal complémentaire, DSR , ne sort pas du RN42.

Reset Manuel :
En attendant, pour raccourcir le délai de connection et augmenter les chances de communication avec le bootloader, je propose les deux commandes complémentaires suivantes SI,0800 et SJ,0800
Le module consommera plus hors connection (40mA environ) mais sera plus réactif à la connection.
(connection régulière en moins d’une seconde chez moi)

BlueSMiRF-Gold-ChipAnt-v1.pdf (36.1 KB)

SUPER :P Merci pour toute ton aide.

Je vais essayer ça tout de suite en attendant

J’ai pu vérifier aujourd’hui un câblage minimal entre un module cms BlueTooth RN41 ( comme sur BlueSmirf Gold) et un mega328 avec un bootloader ‘Duemilanove’ 57600 bauds.
Pour activer automatiquement le bootloader, à défaut de DTR relayé par le RN41, j’ai récupéré et inversé l’alimentation de la led ‘Connection’. Après inversion elle agit sur le reset à travers 100nF.

Résultat : ça marche …si on arrive à éviter les manipulations un peu sauvages des ports par l’IDE Arduino (ouvertures/fermetures… parfois partielles). Le scan des ports qui semble se produire au lancement de l’IDE perturbe le port série virtuel BT. J’alimente la platine une fois l’IDE lancé et avec le sketch déjà à l’écran. Ensuite les modifications du même sketch sont envoyées sans toucher à la platine.
Sans ces précautions je me suis retrouvé régulièrement avec un échec de connections BT parce que le port avait été auparavant mal fermé par l’IDE. N’étant pas complètement libéré, le port n’était pas disponible pour une nouvelle ouverture…échec de l’envoi par défaut de connection.
Une opération particulière est peut être effectuée par l’IDE dans le cas d’une carte ‘officielle’ BTArduino ?

Par contre je ne comprends pas à quoi peuvent servir les 2 broches (CTS RTS) s'il faut les relier, ou si elle ne servent qu'en local

Oullaaaaaaa, je peux pas faire ça moi, le module bt est monté sur une carte sparkfun, je peux pas la déssouder, la led est minuscule en plus

Par contre je ne comprends pas à quoi peuvent servir les 2 broches (CTS RTS) s’il faut les relier, ou si elle ne servent qu’en local

Les RN41 et RN42 sont configurés avec un contrôle de flux matériel par RTC/CTS
Je ne sais pas si on peut supprimer cela. A défaut soit on reboucle, soit on relie CTS et RTS à deux pins de l’Arduino et on intègre ce qu’il faut de code pour gérer le contrôle de flux.

Oullaaaaaaa, je peux pas faire ça moi, le module bt est monté sur une carte sparkfun, je peux pas la déssouder, la led est minuscule en plus

La led (verte) est petite, il faut se raccorder à son anode qui est directement reliée à la pin 19 (PIO2) du module.
Côté module c’est également serré !
N’y a t’il pas une petite pastille accessible au niveau du point d’interrogation…

contrôle de flux.gif

arfff, c pas le meme circuit chez moi mais il y a plusieurs pastilles autour de cette led, elles sont recouvertes de rouge

Peux-tu faire une photo macro de la zone , si possible aussi la face inférieure du circuit. ? ça permettrait de localiser un éventuel point favorable pour un soudure