Partage
  • Partager sur Facebook
  • Partager sur Twitter

ARDUINO

SHIELD GSM

    21 février 2018 à 13:28:55

    Bonjour, je suis en terminal STI2D et mon projet est d'envoyer les messures des capteurs par SMS mais le probleme c'est que j'arrive a crée une moyenne des 4 capteurs mais la partie gsm bloque .. alors qu'il n'y as zero erreurs de compilation .. je ne comprend pas si quelqu'un pourais m'aider svp .. Merci d'avance !! 

    Je vous laisse mon programme ci dessous :

    ******************************************************************************************************************************************************************************

     //capteur 1

    int echoPin1 =2;

    int initPin1 =3;

    int distance1 =0;


    //capteur 2

    int echoPin2 =5;

    int initPin2 =6;

    int distance2 =0;


    //capteur 3

    int echoPin3 =8;

    int initPin3 =9;

    int distance3 =0;


    //capteur 4

    int echoPin4 =11;

    int initPin4 =12;

    int distance4 =0;


     int moy;



    //Initialisation du SIM900

    #include <SoftwareSerial.h>

    SoftwareSerial SIM900(7, 10); // Configuration SIM900



    //5 carractère

    char buffer [5];  



    void setup() {


      SIM900.begin(9600); //Configurer la vitesse de série pour SIM900

      delay(15000); //Retard pour trouver la lumière 

      Serial.begin(9600); //Définir la vitesse de série pour l'Arduino

      Serial.println("OK"); //Envoie ok pour dire que tout vas bien


      pinMode(initPin1, OUTPUT);

      pinMode(echoPin1, INPUT);

      pinMode(initPin2, OUTPUT);

      pinMode(echoPin2, INPUT);

      pinMode(initPin3, OUTPUT);

      pinMode(echoPin3, INPUT);

      pinMode(initPin4, OUTPUT);

      pinMode(echoPin4, INPUT);


      Serial.begin(9600);



    }


    void loop()



     {



      distance1 = getDistance(initPin1, echoPin1);


      distance2 = getDistance(initPin2, echoPin2);

      distance3 = getDistance(initPin3, echoPin3);


      distance4 = getDistance(initPin4, echoPin4);

      moy = (distance1 + distance2 + distance3 + distance4)/4;

      Serial.print (moy);


      Serial.println(" est la moyenne des 4 capteurs");


    }



    int getDistance (int initPin, int echoPin) {


      digitalWrite(initPin, HIGH);

      delayMicroseconds(1000);

      digitalWrite(initPin, LOW);

      unsigned long pulseTime = pulseIn(echoPin, HIGH);

      int distance = pulseTime/58;

      return distance;

    }




    void sms()//Fonction pour envoyer la valeur.


      {

    SIM900.print("AT+CMGF=1\r"); // Commande AT pour envoyer le message

    delay(100);

    SIM900.println("AT+CMGS=\"+33688387196\""); // Numero de récéption du message

    delay(100);

    SIM900.println(itoa(moy,buffer,10)); // Messure à envoyer (entier convertie en code ASCCI) 

    delay(100);

    SIM900.println((char)26); // End AT command with a ^Z, ASCII code 26 //Comando de finalizacion

    delay(100);

    SIM900.println();

    delay(5000); // Tiempo para que se envie el mensaje

    Serial.println("SMS sent successfully");

    }


    ******************************************************************************************************************************************************************************

    JULIEN

    • Partager sur Facebook
    • Partager sur Twitter

    ARDUINO

    × 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