Go Down

Topic: Fusion de deux programmes (Read 340 times) previous topic - next topic

ZackDee

Bonsoir, dans le cadre de notre P.I, nous souhaitons recueillir le poids d'une lettre ou d'un colis puis envoyer l'information par SMS. Nous avons donc deux programmes arduino, un pour acquérir l'information et un pour envoyer un SMS. Les deux programmes marchent indépendamment l'un de l'autre mais nous n'arrivons pas a les faire fonctionner ensemble. Si vous avez quelques pistes, voici les programmes :

Voici le 1er programme :
Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); // RX,TX (coté UNO)

void setup(){
  SIM900.begin(2400);//moniteur serie du SIM900
  Serial.begin(9600);//moniteur serie de l'Arduino
 
  //Pour envoyer un sms sous forme de texte
  Serial.println("envoi de la commande : AT+CMBF=1");
  SIM900.print("AT+CMGF=l\r"); //format du sms
  GetSIM900();
  //insertion du code PIN
  Serial.println("envoi de la commande : AT+CPIN=\"2044\"");
  SIM900.print("AT+CPIN=\"2044\"\r");
  GetSIM900();
  //obtenir numero du centre
  Serial.println("envoi de la commande: AT+CSCA=?");
  SIM900.print("AT+CSCA=?\r");
  GetSIM900();
  //numero du centre (free)
  Serial.println("envoi de la commande: AT+CSCA=\"+33695000695\"");
  SIM900.print("AT+CSCA=\"+33695000695\"\r");
  GetSIM900();
  //Numero de telephone du destinataire
  Serial.println("envoi de la commande : AT+CMGS=\"+33771699190\"");
  SIM900.print("AT+CMGS=\"+33771699190\"\r");
  GetSIM900();
  //ecriture du sms
  Serial.println();
  Serial.println("envoi sms");
  SIM900.print( "Une lettre est arrivée");//texte à envoyer
  SIM900.println(char(26));//fin du message:CTRL-Z
  GetSIM900();
  Serial.println("c'est fait.");
}
void loop(){
}
  void GetSIM900(void){
    delay(2000);
    while(SIM900.available()){
      Serial.print((char)SIM900.read());}
  }


Et le deuxieme, dans lequel il faut integrer le 1er programme :
Code: [Select]
#include <Hx711.h>


Hx711 scale(A2, A3); //connecter en entrées analogique 2 et 3
int gramme=(scale.getGram(), 1);

void setup(){
   Serial.begin(9600);
   pinMode(gramme,OUTPUT);   
}
void loop() {
  digitalWrite(gramme,HIGH);
  Serial.println(" g");
  delay(200);
if (gramme < 200){
 Serial.print ("envoyer une lettre")
;}
else {
 Serial.print ("envoyer un colis")
;}
}


En vous remerciant d'avance.

68tjs

#1
Dec 07, 2017, 06:36 pm Last Edit: Dec 07, 2017, 06:40 pm by 68tjs
Sujet traité 10 fois par an (au minimum).

Faites un peu de recherche.
A quoi sert la fonction setup() ?
A quoi sert la fonction loop() ?

Et vous devriez trouver la solution a votre problème.
Ou alors c'est que vous ne comprenez pas les deux programmes que vous voulez fusionner.

Go Up