Bonjour à tous,
Etant nouveau dans le mode de l'électronique et l'univers Arduino, j'ai commencé depuis peu à m'y intéresser. Après plusieurs essais concluant sur des choses "basiques" du genre allumer des LEDS, utiliser des switch/Boutons poussoirs, jouer quelques musiques avec un buzzer etc …
Je suis actuellement en train d'essayer de communiquer avec mon arduino via mon téléphone Android. Le shield bluetooth dont je dispose est celui-ci : http://www.seeedstudio.com/wiki/Bluetooth_Shield_V2.0
Voici la photo de ce dernier avec les jumper qui je pense, sont bien placés avec le code suivant :
http://www.hostingpics.net/viewer.php?id=175649IMG20160421141649.jpg
( Bon, après plusieurs essais je n'arrive pas à faire apparaître directement ma photo sur le message, si quelqu'un pouvait m'éclairer un peu sur la procédure, j'ai essayé en collant les liens donnés sur le site d'hébergement, ou en passant par la case "image" du menu du forum mais rien n'y fait :/ )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <SoftwareSerial.h> //Software Serial Port #define RxD 6 #define TxD 7 #define DEBUG_ENABLED 1 SoftwareSerial blueToothSerial(RxD,TxD); void setup() { Serial.begin(9600); pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); setupBlueToothConnection(); } void loop() { char recvChar; while(1){ if(blueToothSerial.available()){//check if there's any data sent from the remote bluetooth shield recvChar = blueToothSerial.read(); Serial.print(recvChar); } if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here recvChar = Serial.read(); blueToothSerial.print(recvChar); } } } void setupBlueToothConnection() { blueToothSerial.begin(9600); //Set BluetoothBee BaudRate to default baud rate 38400 blueToothSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode blueToothSerial.print("\r\n+STNA=DUDE\r\n"); //set the bluetooth name as "DUDE" blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here delay(2000); // This delay is required. blueToothSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable Serial.println("The slave bluetooth is inquirable!"); delay(2000); // This delay is required. blueToothSerial.flush(); } |
J'arrive à me connecter au shield sans soucis avec mon téléphone, et j'obtiens bien " The slavue Bluetooth is inquirable" sur le terminal série. Cependant, quelle que soit l'application que j'utilise, je n'arrive pas à faire afficher des caractères qui devraient l'être avec ce code :
1 2 3 | if(blueToothSerial.available()){//check if there's any data sent from the remote bluetooth shield recvChar = blueToothSerial.read(); Serial.print(recvChar) |
Je ne sais pas si l'erreur vient de mon inexpérience avec ce genre d'application, ou bien du code et je ne sais pas vraiment comment le déterminer non plus :/ J'aimerais donc savoir si cette question a déjà été posée ou non ( d'après mes recherches non, mais on ne sait jamais) et si vous pourriez m'aider à résoudre mon problème
N'hésitez pas à me demander d'autres photos/explications de mes tests.
Je vous remercie d'avance pour l'aide que vous pourrez m'apporter, et vous souhaite une bonne journée