أخر الاخبار

كود الأردوينو sim900 لإستقبال/إرسال رسالة وتشغيل الريلاي/ليد

كود الأردوينو sim900 لإستقبال/إرسال رسالة وتشغيل الريلاي/ليد


السلام عليكم ورحمة الله تعالى وبركاته

أهلا و مرحبا بكم متابعي مدونة سوفت بيديا
قمت سابقا بكتابة مواضيع مختلفة حول اكواد وطريقة ربط الاردوينو مع الملحقات وتناولنا ايضا مشروع الهيدروبونيك عن طريق الاردوينو وكذلك عدة أكواد مختلفة مختصرة لعمل وظائف معينة.. 
الان سنتطرق لاكواد سريعة  وجاهزة للاردوينو سنتطرق في كل مرة لكود جديد سنحتاجه في مختلف المشاريع التي نقوم بها، سواء لمشاريع بسيطة او تحكم ذاتي (آلي) او عن بعد بالاجهزة او لمشاريع معقدة ..

اليوم سنتعرف ان شاء الله على كود للأردوينو مع السيم sim900 لإستقبال رسائل وإرسال الرد وتشغيل الريلاي والليد..


Arduino code sim900 to receive/send a message and turn on the relay/LED


الآن ودون إطالة ننتقل لنتعرف على كود الأردوينو sim900 لإستقبال اوامر بالرسائل وإرجاع رسائل التنفيذ مع تشغيل الريلاي والليد مع شرح أهم النقاط الجديدة علينا فيه ضمن الكود البرمجي للاردوينو..



كود الأردوينو sim900 لإستقبال/إرسال رسالة sms وتشغيل الريلاي/ليد مع الشرح:

Arduino code sim900 to receive/send a message and turn on the relay/LED



#include 
int Relay=2;  
int Led=4;  
SoftwareSerial SIM900(7,8);
int i;

// Variable to store text message
String ComingCall;
String IDsms;
 String TXsms; 
String message = "Led is ON, Relay is ON";

void setup(){
  ComingCall.reserve(200);
//  message.reserve(200);
  pinMode(Relay,OUTPUT);
  pinMode(Led,OUTPUT);
  digitalWrite(Relay,HIGH);
  digitalWrite(Led,HIGH);

  Serial.begin(9600);
  SIM900.begin(9600);
  delay(100);
  SIM900.write("AT+CMGF=1\r"); //تفعيل وضع الرسائل
  delay(500);
  SIM900.write("AT+CNMI=2,2,0,0,0\r");
  delay(100);
}

void loop(){
while (SIM900.available()) {
  ComingCall=SIM900.readString();
   Serial.println(ComingCall); 
  }

// عند ارسال رسالة ينفذ الامر اما تشغيل او ايقاف او  الحالة مع الرد برسالة 
if(ComingCall.indexOf("+CMT")>0){
    Serial.println("*************+CMT***********"); 
    ComingCall.replace("+CMT: \"", ""); 
    ComingCall.replace("+212", "0");
   IDsms=ComingCall.substring(2, 12);  \\الحصول على رقم مرسل الرسالة
   TXsms = ComingCall.substring(12, 200); \\الحصول على محتوى الرسالة
Serial.print("IDsms=");
Serial.println(IDsms); 
Serial.print("TXsms="); 
Serial.println(TXsms); 
ComingCall=9999;} \\تصفير السترينغ للخروج من if..

if(TXsms.indexOf("ON")>=0){
       String message="Led is ON, Relay is ON";
       delay(100);
       SIM900.print("AT+CMGF=1\r");   
       delay(1000); 
       SIM900.println("AT + CMGS = \"05555555555\""); 
       delay(1000);
       SIM900.println(message); 
       delay(1000); 
       SIM900.println((char)26); 
       delay(100); 
       SIM900.println();
       delay(5000);
     digitalWrite(Led,HIGH);
     digitalWrite(Relay,HIGH); 
     TXsms="rrrrrrr";    \\تصفير السترينغ للخروج من if..
     ComingCall=SIM900.readString(); Serial.println(ComingCall); 
     Serial.println("****************************"); 
     delay(500);}

if(TXsms.indexOf("OFF")>=0){
       String message="Led is off, Relay is Off";
       delay(100);
       SIM900.print("AT+CMGF=1\r"); 
       delay(1000); 
       SIM900.println("AT + CMGS = \"05555555555\"");
       delay(1000);
       SIM900.println(message); 
       delay(1000); 
       SIM900.println((char)26); 
       delay(100); 
       SIM900.println(); 
       delay(5000);     
     digitalWrite(Led,LOW);
     digitalWrite(Relay,LOW); 
     TXsms="rrrrrrr";  \\تصفير السترينغ للخروج من if..
     ComingCall=SIM900.readString(); 
     Serial.println(ComingCall); 
     Serial.println("****************************"); 
     delay(500);}

if(TXsms.indexOf("STATE")>=0){
       String tmp=message;
       delay(100); 
       String message="STATE: "+tmp;
       delay(100);
       SIM900.print("AT+CMGF=1\r"); 
       delay(1000); 
       SIM900.println("AT + CMGS = \"05555555555\""); 
       delay(1000);
       SIM900.println(message); 
       delay(1000); 
       SIM900.println((char)26); 
       delay(100); 
       SIM900.println(); 
       delay(5000);     
     TXsms="rrrrrrr";  \\تصفير السترينغ للخروج من if..
     ComingCall=SIM900.readString();
     Serial.println(ComingCall);
     Serial.println("****************************"); 
     delay(500);}

}





شرح الالوان المضمنة بكود الأردوينو sim900 لإستقبال/إرسال رسالة sms وتشغيل الريلاي/ليد

 باللون الأخضر:  التعاريف الأساسية (ليدات , سيريل .. الخ).         

 باللون الابيض:  التعاريف الثانوية (pinMode ,HIGH .. الخ).     

 باللون الأحمر:  القيم المختلفة ("Setup Start...." , 9600 .. الخ).

 باللون البرتقالي:  الفواد (او القسم البرمجي الاول والثاني اللوب) (void .. الخ).

 باللون الأزرق:  الشرح المضمن مع الكود (// wait for 5 a second .. الخ). 



أرجو أن تكونو قد إستفدتم من الكود السابق كود الأردوينو sim900 لإستقبال/إرسال رسائل sms وتشغيل الريلاي/والليد الموضح بالاعلى ووجدتم ظالتكم هنا في هذا الموضوع..
إذا أعجبك موضوع "كود الأردوينو sim900 لإستقبال/إرسال رسائل وتشغيل الريلاي والليد" وللحصول على أكواد أخرى خاصة بالاردوينو او بقسم الاردوينو يرجى الإنتقال لهذه الروابط:


 تقبلو تحياتي.
والسلام عليكم ورحمة الله تعالى وبركاته
اللهم صلي وسلم على نبينا محمد
(صلى الله عليه وسلم)

ليصلك جديدنا تابعنا على صفحاتنا الاجتماعية: الفيسبوكالتويتر ,tumblrpinterestlinkedininstagram
 

الحصول على رابط هذا الموضوع

رابط:
رابط الموضوع بكود html:
رابط الموضوع للمنتديات:
Banggood WW Banggood WW Banggood WW
تعليقات
ليست هناك تعليقات
إرسال تعليق
    реклама партнерских ссылок



    وضع القراءة :
    حجم الخط
    +
    16
    -
    تباعد السطور
    +
    2
    -