Contrairement aux modules RF433Mhz évoqué dans un autre sujet, le module Bluetooth peut dialoguer dans les deux sens. Ici nous allons l'utiliser pour communiquer avec des appareils sous Android.
Les spécifications matérielles sont les suivantes
Sensibilité typique-80dBm
Jusqu'à +4 dBm puissance d'émission RF
Portée environ 30m en champ libre et 10m dans une maison (pour ma part j'ai testé en intérieur
et n'ai a part un ralentissement pas eu de soucis dans ma maison de 3 étages)
Antenne PCB intégrée.
Il s'agit d'un appareil à 3,3 volts que je fais fonctionner en 5V!!!!!
Je vais tenter de vous proposer un code simple que vous pourrez aisément adapter a vos applications.
Ce montage vas vous permettre dans un premier temps de contrôler des sortie d'une carte Arduino avec un téléphone mobile ou une tablette sous Android qui dispose d'une connectivité Bluetooth. Et de pouvoir lire l'état de ces sortie sur l'écran de l'appareil utilisé.
Pour cela j'utilise une application de terminal sur le périphérique Android, dans cet exemple il s'agit de "BlueTerm" qui peut être téléchargé à partir de Google Play
1 Téléphone sous Android
1 Carte Arduino Unoa trouver ici http://cgi.ebay.fr/Official-Arduino-UNO-Rev3
1 Carte Bluetooth a trouver ici http://www.ebay.fr/itm/Arduino-Wireless-Bluetooth
Les liens que je met ne sont que des exemples et font parti des sites que j'ai trouvé les moins chers
Le module Bluetooth
Câblage du module bluetooth
RX se câble sur TX (borne 0) de l'arduino et TX sur RX de l' arduino (borne 1)
Le câblage
Encore une fois, c'est très simple.
Lors de la programmation de l' Arduino, il faudra veiller a débrancher les connexions RX et TX sinon il y a conflit entre la communication USB et Bluetooth ce qui génère un plantage du logiciel Arduino.
Le Sketch:
ICI
Une petite vidéo de démonstration.
Si cela vous intéresse, je suis en mesure de vous faire un kit ou même vous réaliser ce montage !!!
N'hésitez pas a me contacter.
bravo Jojo pour ce montage bluetooth efficace et qui fonctionne du premier coup. merci encore pour ton partage !
RépondreSupprimermarc de nice
Salut Marc,
SupprimerMerci!
Apparemment tu test quelques montages!! C'est cool merci pour le retour que tu fais sur le blog
A+
Jojo
jojo je te remercie pour tout tes projet , je suis un fan de toi , j'ai que 16 et je veux voire mon avenir plus loin svp ne t'arrête jamais tes tuto , veux-tu m'aider ??
RépondreSupprimer,merci
Salut,
SupprimerC'est gentil merci!!
En quoi puis je t'aider?
A++
Jojo
re
RépondreSupprimersvp je veux te parler en priver !?
si ta un facebook ajoute moi
voici mon lien : https://www.facebook.com/achraf.el.pp
merci jojo
Bonjour,
RépondreSupprimerFélicitations pour tout votre travail et de le partager.
Concernant le montage, il fonctionne correctement en mode console série, en mode bluthooh il se connecte avec Bluetherm mais pas de fonctionnement, j'ai inversé Tx/Rx toujours rien, est ce que Bluetherm demande une configuration speciale.
Le montage est installé sur une carte Arduino Due.
D'avance merci de vôtre attention et aide.
Cordialement
Bonjour,
SupprimerMerci pour le compliment.
Non bluetherm n'a pas besoin de config particulière par contre il me semble que sur la carte due il faut utiliser le deuxième sérial car le premier est monopolisé par la connexion série via PC ou tablette.
Les broches sont donc 16 et 17
Les modifications de code sont
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
if(Serial1.available() > 0){
state = Serial1.read();
flag=0;
tous les Serial doivent être remplacé par Serial1
A++
Jojo
Bonjour,
SupprimerEffectivement j'ai testé le montage avec un Arduino Nano et tout fonctionne parfaitement, je vais donc essayer de modifier le Due.
Peut on envisager via ce montage, modifier la valeur d'une consigne de l'Arduino, date ou autre?
D'avance merci.
J.V
Sur la due je pense que changer le port série devrait suffire.
SupprimerOui il est possible de changer une valeur dans arduino via le bluetooth mais a un moment donné, bluetherm ne conviendra peut être plus car envoyer un A pour faire un + par exemple c'est pas top. L'idéal serait de développer une petite appli pour Androïd.
A++
Jojo
Bonjour,
SupprimerJ'ai modifié la Due suivant vos indications et ça fonctionne correctement, j'ai utilisé les broches 18 et 19 pour serial1.
Dommage pour changer de valeur, l'idée était pour un projet chauffage
avec fil pilote avec changement de consigne et date.
Merci de votre attention.
Oupss autant pour moi, en effet serial1 c'est 18 et 19.
SupprimerJe suis content que cela fonctionne!
Concernant votre appli,ce n'est pas très compliqué je pense même qu'il y a un produit fini sur google play. Il suffit d'adapter le code bluetooth émis. En fait le programme est dans arduino pas dans l'application, l'appli ne fait qu'envoyer une info sous forme de lettre ou chiffre.
Merci, je vais chercher et developper mon projet car je pense avoir besoin de vos services (si possible) pour réaliser une carte spécifique aux composants, ce sera après les fêtes.
RépondreSupprimerPour l'instant je vais me diriger vers votre montage des Leds RGB.
Salutations.
Pas de soucis, Bonnes fêtes
SupprimerMerci, à vous également bonnes fêtes.
RépondreSupprimerBonjour Jojo,
RépondreSupprimerJe viens de regarder ton code et te propose (pour le réduire) la modification suivante :
A la place de :
if (state == 'a') { // a = commande de marche led 1
digitalWrite(Pin1, HIGH);
Tu mets :
if (state == 'a') { // a = commande de marche led 1
digitalWrite(Pin1, !digitalRead(Pin1)); // Inverse l'état de Pin1
Si ta led est allumée, elle s'éteint
Si ta led est éteinte, elle s'allume
Et tu fais cette manip pour toutes les touches concernées.
De cette façon, tu n'as qu'une touche pour allumer et éteindre chaque led.
SupprimerA bientôt
Salut,
SupprimerOui en effet on peut simplifier le code en vérifiant l'état de la sortie, mais dans l'appli Android que j'ai développé j'avais besoin d'un bouton marche et d'un bouton arrêt pour les sorties.
Merci pour ce tuyau qui servira surement aux lecteurs du blog.
En tout cas, votre blog déborde d'idée.
RépondreSupprimerMerci pour ce travail.
Merci a vous pour le compliment
RépondreSupprimerbravo jojo, votre blog est simplement génial et ce montage aussi.
RépondreSupprimerje t'encourage vivement, et bonne continuité...