Sealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta

Ag baint úsáide as an athsheachadán GSM seo, is féidir leat aon ualach rátáilte ag 220 V agus cumhacht nach mó ná 2 kW a chur ar siúl, in aon choirnéal den Domhan ina bhfuil líonra ceallacha.

Sealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta
Tá an gléas seo á rialú ag arduino nano trí mhodúl gsm SIM800L. Tá léaráid fheidhmiúil le liosta comhpháirteanna tugtha thíos. Is féidir leis oibriú ó chadhnraí ionsuite nó ó líonra 220 V. Nuair a bhíonn sé ag oibriú ón líonra, féadfaidh an t-ualach suas le 2 kW leictreachais a ithe. Ó chadhnraí, cumhacht aschuir uasta 300 W.

Sealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta
Go hachomair faoin scéim.

Tá 4 bhloc sa ghléas seo:

  • aonad inverter
  • rialtóir agus aonad ceallraí
  • aonad soláthair cumhachta gan bhriseadh
  • Bloc rialaithe.

Is inverter carr rialta 500t é an t-aonad inverter. Oibreoidh sé freisin le níos lú cumhachta, ach laghdóidh an chumhacht aschuir uasta freisin i gcomhréir le cumhacht an inverter.

Is tiománaí rialta BMS S3 saor é an rialtóir agus an t-aonad ceallraí atá deartha chun 3 chadhnraí litiam-ian a nascadh. Tá sruth ard ag na cadhnraí. Is féidir leo sruth 35 aimpéar a sheachadadh. Má tá níos lú cumhachta agat, is féidir leat cadhnraí níos saoire a cheannach le sruth uasta níos ísle.

Déantar an t-aonad soláthair cumhachta do-bhriste ar thrasraitheoir VT3, VD4, R4, R5, R3. Tá catóide an dé-óid zener VD4 ceangailte go díreach leis an soláthar cumhachta agus nuair a chuirtear cumhacht i bhfeidhm, osclaíonn an trasraitheoir VT3. Tar éis dó a oscailt, sroicheann poitéinseal diúltach gach ionchur sealaíochta agus aistríonn na hathsheachadáin chuig an modh soláthair cumhachta ciorcad ón soláthar cumhachta. Gné thábhachtach de chomhthionóil sealaíochta réamhdhéanta: oibríonn cuid acu nuair a thagann poitéinseal dearfach don ionchur, agus cuid eile nuair a bhíonn ceann diúltach. Má tá an chéad rogha agat, ansin ní mór duit R3 a bhogadh isteach sa bhearna astaithe de thrasraitheoir VT3 agus an t-ionchur sealaíochta a nascadh le hastaire an trasraitheora céanna.

Tá an t-aonad rialaithe le chéile ar mhodúl SIM800 agus arduino nano.

Sealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta

Seo an chuma atá ar an gciorcad cóimeáilteSealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta

Is é seo an chuma atá air agus é pacáilteSealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta

Sealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta

Sealaíocht uathrialach GSM le inverter déanta as comhpháirteanna réamhdhéanta

Chun go dtosóidh an gléas ag fáil SMS ó do ghuthán, ní mór duit d'uimhir theileafóin a scríobh san athróg your_phone. Is féidir freisin taispeáint LCD a nascadh leis an Arduino, mar shampla wh1601 nó wh0802, ach beidh ort na línte go léir a bhfuil an inscríbhinn lcd ag baint leo a dhíchóimeáil.

Cód

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

}

Is féidir an comhad STL chun an bosca a phriontáil a fháil anseo.

Físeán oibre:



Foinse: will.com

Add a comment