Pilotage d’une Led

Adaptation du Sketch écrit pour la carte TC35 :

 /*  
 *****************************************  
  SMS receiver and light on or off a LED  
 ****************************************  
  This sketch, for the Arduino GSM shield, waits for a SMS message   
  from a specific phone number then light on or off or send the LED  
  Status.  
  Circuit:  
  * GSM shield attached to and Arduino  
  * SIM card that can receive SMS messages  
  * Led plug in pin 13  
 */  
 //-- include the GSM library  
 #include <GSM.h>  
 //-- PIN Number for the SIM and Your Phone Number  
 #define PINNUMBER ""  
 #define MYPHONE "+33xxxxxxxxx"  
 //-- initialize the library instances  
 GSM gsmAccess;  
 GSM_SMS sms;  
 //-- Array to hold the number a SMS is retreived from  
 char cSenderNumber[20],charBuf[20],c;  
 String sNumber="", sMsg, sMessage="", sSmsNumber="";   
 int dp=0,dpLed=0;  
 //-- Led PIN  
 int led = 12;  
 //-- SetUp  
 void setup()   
 {//-- initialize the digital pin as an output.  
  pinMode(led, OUTPUT);     
  //-- initialize serial communications and wait for port to open:  
  Serial.begin(9600);  
  while (!Serial) {  
   ; // wait for serial port to connect. Needed for Leonardo only  
  }   
  Serial.println("SMS Messages Receiver");    
  // connection state  
  boolean notConnected = true;  
  // Start GSM connection  
  while(notConnected)  
  {if(gsmAccess.begin(PINNUMBER)==GSM_READY)  
    notConnected = false;  
  else  
  {Serial.println("Not connected");  
   delay(1000);  
   }  
  }  
  Serial.println("GSM initialized");  
  Serial.println("Waiting for messages");  
 }  
 //-- Sketch  
 void loop()   
 {//--If there are any SMSs available()   
  if (sms.available())  
  {Serial.println("Message received from:");  
   //-- Get remote number  
   sms.remoteNumber(cSenderNumber, 20);  
   sNumber=cSenderNumber;  
   Serial.println(sNumber);    
   //-- Read message bytes and print message  
   while(c=sms.read())  
    {sMsg=sMsg+c;}  
   Serial.println(sMsg);  
   dp=0;  
   //-- If it's Your Phone Calling  
   if(sNumber.equals(MYPHONE))  
   { sSmsNumber=MYPHONE;  
     sMsg.toUpperCase();  
     if (sMsg=="ON")    
      dp=1;   
     if (sMsg=="OFF")   
      dp=2;   
     if (sMsg=="?")   
      dp=3;      
     switch (dp) {   
     case 1 :   
      {digitalWrite( led, HIGH);    
      dpLed=1;   
      break;}   
     case 2 :   
      {digitalWrite( led, LOW);    
      dpLed=0;   
      break;}   
     case 3 :   
      {if (dpLed==1)   
        sMessage="La LED est ON";   
        else   
        sMessage="La LED est OFF";       
       SendSms();     
       break;    
       }    
     case 0 :     
      {sMessage="Erreur, tapez ON, OFF ou ?, merci !";   
      SendSms();    
      break;}   
    }   
   }  
   else  
   {//-- Sender UnKnown  
      sMessage="Message '"+sMsg+"' du "+sNumber;   
      sSmsNumber=MYPHONE;   
      SendSms();   
      delay(1000);  
      sSmsNumber=sNumber;  
      sMessage="Je ne vous connais pas !";  
      SendSms();  
   }  
   Serial.println("\nEND OF MESSAGE");  
   sMsg="";  
   sNumber="";  
   //-- Delete message from modem memory  
   sms.flush();  
   Serial.println("MESSAGE DELETED");  
  }  
  delay(1000);  
 }  
 //-- Sending message function  
 void SendSms()   
 {sSmsNumber.toCharArray(charBuf, 20);  
  // send the message  
  sms.beginSMS(charBuf);  
  sms.print(sMessage);  
  sms.endSMS();   
 }  

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Articles récents
Commentaires récents
fatima dans Bienvenue !
AdminDroid dans Bienvenue !
fatima dans Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :