ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے

اس GSM ریلے کا استعمال کرتے ہوئے، آپ زمین کے کسی بھی کونے میں جہاں سیلولر نیٹ ورک موجود ہے، 220 V پر ریٹیڈ اور 2 kW سے زیادہ کی طاقت والے کسی بھی بوجھ کو آن کر سکتے ہیں۔

ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے
اس ڈیوائس کو gsm ماڈیول SIM800L کے ذریعے arduino nano کے ذریعے کنٹرول کیا جاتا ہے۔ اجزاء کی فہرست کے ساتھ ایک فعال خاکہ ذیل میں دیا گیا ہے۔ یہ بلٹ ان بیٹریوں سے یا 220 V نیٹ ورک سے کام کر سکتا ہے۔ نیٹ ورک سے کام کرتے وقت، لوڈ 2 کلو واٹ تک بجلی استعمال کر سکتا ہے۔ بیٹریوں سے، زیادہ سے زیادہ آؤٹ پٹ پاور 300 ڈبلیو۔

ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے
اسکیم کے بارے میں مختصراً۔

اس ڈیوائس میں 4 بلاکس ہیں:

  • انورٹر یونٹ
  • کنٹرولر اور بیٹری یونٹ
  • بلاتعطل بجلی کی فراہمی کا یونٹ
  • کنٹرول بلاک

انورٹر یونٹ ایک باقاعدہ 500t کار انورٹر ہے۔ یہ کم پاور کے ساتھ بھی کام کرے گا، لیکن زیادہ سے زیادہ آؤٹ پٹ پاور بھی انورٹر کی طاقت کے تناسب سے کم ہوگی۔

کنٹرولر اور بیٹری یونٹ ایک باقاعدہ سستا BMS S3 ڈرائیور ہے جو 3 لیتھیم آئن بیٹریوں کو جوڑنے کے لیے ڈیزائن کیا گیا ہے۔ بیٹریاں زیادہ کرنٹ ہیں۔ وہ 35 ایمپیئر کا کرنٹ فراہم کر سکتے ہیں۔ اگر آپ کی طاقت کم ہے، تو آپ کم زیادہ سے زیادہ کرنٹ کے ساتھ سستی بیٹریاں خرید سکتے ہیں۔

بلاتعطل پاور سپلائی یونٹ ٹرانجسٹر VT3, VD4, R4, R5, R3 پر بنایا گیا ہے۔ زینر ڈائیوڈ VD4 کا کیتھوڈ براہ راست پاور سپلائی سے منسلک ہوتا ہے اور جب پاور لگائی جاتی ہے تو ٹرانزسٹر VT3 کھل جاتا ہے۔ اس کے کھلنے کے بعد، تمام ریلے ان پٹس پر ایک منفی پوٹینشل آجاتی ہے اور ریلے پاور سپلائی سے سرکٹ پاور سپلائی موڈ میں بدل جاتے ہیں۔ ریڈی میڈ ریلے اسمبلیوں کی ایک اہم خصوصیت: ان میں سے کچھ اس وقت کام کرتی ہیں جب مثبت پوٹینشل ان پٹ میں آتا ہے، اور کچھ جب منفی۔ اگر آپ کے پاس پہلا آپشن ہے، تو آپ کو R3 کو ٹرانجسٹر VT3 کے ایمیٹر گیپ میں منتقل کرنے اور ریلے ان پٹ کو اسی ٹرانجسٹر کے ایمیٹر سے جوڑنے کی ضرورت ہے۔

کنٹرول یونٹ کو SIM800 ماڈیول اور arduino nano پر جمع کیا جاتا ہے۔

ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے

یہ وہی ہے جو جمع شدہ سرکٹ کی طرح لگتا ہےریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے

جب پیک کیا جاتا ہے تو ایسا لگتا ہے۔ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے

ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے

ریڈی میڈ پرزوں سے بنے انورٹر کے ساتھ خود مختار GSM ریلے

ڈیوائس کو آپ کے فون سے SMS موصول ہونے کے لیے، آپ کو your_phone متغیر میں اپنا فون نمبر لکھنا ہوگا۔ ایک LCD ڈسپلے کو Arduino سے جوڑنا بھی ممکن ہے، مثال کے طور پر wh1601 یا wh0802، لیکن آپ کو انکرپشن lcd کے ساتھ تمام لائنوں کو غیر تبصرہ کرنے کی ضرورت ہوگی۔

کوڈ

char your_phone = "+79148389933";

#include <SoftwareSerial.h>                                          // Подключаем библиотеку SoftwareSerial для общения с модулем по программной шине UART
SoftwareSerial softSerial(8,9);                                      // Создаём объект softSerial указывая выводы RX, TX (можно указывать любые выводы Arduino UNO)
// include the library code:
//#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
//const int rs = 12, en = 11, d4 = 5, d5 = 6, d6 = 7, d7 = 10;
//LiquidCrystal lcd(rs, en, d4, d5, d6, d7);                                                               // В данном случае вывод TX модуля подключается к выводу 2 Arduino, а вывод RX модуля к выводу 3 Arduino.
//  Инициируем работу шин UART с указанием скоростей обеих шин:      //
String buf2,buf3;
int g=0;

    String cmd1;
