Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



contrôler relais par bluetooth et android


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Projets -> Vos projets
Sujet précédent :: Sujet suivant  
Auteur Message
Jérôme
Débutant

Hors ligne

Inscrit le: 09 Jan 2014
Messages: 1
Masculin
Niveau d'éléctronique: Débutant

MessagePosté le: Ven 7 Fév - 12:27 (2014)    Sujet du message: contrôler relais par bluetooth et android Répondre en citant

PublicitéSupprimer les publicités ?
Je déplace ce message dans une section du forum qui me semble plus adapté...

Bonjour,

J'ai pour projet de contrôler à distance 8 relais ( et par la suite plus ) par bluetooth depuis ma tablette Android.

Étant menuisier de formation, j'ai eu quelques soucis mais j'y suis presque arrivé.

Malgré une certaine ténacité, je but sur un dernier obstacle: mettre mon installation arduino en mode Maître ( Master ), je m'explique:

Utilisant actuellement le programme android ''Contrôle Arduino Bluetooth'' je me heurte au problème qu'à chaque fermeture du programme ou verrouillage de ma tablette, mon arduino perd la connexion, ce qui après recherches est normal car il est l’esclave de ma tablette. J'aimerais dorénavant que mon arduino demande constamment à se connecter de lui même, comme un périphérique maître le ferais(par ex: bluetooth main-libre d'une voiture). Ainsi dès que tablette arriverais à portée, je n'aurais pas à la reconnecter manuellement chaque fois.

voici mon matériel:
Arduino UNO
module bluetooth HC-06
module 8 relais
tablette Samsung Galaxy Tab 2 10.1 rooté

mon code actuel ( mode esclave ( SLAVE )) ( désolé du bricolage, j'ai fais comme j'ai pu... )

#define LED_PIN1  4
#define LED_PIN2  5
#define LED_PIN3  6
#define LED_PIN4  7

#define LED_PIN5  8
#define LED_PIN6  9
#define LED_PIN7  10
#define LED_PIN8  11

int firstSensor = 0;         // first analog sensor
int secondSensor = 0;    // second analog sensor
int thirdSensor = 0;        // digital sensor
int inByte = 0;               // incoming serial byte
boolean status_unlock;
boolean status_bluetooth;

long interval = 1000;           // interval at which to blink (milliseconds)
long previousMillis = 0;        // will store last time LED was update
int minite,sec;


void setup()
{
  // start serial port at 9600 bps:
  Serial.begin(9600);
  //pinMode(2, INPUT);   // digital sensor is on digital pin 2
  //establishContact();    // send a byte to establish contact until receiver responds
 
  pinMode(LED_PIN1, OUTPUT);
  pinMode(LED_PIN2, OUTPUT);
  pinMode(LED_PIN3, OUTPUT);
  pinMode(LED_PIN4, OUTPUT);

  pinMode(LED_PIN5, OUTPUT);
  pinMode(LED_PIN6, OUTPUT);
  pinMode(LED_PIN7, OUTPUT);
  pinMode(LED_PIN8, OUTPUT);
 
  digitalWrite(LED_PIN1, HIGH);  // switch off LED
  digitalWrite(LED_PIN2, HIGH);  // switch off LED
  digitalWrite(LED_PIN3, HIGH);  // switch off LED
  digitalWrite(LED_PIN4, HIGH);  // switch off LED
  
  digitalWrite(LED_PIN5, HIGH);  // switch off LED
  digitalWrite(LED_PIN6, HIGH);  // switch off LED
  digitalWrite(LED_PIN7, HIGH);  // switch off LED
  digitalWrite(LED_PIN8, HIGH);  // switch off LED
 
  status_bluetooth = true;
  status_unlock = false;
  sec = 0;
}

void loop()
{
  if (Serial.available() > 0) { 
     
    inByte = Serial.read();                      // get incoming byte:

    if(inByte == 'A'){  
      digitalWrite(LED_PIN1, LOW);        // switch on LED
      Serial.write('A');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'a'){  
      digitalWrite(LED_PIN1, HIGH);        // switch off LED
      Serial.write('a');                   // send a char
      inByte = 0;   
    }
  
    if(inByte == 'B'){  
      digitalWrite(LED_PIN2, LOW);        // switch on LED
      Serial.write('B');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'b'){  
      digitalWrite(LED_PIN2, HIGH);        // switch off LED
      Serial.write('b');                   // send a char
      inByte = 0;   
    }
  
    if(inByte == 'C'){  
      digitalWrite(LED_PIN3, LOW);        // switch on LED
      Serial.write('C');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'c'){  
      digitalWrite(LED_PIN3, HIGH);        // switch off LED
      Serial.write('c');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'D'){  
      digitalWrite(LED_PIN4, LOW);        // switch on LED
      Serial.write('D');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'd'){  
      digitalWrite(LED_PIN4, HIGH);        // switch off LED
      Serial.write('d');                   // send a char
      inByte = 0;   
    }
  
    if(inByte == 'E'){  
      digitalWrite(LED_PIN5, LOW);        // switch on LED
      Serial.write('E');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'e'){  
      digitalWrite(LED_PIN5, HIGH);        // switch off LED
      Serial.write('e');                   // send a char
      inByte = 0;   
    }
  
    if(inByte == 'F'){  
      digitalWrite(LED_PIN6, LOW);        // switch on LED
      Serial.write('F');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'f'){  
      digitalWrite(LED_PIN6, HIGH);        // switch off LED
      Serial.write('f');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'G'){  
      digitalWrite(LED_PIN7, LOW);        // switch on LED
      Serial.write('G');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'g'){  
      digitalWrite(LED_PIN7, HIGH);        // switch off LED
      Serial.write('g');                   // send a char
      inByte = 0;   
    }  
  
    if(inByte == 'H'){  
      digitalWrite(LED_PIN8, LOW);        // switch on LED
      Serial.write('H');                    // send a char
      inByte = 0;   
    }
  
    if(inByte == 'h'){  
      digitalWrite(LED_PIN8, HIGH);        // switch off LED
      Serial.write('h');                   // send a char
      inByte = 0;   
    }  
  } // if(Serial
 
  /*
  unsigned long currentMillis = millis();
    
              if(currentMillis - previousMillis > interval) {          
                previousMillis = currentMillis;         // save the last time you blinked the LED
              
                sec++;
              
                if(status_unlock==true){
              
                  if(sec== 11){
              
                      digitalWrite(LED_PIN1, HIGH);        // switch on LED
              
                      delay(800);
                      digitalWrite(LED_PIN1, LOW);        // switch off LED
              
                      status_unlock = false;                
                      sec = 0;
                  }
                }
                else sec = 0;              
              
              }
 
 */
  
} //Loop

void establishContact() {
  while (Serial.available() <= 0) {
    Serial.write('.');                   // send a capital A
    delay(500);
  }
}

Voici le code avec lequel j'ai ''réussi à faire quelque chose'' et que j'espère pouvoir modifier en mode Maître.

J'ose juste poser encore une petite question, ayant pour but futur de passer à 12 ou même 16 relais, est-il possible de modifier un logiciel Android, dans ce cas présent, ''Contrôle Arduino Bluetooth'', afin de mettre les relais manquant, et accessoirement de les nommer différemment.

Je ne sais plus de quel côté chercher...

Je vous remercie d'avance pour l'attention portée à ce message.
En espérant sincèrement que vous pourrez  m'aider.

Bonne soirée.
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 09:05 (2017)    Sujet du message: contrôler relais par bluetooth et android

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Projets -> Vos projets Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino