Relay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera

Yin amfani da wannan gudun ba da sanda na GSM, za ka iya kunna kowane kaya da aka ƙididdigewa don 220 V da ƙarfin da bai wuce 2 kW ba, a kowane kusurwar duniya inda akwai hanyar sadarwar salula.

Relay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera
Ana sarrafa wannan na'urar ta arduino nano ta gsm module SIM800L. An ba da zane mai aiki tare da jerin abubuwan haɗin gwiwa a ƙasa. Yana iya aiki ko dai daga batir ɗin da aka gina ko kuma daga hanyar sadarwar 220 V. Lokacin aiki daga cibiyar sadarwa, nauyin zai iya cinye har zuwa 2 kW na wutar lantarki. Daga batura, matsakaicin ƙarfin fitarwa 300 W.

Relay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera
A taƙaice game da tsarin.

Akwai tubalan guda 4 a cikin wannan na'urar:

  • naúrar inverter
  • mai sarrafawa da naúrar baturi
  • naúrar samar da wutar lantarki mara katsewa
  • Toshewar sarrafawa

Naúrar inverter shine na yau da kullun na inverter mota 500t. Hakanan zai yi aiki tare da ƙarancin ƙarfi, amma matsakaicin ƙarfin fitarwa kuma zai ragu gwargwadon ƙarfin inverter.

Mai sarrafawa da naúrar baturi direban BMS S3 mai arha ne na yau da kullun wanda aka ƙera don haɗa baturan lithium-ion 3. Batura suna da babban halin yanzu. Za su iya samar da halin yanzu na 35 amperes. Idan kuna da ƙarancin ƙarfi, to zaku iya siyan batura masu rahusa tare da ƙaramin matsakaicin halin yanzu.

Ana yin na'urar samar da wutar lantarki mara katsewa akan transistor VT3, VD4, R4, R5, R3. Ana haɗa cathode na zener diode VD4 kai tsaye zuwa wutar lantarki kuma lokacin da aka yi amfani da wutar lantarki, transistor VT3 yana buɗewa. Bayan ya buɗe, mummunan yuwuwar yana zuwa a duk abubuwan da aka shigar da relay kuma na'urar relays tana canzawa zuwa yanayin samar da wutar lantarki daga wutar lantarki. Muhimmiyar siffa ta taron relay da aka shirya: wasu daga cikinsu suna aiki lokacin da ingantacciyar dama ta zo ga shigarwar, wasu kuma lokacin da mara kyau. Idan kuna da zaɓi na farko, to kuna buƙatar matsar da R3 zuwa gap ɗin emitter na transistor VT3 sannan ku haɗa shigar da shigar da relay zuwa emitter na transistor iri ɗaya.

An haɗa sashin sarrafawa akan tsarin SIM800 da arduino nano.

Relay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera

Wannan shine yadda da'irar da aka haɗa ta yi kamaRelay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera

Wannan shine yadda yake kama idan an tattara shiRelay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera

Relay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera

Relay GSM mai cin gashin kansa tare da inverter da aka yi daga abubuwan da aka ƙera

Domin na'urar ta fara karɓar SMS daga wayarka, kuna buƙatar rubuta lambar wayar ku a cikin mabambantan wayar ku_. Hakanan yana yiwuwa a haɗa nunin LCD zuwa Arduino, misali wh1601 ko wh0802, amma kuna buƙatar rashin gamsuwa da duk layin tare da rubutun lcd.

Lambar

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);

}

Ana iya samun fayil ɗin STL don buga akwatin a nan.

Bidiyon aiki:



source: www.habr.com

Add a comment