void setup(){                                                        //
init_port();
      // lcd.begin(16, 2);
  // Print a message to the LCD.
  //lcd.clear();
  //  lcd.setCursor(0, 0);
 /// lcd.print("VKL");
 // lcd.setCursor(0, 1);
 /// lcd.print("ZHDITE");

        /// init_port();// Инициируем передачу данных по аппаратной  шине UART на скорости  9600 (между Arduino и компьютером)
    softSerial.begin(9600);                                         // Инициируем передачу данных по программной шине UART на скорости 38400 (между модулем и Arduino)
        Serial.begin(9600);   
        delay(30000);

  //  cmd1 ="AT+CMGF=1rn";
  softSerial.print("AT+CMGF=1rn"); 
  ///  print_lcd(cmd1);
delay(1000);
       dellAllSMS();  
//  cmd1 ="AT+CMGDA="DEL ALL"rn";
    // print_lcd(cmd1);
//cmd1="AT+CPAS";
  ///   print_lcd(cmd1);
}                                                                    //
      
   
      char c;  
      int m=0;
      int i=0;//
      int n=0;
//  Выполняем ретрансляцию:                                          // Всё что пришло с модуля - отправляем компьютеру, а всё что пришло с компьютера - отправляем модулю

void dellAllSMS(){
  /* This deletes all sms in memory  
  
  */

  softSerial.print("AT+CMGDA="DEL ALL"rn"); // set sms to text mode

delay(3000);
}
void pin_on_setb()
{
 digitalWrite(2,1);
  digitalWrite(13,1);
}
void pin_off_setb()
{
 digitalWrite(2,0);
  digitalWrite(13,0);
}
void pin_on_inv()
{
 digitalWrite(3,1);
  //  digitalWrite(13,1);
}
void pin_off_inv()
{
 digitalWrite(3,0);
   // digitalWrite(13,0);
}
void init_port()
{
pinMode(2,1);
pinMode(3,1);
    pinMode(13,1);
}
String readData(){
   // this function just reads the raw data
   uint16_t timeout=0;
   while (!softSerial.available() && timeout<10000)
   {
     delay(10);
     timeout++;
   }
   if(softSerial.available())
   {
     String output = softSerial.readString();
     //if(DEBUG)
    ///   Serial.println(output);
     return output;
   }
 }
String buf, bufferIndex; 
int tempIndex=0;
int messageIndex;
int prev=0;
int power=0;
void loop(){                                                         //
   /* if(softSerial.available()){    Serial.write(softSerial.read());} // Передаём данные из программной шины UART в аппаратную  (от модуля     через Arduino к компьютеру)
    if(    Serial.available()){softSerial.write(    Serial.read());} // Передаём данные из аппаратной  шины UART в программную (от компьютера через Arduino к модулю    )*/

         //   lcd.clear();
     //  lcd.setCursor(0, 0);
     //  lcd.print("Nagruzka");
            //  lcd.setCursor(0, 1);
           //   if (power==1)
          //    {
         //              lcd.print("VKL");
     //         }
         //     else {lcd.print("VIKL");}
      softSerial.print(F("AT+CMGL="ALL",0"));
  softSerial.print("r");
  buf = readData();
 // Serial.println(buf);
tempIndex = buf.lastIndexOf("+CMGL: ");
tempIndex = tempIndex + 6;
    bufferIndex = buf.substring(tempIndex);
    bufferIndex = bufferIndex.substring(1,(bufferIndex.indexOf(",")));
    messageIndex = bufferIndex.toInt();
    ///Serial.println(messageIndex);
    if(prev!=messageIndex)
    {
      tempIndex = buf.lastIndexOf(your_phone);
     //  lcd.clear();
     //  lcd.setCursor(0, 0);
     //  lcd.print("SMS READ");

     if((digitalRead(4))&&(tempIndex!=-1))
     {
      pin_on_inv();
      delay(2000);
      pin_off_inv();
     // i=1;
   //  power=1;
     }
     else 
     {
     pin_on_setb();
           delay(2000);
     pin_off_setb();
  //   i=1;
 //         power=1;
     }
        //    send_sms(number3);

     
    prev++;
    
    }
if(messageIndex>=2)
{
 dellAllSMS();
// lcd.clear();
     //   lcd.setCursor(0, 0);
     //  lcd.print("SMS READ");
     //   lcd.setCursor(0, 1);
// lcd.print("SMS DEL");
 //  cmd1 ="AT+CMGDA="DEL ALL"rn";
   //  print_lcd(cmd1);
prev=0;
}
delay(10000);

}

باکس کو پرنٹ کرنے کے لیے STL فائل مل سکتی ہے۔ یہاں.

کام کی ویڈیو:



ماخذ: www.habr.com

نیا تبصرہ شامل کریں