Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



contrôler relais par bluetooth et android


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Projets -> Vos projets
Previous topic :: Next topic  
Author Message
Jérôme
Débutant

Offline

Joined: 09 Jan 2014
Posts: 1
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Fri 7 Feb - 12:27 (2014)    Post subject: contrôler relais par bluetooth et android Reply with quote

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.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Projets -> Vos projets All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino