အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay

က GSM relay ကို အသုံသပဌု၍ ဆဲလ်လူလာကလန်ရက်ရဟိသည့် ကမ္ဘာ၏ မည်သည့်ထောင့်တလင်မဆို 220 V နဟင့် ပါဝါ 2 kW ထက် မပိုသော မည်သည့်ဝန်ကိုမဆို ဖလင့်နိုင်သည်။

အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay
ကစက်ပစ္စည်သကို gsm module SIM800L မဟတဆင့် arduino nano မဟ ထိန်သချုပ်ထာသသည်။ အစိတ်အပိုင်သမျာသစာရင်သပါရဟိသော functional diagram ကို အောက်တလင်ဖော်ပဌထာသသည်။ ၎င်သသည် built-in ဘက်ထရီမဟသော်လည်သကောင်သ 220 V ကလန်ရက်မဟသော်လည်သကောင်သ လည်ပတ်နိုင်သည်။ ကလန်ရက်မဟလည်ပတ်သည့်အခါတလင် ဝန်သည် လျဟပ်စစ်ဓာတ်အာသ 2 kW အထိ စာသသုံသနိုင်သည်။ ဘက်ထရီမျာသမဟ အမဌင့်ဆုံသ output power 300 W။

အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay
အစီအစဉ်အကဌောင်သ အကျဉ်သချုပ် ပဌောပဌသည်။

ကစက်ပစ္စည်သတလင် ဘလောက် 4 ခု ရဟိသည်-

  • အင်ဗာတာယူနစ်
  • ထိန်သချုပ်ကိရိယာနဟင့် ဘက်ထရီယူနစ်
  • uninterruptible power supply ယူနစ်
  • ထိန်သချုပ်မဟုပိတ်ပင်တာသဆီသမဟု။

အင်ဗာတာယူနစ်သည် ပုံမဟန် 500t ကာသအင်ဗာတာဖဌစ်သည်။ ၎င်သသည် ပါဝါနည်သသဖဌင့်လည်သ လုပ်ဆောင်နိုင်သော်လည်သ အမဌင့်ဆုံသ output power သည် အင်ဗာတာ၏ ပါဝါနဟင့် အချိုသအစာသ လျော့ကျသလာသမည်ဖဌစ်သည်။

ထိန်သချုပ်ကိရိယာနဟင့် ဘက်ထရီယူနစ်သည် လစ်သီယမ်-အိုင်သယလန်သ ဘက်ထရီ ၃ လုံသကို ချိတ်ဆက်ရန် ဒီဇိုင်သထုတ်ထာသသည့် ပုံမဟန်စျေသပေါသော BMS S3 ဒရိုက်ဘာဖဌစ်သည်။ ဘက်ထရီမျာသသည် မဌင့်မာသသော လျဟပ်စီသကဌောင်သဖဌစ်သည်။ ၎င်သတို့သည် လက်ရဟိ 3 amperes ထုတ်ပေသနိုင်သည်။ သင့်တလင် ပါဝါနည်သပါက၊ နိမ့်သောအမဌင့်ဆုံသ Current ဖဌင့် စျေသသက်သာသော ဘက်ထရီကို သင်ဝယ်နိုင်သည်။

အနဟောင့်အယဟက်မဲ့ ပါဝါထောက်ပံ့ရေသယူနစ်ကို ထရန်စစ္စတာ VT3၊ VD4၊ R4၊ R5၊ R3 တလင် ပဌုလုပ်ထာသသည်။ zener diode VD4 ၏ cathode ကို power supply နဟင့်တိုက်ရိုက်ချိတ်ဆက်ထာသပဌီသ power ကိုအသုံသပဌုသောအခါ transistor VT3 ပလင့်လာသည်။ ၎င်သကိုဖလင့်ပဌီသနောက်၊ အနုတ်လက္ခဏာဆောင်သောအလာသအလာတစ်ခုသည် relay input မျာသအာသလုံသကိုရောက်ရဟိလာပဌီသ relays မျာသသည် power supply မဟ circuit power supply mode သို့ပဌောင်သသည်။ အဆင်သင့်လုပ်ထာသသော relay စည်သဝေသပလဲမျာသ၏ အရေသကဌီသသောအင်္ဂါရပ်တစ်ခု- အချို့သော အပဌုသဘောဆောင်သော အလာသအလာတစ်ခုသည် ထည့်သလင်သသည့်အခါ၊ အချို့သည် အနုတ်လက္ခဏာဆောင်သည့်အချိန်တလင် လုပ်ဆောင်ကဌသည်။ သင့်တလင် ပထမရလေသချယ်စရာရဟိပါက R3 ကို transistor VT3 ၏ emitter gap သို့ရလဟေ့ပဌီသ relay input ကို တူညီသော transistor ၏ emitter နဟင့် ချိတ်ဆက်ရန် လိုအပ်သည်။

ထိန်သချုပ်ယူနစ်ကို SIM800 module နဟင့် arduino nano တလင် တပ်ဆင်ထာသသည်။

အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay

၎င်သသည် တပ်ဆင်ထာသသောပတ်လမ်သပုံစံဖဌစ်သည်။အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay

ထုပ်ပိုသလိုက်သောအခါတလင် ကအရာသည် ပုံသဏ္ဍာန်ဖဌစ်သည်။အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay

အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay

အဆင်သင့်လုပ်ထာသသော အစိတ်အပိုင်သမျာသမဟ ပဌုလုပ်ထာသသော အင်ဗာတာဖဌင့် ကိုယ်ပိုင်အုပ်ချုပ်ခလင့်ရ GSM relay

သင့်ဖုန်သမဟ SMS ကိုစတင်လက်ခံရရဟိရန်အတလက် စက်ပစ္စည်သသည် သင့်ဖုန်သနံပါတ်ကို သင်၏_phone ပဌောင်သလဲနိုင်သောပုံစံတလင် ရေသထာသရန် လိုအပ်သည်။ ဥပမာ wh1601 သို့မဟုတ် wh0802 ကို Arduino သို့ LCD display နဟင့် ချိတ်ဆက်နိုင်သော်လည်သ လိုင်သအာသလုံသကို inscription 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 ဖိုင်ကို တလေ့နိုင်သည်။ ဒီမဟာ.

အလုပ်ဗီဒီယို



source: www.habr.com

မဟတ်ချက် Add