Go Down

Topic: Problème de programmes .. (Read 5439 times) previous topic - next topic

BonCourage

Rebonjour à tous, le programme est terminer tout marche correctement j'ai pris le temps d'y rajouté les commentaires pour rendre ça plus clair. Le seul problème persistant encore à ce jour c'est la réception sur la deuxième carte. Je ne comprend pas le programme de réception à était correctement implanté pourtant (merci à pierrotm777).

Code: [Select]
// RX, TX : Définition ports séries du module XBee

#include <SoftwareSerial.h>
SoftwareSerial XbeeSerial(10, 11);  // Ports utilisé : 10 / 11




         ///////// DEBUT DU PROGRAMME /////////

int calibrationTime = 5;       // 5 secondes de calibrage
int inputPin = 2;              // Définir l'ensemble des variables utilisé
int pirState = LOW;             
int val = 0;                   

void setup()
{

  pinMode(inputPin, INPUT);                               // Déclaration du capteur en entrer
  Serial.begin(9600);

  Serial.print("Calibrage du Capteur Volumetrique ");     // Initialisation en cours
  for(int i = 0; i < calibrationTime; i++){
    Serial.print("..");
    delay(1000);
  }
 
  setupXbee();
}

void loop()
{
  val = digitalRead(inputPin);     // Lire la valeur d'entrer : 0 Rien à signaler
  Serial.println(val);
  if (val == HIGH) {
    delay(100);                    // Vitesse de rafraichissement des informations

    if (pirState == LOW) {

      Serial.println("!! MOUVEMENT SUSPECT !!");       // Message de prévention (allumage d'une led possible)
      pirState = HIGH;
    }
  } else {
    delay(100);
    if (pirState = HIGH){
      Serial.println("!! PLUS DE MOUVEMENT !!");      // Message de prévention, plus de signal
      pirState = LOW;
    }
  }
 
   
 
                       // Sous programme Xbee LoopXbee


  loopXbee();
}


                       // Configuration d'Arduino initiale

void setupXbee()
{         

  XbeeSerial.begin(9600);               //  Serial.begin(9600);
 
  Configuration();                      //Lance le réglage par défaut du module XBee pour la partie émettrice
}
                                        //Programme en boucle ... (attente d'une réponse de la carte Arduino)

void loopXbee() {
  delay(200);
 
  char reception[20];
  String decryption;
  int i;
    i = 0 ;
    while ( Serial.available()>0 ) {
                                                    //Si reçoit quelque chose, commence à inscrire caractère par caractère dans la chaîne 'decryption'
                                                    //'reception' sert d'intermède pour mettre l'entièreté de la valeur reçue dans 'decryption'
      reception[i] = Serial.read();
      decryption += reception;
      i++;
      delay(1000);
    }
    if (i>0) {
                                                   //Serial.println(decryption); //UNIQUEMENT POUR LE DEBOGAGE PC
      XbeeSerial.print(decryption);                //Envoi l'information reçue au récepteur XBee
      delay(1000);
      decryption = "";                             //Remet à zéro la variable decryption
    }
}


        //Configuration du XBEE (AUTOMATIQUE)

void Configuration() {
  Serial.println("CAPTEUR OPERATIONNEL");                                  //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("+++");
  delay(3000);
  Serial.println("BAUD RATE : 9600");                                      //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATBD3\r");
  delay(90);
  Serial.println("CHANNEL : 12");                                          //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATCH12\r");
  delay(90);
  Serial.println("ID CHANNEL : 2014");                                     //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATID2014\r");
  delay(90);
  Serial.println("MODULE ADRESS : 1");                                     //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATMY1\r");
  delay(90);
  Serial.println("DESTINATION ADRESS : 2");                                //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATDL2\r");
  delay(90);
  Serial.println("AES KEY : ATKY26CF2FD6DE74D631A7ED434125997B3D");        //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATKY26CF2FD6DE74D631A7ED434125997B3D\r");
  delay(90);
  Serial.println("AES ENABLED");                                           //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATEE1\r");
  delay(90);
  Serial.println("NO PARITY");                                             //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATNB0\r");
  delay(90);
  Serial.println("MODULE NAME");                                           //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATNI MODULE1\r");
  delay(90);
  Serial.println("WRITE CONFIGURATION");                                   //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATWR\r");
  delay(90);
  Serial.println("CLOSE NODE");                                            //UNIQUEMENT POUR LE DEBOGAGE PC
  XbeeSerial.print("ATCN\r");
  delay(90);
  Serial.println("BACK TO LOOP");                                          //UNIQUEMENT POUR LE DEBOGAGE PC
}



                                                                          ///////// FIN PROGRAMME /////////



Je vous rajoute les photos de mon montage réception + émission
Merci à tous bonne journée.  ;D


Go Up