Tu as bien relié les broches 5 et 6 du module ? Tu as bien déclaré la liaison série à 9600 bauds dans Arduino (tu peux essayer d'autres vitesse pour voir)
Sinon un détail mais c'est bien d'avoir une résistance de limitation de courant pour ta LED.
Oui les broches 5 et 6 sont reliées. J'ai bien déclaré la liaisin série à 9600 baud et comme ça ne fonctionnait pas j'ai essayé toutes les autres vitesses, rien à faire.
Que veux tu dire par association BT avec le pc? Car mon PC ne détecte pas du tout le module bluetooth comme s'il était débranché. Pourtant il est bien actif car une fois brancher sur arduino je ne peux plus upload de programme dessus...
Je commence à me dire que ça ne fonctionnera jamais. Est-il possible de demander un remboursement à Lextronic?
Si tu abandonnes aussi vite tu vas jamais faire d'électroniqus
Je te conseillerais bien un truc...
Primo, faire un reset factory de ta carte Bluetooth.
Secundo, uniquement branché les pattes d'alimentation du module Bluetooth
Et a partir de la, vérifier si ton PC voit le module bluetooth (d'ailleurs vérifier que ton pc est capable tout court de voir un quelquonque périph genre ton téléphone ou autre)
#include <NewSoftSerial.h>
NewSoftSerial bluetooth(2, 3);
byte b;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.flush();
bluetooth.begin(9600);
//enter command mode
bluetooth.println("$$$");
Serial.println("setup complete.");
}
void loop() {
// if theres data from the bluetooth module
if (bluetooth.available()) {
//echo it to the serial monitor
Serial.print("bt module said:");
Serial.println((char)bluetooth.read(),BYTE);
}
//if theres data from the serial monitor
if (Serial.available()>0) {
b=Serial.read();
//echo it back to the serial monitor
Serial.print("serial said:");
Serial.println(b,BYTE);
//send it to the bluetooth module
bluetooth.print(b,BYTE);
}
}
Du coup j'ai peur de pas avoir tout suivi... la ca dit erreur ou pas ?
Le problème pour les broches 0 et 1 est celui que j'explique dans le cours : On ne branche rien sur les broches 0 et 1 si on se sert de la voie série USB...
Qui a parlé de résistance sur Rx (moi j'ai dit résistance pour la LED...)
On s'est mal compris : Oui ton module et sur 2 et 3 et tu utilises une liaison "émulée" . C'est ce qu'il faut faire car quand on utilise Arduino + une communication avec un PC, les broches 0 et 1 sont utilisés pour cette com', donc il faut éviter de les utiliser pour autre chose...
EDIT : C'est curieux cette histoire du erreur (cf la vidéo)
Je sais pas trop... essai de voir dans les docs quelques chose a propos de "visibilité du module" ou "rendre le module identifiable" ... j'aurais bien regardé car il m'intéresse ton petit module mais la j'ai pas trop le temps.
Ok je vais regarder. Si je trouves j'édite ce post (te si je ne trouve pas aussi^^). Je pense rédiger un tutoriel sur ce module si jamais je parviens à l'utiliser correctement!
#include <NewSoftSerial.h>
NewSoftSerial bluetooth(2, 3);
byte b;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.flush();
bluetooth.begin(9600);
//enter command mode
bluetooth.println("$$$");
Serial.println("setup complete.");
}
void loop() {
// if theres data from the bluetooth module
if (bluetooth.available()) {
//echo it to the serial monitor
Serial.print("bt module said:");
Serial.println((char)bluetooth.read(),BYTE);
}
//if theres data from the serial monitor
if (Serial.available()>0) {
b=Serial.read();
//echo it back to the serial monitor
Serial.print("serial said:");
Serial.println(b,BYTE);
//send it to the bluetooth module
bluetooth.print(b,BYTE);
}
}
Je dois entrer dans la fenêtre serial monitor "AT&F". Comment entrer cette commande directement dans le code Arduino pour ne pas avoir à le faire?
EDIT : J'ai trouvé comment faire. Maintenant le module bluetooth fonctionne très bien! Je fais mon tutoriel et je passe le lien ici! <- quand ça fonctionnera bien.
EDIT 2 : Quand j'envoie des informations par bluetooth à la carte, la fenêtre de port série de putty se ferme brusquement et me dit :
Citation
write serial port: Noeud final de transport n'est pas connect?
Pareil pour le serial monitor d'arduino qui me retourne plein d'erreurs java. Une idée? En tout cas moi je cherche^^.
Alors tout d'abord, ce sujet pourrait être déplacé dans la nouvelle section pour l'électronique? merci.
Bon, alors pour mon problème du dessus apparemment j'avais oublié d'éditer et c'est résolu . Je ne me souviens même plus d'où ça venait.....
Enfin bref, je me suis remis à arduino pour les vacances. Mais je rencontre un problème. J'ai un petit programme qui me permet d'allumer et éteindre une led grâce au port série. Pour le moment je suis réglé sur 9600 baud. J'ai donc branché mon module Bluetooth, et ça fonctionne impeccable. Cependant, il y a une cohérence. Comme je l'ai dit je suis réglé sur 9600 baud. Cependant, au début j'avais oublié de régler le moniteur série sur 9600, il était réglé sur 115 200. Et cela fonctionnait quand même. Lorsque je me suis aperçu de cela, j'ai testé avec 9600 baud, ça a fonctionné, et j'en suis testé avec tout les autres baud, et bien sûr ça fonctionne. C'est assez étrange. Mais là n'est pas ma question.
J'ai éloigné ma carte arduino ainsi que le module Bluetooth de mon ordinateur. Hélas, plus tout cela est éloigné de mon ordinateur plus long est le temps de réaction. Cela va même jusqu’à une dizaine de secondes. C'est vraiment très désagréable. J'ai donc pensé, que cela venait de la valeur de baud qui n'est pas suffisamment importantes. Je l'ai donc augmenté jusqu'à 115 200, et là impossible d'envoyer des données à ma carte arduino. Pourtant, le module Bluetooth est bien reconnu puisque l'indicateur est allumé.
Sauriez vous comment régler cela ?
Merci d'avance pour votre aide.
PS : je n'ai pas recréé un topique car je pense qu'il aurait été inutile de le faire puisqu'il y a déjà celui-ci.
EDIT : j'ai oublié de le préciser, mais j'ai un problème avec le soft de arduino. Lorsque je veux naviguer dans les onglets il n'y a pas de souci, sauf lorsque je clique sur l'onglet "outils", cela fait bloquer le logiciel arduino, il émet au moins 10 secondes avant d'afficher cet onglet. Ensuite je peux naviguer sans problème dans cet onglet sauf si je quitte et que je reviens vers cet angle. Ensuite lorsque je veux utiliser le moniteur série, et que je clique sur celui-ci, eh bien c'est la même chose le logiciel arduino déconne. Parfois même, je dois arrêter le processus dans le gestionnaire des taches car c'est la seule chose que je puisse faire. Sauriez-vous d'où vient le problème.
Il faudrait savoir qu'elle vitesse possède ton shield bluetooth par défaut. Communiquer avec les bons paramètres (vitesse, parité...) te permettra d'avoir une connexion qui marche bien. Normalement certaines commande (les fameuses AT) permettent justement de paramétrer le module.
J'ai éloigné ma carte arduino ainsi que le module Bluetooth de mon ordinateur. Hélas, plus tout cela est éloigné de mon ordinateur plus long est le temps de réaction. Cela va même jusqu’à une dizaine de secondes. C'est vraiment très désagréable. J'ai donc pensé, que cela venait de la valeur de baud qui n'est pas suffisamment importantes. Je l'ai donc augmenté jusqu'à 115 200, et là impossible d'envoyer des données à ma carte arduino. Pourtant, le module Bluetooth est bien reconnu puisque l'indicateur est allumé.
Etant donné que le port série est virtuel, il est tout à fait possible que l'information de baudrate ne soit pas utilisée.
Pour les pertes de données, tu es sur quelle distance ? Si tu es à moins de 20m en champs libre, tu dois avoir une antenne bluetooth mal connectée (ou une antenne bluetooth pourrie, mais, normalement, ça ne passe pas les qualifications bluetooth). Le profil SPP gère les retransmissions de paquets perdus, d'où les messages qui mettent 10s à arriver. En théorie, ça peut aussi être une saturation des fréquences de communication du bluetooth, mais j'en doute, ici j'arrive à faire du streaming audio avec 200 devices bluetooth à porté et une demi douzaine de réseaux Wifi. Tu n'essaye pas de le faire fonctionner dans un four micro-onde ?
@Eskimon, je vais voir dans la doc si je trouve une tel commande.
@Nathalya, à vrai dire c'est un module à 30 euros donc l'antenne n'est peut-être pas de bonne qualité..
Pour la distance elle est très faible je ne suis pas à plus de 5 mètre! SI je suis à quelque centimètre du pc l'info arrive presque instantanément mais une fois aux 5 mètre c'est long.... Sinon l'antenne est intégré au module.
Par contre je n'ai pas compris ce passage :
Citation : Nathalya
Le profil SPP gère les retransmissions de paquets perdus, d'où les messages qui mettent 10s à arriver.
non, ça c'est la solution. Ca veut dire que l'envoi d'octets échoue, mais que c'est détecté, et que les octet sont renvoyés jusqu'à ce que ça marche (avec peut être un timeout).
Ah, et sinon, 30€, c'est cher, même si je ne connais pas vraiment de meilleurs prix en vente au particulier. Je bosse sur un module bluetooth qui fait la téléphonie, le streaming de musique, les gestions de phonebook, SMS, et le tout avec le traitement audio nécessaire pour une voiture, et ça doit coûter à peu près 12$ (hors taxes), à condition d'en acheter beaucoup (notons que c'est un module qui a environ 50 fois les performances d'un arduino, plus les capacités du module bluetooth).
Mais comment corriger ces échecs? C'est un problème de windows? Même si ça m étonnerais puisque j'avais le même souci avec ubuntu..
Comme l'envoie d'octet échoue, le module ne les détecte donc pas? Donc mon PC les renvoie jusqu'à ce que le module les détecte? Donc, cela ne vient pas du module?
Ca peut venir du PC qui envoie mal ou du module qui reçoit mal. Par exemple si tu as une radio dans ta chambre, tu as probablement orienté l'antenne pour mieux recevoir. Si tu ne le fais pas, tu recois des parasites, si tu oublies de brancher l'antenne, tu ne reçoit presque que des parasites (le presque dépend de ton éloignement par rapport à l'antenne émétrice). Si l'éméteur envoie un signal carré quand on lui demande une sinusoide, ca fait aussi un signal affreux. Malheureusement, je doute que tu aies à disposition l'outillage pour déteter ce qui ne marche pas.
A ma connaissance, ça ne se vend pas à l'unité (et tu ne peux pas le programmer toi même, tu l'utilises forcément avec le soft fourni).
Mais vu que j'ai l'occasion de faire de la pub : http://www.parrotoem.com/en/connectivi [...] les-portfolio
Evidemment, les modules avec en plus USB, reconnaissance vocale, et Wifi coûtent plus cher.
Merci^^. Dommage que ça ne se vende pas à l'unité. Et ça aurait été bien de le programmer soit même!
J'ai eu une idée pour tester si le souci venais de mon PC : Si j'utilise le bluetooth de mon Portable et que je test et qu'il y a le même souci cela signifiera que ça vient du module? Enfin je dis "mon portable" ma sc'est plutôt celui à mon père le miens est sous bada X( .
Ok je vais voir sur le net ce que je trouve et je test quand mon père rentre.
J'ai un peu de nouveau. J'ai maintenant beaucoup de nouveau! Comme je l'ai dis plus haut le log d'arduino bug beaucoup. J'ai donc essayé avec l'hyper terminal, ou du moins le logiciel putty car l'hyper terminal n'est plus installer on Windows 7. Et là ça fonctionne très bien. Il y a quelques millième de seconde de latence (le temps que je tourne la tête pour voir dans le fond de ma chambre).
Aurais-tu une explication? Cela vient donc finalement non pas de mon PC mais du log d'arduino?
En tout cas je suis content d'avoir résolu mon problème.
Mais comme d’habitude, a une solution suis toujours un problème (oui je sais ça ne veut rien dire).
J'ai branché à ma carte Aduino uno 12 Led blanches. Je l'ai commande toute séparément (elle ne sont pas liés). Et lorsqu'elle sont alimenté elle "clignote". Et je ne sais pas pourquoi....
EDIT : Finalement j'ai parlé trop vite. La latence est revenus.... Je ne sais pas pourquoi "ça s'en va et ça revient" (cf claude françoi ). Je vais tester avec le portable à mon père finalement . Et si ça fait pareil j'achèterais un bon module. En aurais-tu un pas trop cher à me conseillé?
Elles sont alimentés comment tes LED ?
Pour ce qui est du terminal Arduino qui est pas terrible, c'est ptet du au fait que c'est du JAVA (donc JVM) alors que Putty lui est codé avec un vrai langage compilé (donc plus rapide). Mais je vais pas non plus dire que j'en suis sur à 100%...
Mes leds sont alimenté par la carte Arduino. Je pense qu'elle demande trop d'intensité.....
J'ai un problème, je suis allé voir dans la doc et j'ai trouvé des commandes pour le baud. Mais quand je l'ai entre et bien c'est ma arduino qui analyse les données......
Je me demande si il n'y a pas de mauvaises compréhensions par moment. Il y a plein de liaisons série dans ton montage.
Si j'ai bien compris, ton arduino est connecté en USB au PC. Sur cet USB, on émule une liaison série. en fait, il y a un composant sur ta carte arduino qui est connecté par USB au PC et par UART au microcontroleur de la carte. C'est cet UART que tu initialises avec Serial.begin(9600);, et il faut mettre le même baudrate sur ton PC. on va l'appeler UART PC.
Il y a une autre UART qui relie ton arduino à ton module bluetooth. Cette liaison est initialisée dans ton code par bluetooth.begin(9600);. Il faut que ton module bluetooth démarre à 9600 baud. Si tu envoie une commande de changement de baudrate à ton module bluetooth, c'est a priori pour changer le baudrate sur cette liaison. On va l'appeler UART bluetooth
Ensuite, ton module bluetooth est connecté à ton PC par bluetooth, et utilise le profil nommé SPP (serial port profile) pour émuler une liaison série ente les deux. A priori, sur cette liaison, le baudrate a peu d'importance (et à priori, seul le PC devrait te proposer de le configurer, pour proposer les mêmes options que sur les autres ports série). On va l'appeler UART SPP.
Si j'ai bien lu, UART bluetooth est un softSerial, ce que j'interprête comme un GPIO sur lequel on produit les signaux d'une UART. Ca prend du temps processeur. Es tu sur que le reste de ton programme ne peut pas, par moment, prendre trop de temps processeur, et introduire de la latence ? Quand tu écartes ton PC du module bluetooth, tu dois les débrancher, donc tu n'a plus de traces de UART PC ? Pour rappel, un cable USB fait maximum 3 à 5m. Si tu es débranché, a tu bien désactivé le controle de flux matériel ?
Pour tes LEDs, elles consomment combien ? t'aurais pas dépassé l'ampérage max du GPIO par hasard ?
Je ne sais pas combien ces led consomme c'est de la récupération..... Mais c'est ma batterie qui est pas superbe puisque lorsque la carte est branché à mon PC je n'est pas ce clignotement.
Je ne connais pas bien tout ce qui est liaison série et je ne sais pas si le programme peut prendre trop de temps processeur... Ou du moins je ne pense pas.
Sur putty je ne pense pas avoir le contrôle de flux matériel.
Mais j'ai tout de même refais des test :
Test 1:
J'ai envoyé le programme si dessous à ma carte arduino :
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(2, 3);
byte b;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.flush();
bluetooth.begin(9600);
//enter command mode
bluetooth.println("$$$");
Serial.println("setup complete.");
}
void loop() {
// if theres data from the bluetooth module
if (bluetooth.available()) {
//echo it to the serial monitor
Serial.print("bt module said:");
Serial.println((char)bluetooth.read());
}
//if theres data from the serial monitor
if (Serial.available()>0) {
b=Serial.read();
//echo it back to the serial monitor
Serial.print("serial said:");
Serial.println(b);
//send it to the bluetooth module
bluetooth.print(b);
}
}
Ce n'est pas le même qu'au dessus puisque j'ai du faire des modifications.
Mon module bluetooth est branché sur les pin 2 et 3.
J'ai ouvert deux putty. L'un est branché sur le COM3 (USB) et l'autre sur le COM6 (bluetooth).
J'ouvre d'abord la fenêtre en COM3. Puis la fenêtre COM6 et j'ai dans la fenêtre COM3 :
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !