Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Android/Arduino par bluetooth

Sujet résolu
    11 février 2014 à 11:56:51

    Bonjour,

    Nous sommes un groupe de trois élèves de terminale SSi. Notre projet cette année est de connecter une tablette Android à un Arduino en Bluetooth, lui-même équipé de Leds. Nous avons un Arduino Mega 2560 avec un "bluetooth shield v1.1 by Seeedstudio", et une Galaxy Tab 2. L’appairage entre les deux appareils se fait bel et bien, seulement le transfert de données n’aboutit pas… Le principe est d’envoyer la valeur 1 à l’Arduino lorsque le bouton « Allumer la Led 1 » est activé sur l’application développée par nos soins. Même idée pour les LED 2 et 3.

    Il semble donc que ce soit le programme de liaison Bluetooth qui présente un problème car celui de base sans fonction Bluetooth a passé les tests avec succès.

    Voici donc le code : 
    #include <SoftwareSerial.h>   //Software Serial Port
    #define RxD 7
    #define TxD 6
    SoftwareSerial blueToothSerial(7,6);  //(RxD, TxD)
     const int LED0 = 0;
     const int LED1 = 1;
     const int LED2 = 2;
     char serialA = 0;
    void setup() {
      Serial.begin(9600);
      pinMode(RxD, INPUT);
      pinMode(TxD, OUTPUT);
      setupBlueToothConnection(); 
      pinMode(LED0, OUTPUT);
      pinMode(LED1, OUTPUT);
      pinMode(LED2, OUTPUT);
      digitalWrite(LED0, LOW);
      digitalWrite(LED1, LOW);
      digitalWrite(LED2, LOW);
    }
    void loop() {
      char serialA;
        if(blueToothSerial.available()){//check if there's any data sent from the remote bluetooth shield
          serialA = blueToothSerial.read();
          Serial.print(serialA);
        }
        else{
    digitalWrite(LED0, HIGH);
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
        }
      switch (serialA)
      {
          case 1:      
            digitalWrite(LED0, HIGH);      
          break;      
          case 2:     
            digitalWrite(LED0, LOW);      
          break;      
          case 3:      
            digitalWrite(LED1, HIGH);      
          break;      
          case 4:      
            digitalWrite(LED1, LOW);      
          break;      
          case 5:      
            digitalWrite(LED2, HIGH);      
          break;      
          case 6:      
            digitalWrite(LED2, LOW);     
          break;                    
       }
       }
    void setupBlueToothConnection()
    {
      blueToothSerial.begin(38400); //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=SeeedBTSlave\r\n"); //set the bluetooth name as "SeeedBTSlave"
      blueToothSerial.print("\r\n+STPIN=0000\r\n");//Set SLAVE pincode"0000"
      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.
      Serial.println("2 seconds passed");
      //char recstatus;
      //blueToothSerial.print("\r\n+RTSTA:XX\r\n");
     // recstatus =  blueToothSerial.read();
      //Serial.print(recstatus);
      blueToothSerial.flush();
    }

    Nous vous remercions de votre aide,

    Cordialement.

    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2014 à 14:44:26

      /*
      Programme de reception Bluetooth via le logiciel APP Inventor
      
      - connectez une led sur la sortie digitale 11
      - connecter le module bluetooth sur les broches 0 et 1 , puis l'alim GND 5V (une fois le programme uploadé)
      
      Attention, avant d'uploader ce programme, veillez à débrancher le module bluetooth
      car celui-ci utilise les broches 0 et 1 utilisées aussi pour uploader
      un programme dans arduino
      
      Les Petits Débrouillards 2013 GNU-GPL
      */
      
      const int ledPin = 13;      // la led sera fixée à la broche 13
      byte serialA; // variable de reception de donnée via RX
      
      void setup()
      {
      
        Serial.begin(115200); // initialisation de la connexion série (avec le module bluetooth)
      
        setupBlueToothConnection(); // démarrage liason série bluetooth cf fonction en bas
      
        pinMode(ledPin, OUTPUT); // fixe la pin "ledpin" en sortie
      }
      
      void loop() {
      
        switch (serialA) {
        case 1: // si arduino reçois le chiffre 1 alors
          digitalWrite(ledPin, HIGH); // allume sur la broche "ledpin"
          break;
        case 2: // si arduino reçois le chiffre 2 alors
          digitalWrite(ledPin, LOW); // eteins la led sur la broche "ledpin"
          break;
        case 3: // si arduino reçois le chiffre 3 alors clignote
          digitalWrite(ledPin, HIGH);
          delay(100);
          digitalWrite(ledPin, LOW);
          delay(100);
      
      
        }
      }
      void serialEvent(){ // si arduino reçois quelquechose en sur l'entrée RX
        serialA = Serial.read(); // stocker la valeur reçue dans la variable SerialA
      }
      void setupBlueToothConnection() // fonction de configuration du module bluetooth
      {
        Serial.begin(115200); //vitesse de bluetooth
        Serial.print("\r\n+STBD=115200\r\n"); // fixe la vitesse du bluetooth
        Serial.print("\r\n+STWMOD=0\r\n"); //bluetooth en mode esclave
        Serial.print("\r\n+STNA=Arduino"); //nom de l'appareil
        Serial.print("\r\n+STPIN=0000\r\n");//code pin "0000"
        Serial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
        Serial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
        delay(2000); // This delay is required.
        Serial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable 
        delay(2000); // This delay is required.
        Serial.flush();
      }
      aide toi de ca si tu veux
      • Partager sur Facebook
      • Partager sur Twitter
        18 février 2014 à 8:11:00

        Merci, nous allons tester cela, je donnerai des nouvelles dès que possible.

        -
        Edité par Keziahr 18 février 2014 à 8:17:47

        • Partager sur Facebook
        • Partager sur Twitter
          18 février 2014 à 9:29:52

          Avec ce programme nous n'arrivons pas à établir la connexion bluetooth entre l'arduino et nos téléphones portables ... Il n'est pas détecté ...
          Le programme fonctionne t-il pour vous ou faut-il que nous le modifions pour qu'il soit adapté à nos demandes ?

          -
          Edité par Keziahr 18 février 2014 à 11:30:05

          • Partager sur Facebook
          • Partager sur Twitter
            13 mars 2014 à 16:33:11

            Quelqu'un aurait-il une idée s'il-vous-plaît ? :) Tout notre projet est bloqué à cause de cet incident...
            • Partager sur Facebook
            • Partager sur Twitter
              5 mai 2014 à 16:16:56

              Il faut que tu changes ta vitesse de ta connexion série. 
              De 115200 à 9600.
              Romain
              • Partager sur Facebook
              • Partager sur Twitter
                7 mai 2014 à 14:56:31

                #include <SoftwareSerial.h> //Software Serial Port
                
                #define RxD 6 // This is the pin that the Bluetooth (BT_TX) will transmit to the Arduino (RxD)
                #define TxD 7 // This is the pin that the Bluetooth (BT_RX) will receive from the Arduino (TxD)
                 
                #define DEBUG_ENABLED 1
                 
                SoftwareSerial blueToothSerial(RxD,TxD);
                
                
                //The following code is necessary to setup the bluetooth shield ------copy and paste----------------
                void setupBlueToothConnection()
                {
                 blueToothSerial.begin(38400); //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=SeeedBTSlave\r\n"); //set the bluetooth name as "SeeedBTSlave"
                 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();
                }
                
                
                /*----------------------SETUP----------------------------*/ 
                void setup() { 
                 Serial.begin(9600); // Allow Serial communication via USB cable to computer (if required)
                 pinMode(RxD, INPUT); // Setup the Arduino to receive INPUT from the bluetooth shield on Digital Pin 6
                 pinMode(TxD, OUTPUT); // Setup the Arduino to send data (OUTPUT) to the bluetooth shield on Digital Pin 7
                 setupBlueToothConnection(); //Used to initialise the Bluetooth shield
                } 
                
                /*----------------------LOOP----------------------------*/ 
                void loop() { 
                   char recvChar;
                   int len = blueToothSerial.available();
                   if (len != 0) {
                     recvChar = blueToothSerial.read();
                     Serial.print(recvChar);
                   }
                     
                } 
                
                
                
                
                essaye comme ca ;)
                • Partager sur Facebook
                • Partager sur Twitter
                Et pour quoi pas
                  25 avril 2016 à 23:27:58

                  nous avons rencontré le même problème.. quelqu'un peut nous aider à envoyer des données par bluetooth du smartphone android vers la carte arduino mega 2560, merci :)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Problème Android/Arduino par bluetooth

                  × 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.
                  • Editeur
                  • Markdown