Relay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia

I le faʻaaogaina o lenei GSM relay, e mafai ona e kiina soʻo se uta e faʻamauina i le 220 V ma se mana e le sili atu i le 2 kW, i soʻo se tulimanu o le lalolagi o loʻo i ai se fesoʻotaiga feaveaʻi.

Relay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia
O lenei masini e pulea e arduino nano e ala i le gsm module SIM800L. O se ata galue ma se lisi o vaega o loʻo tuʻuina atu i lalo. E mafai ona fa'agaoioia mai i ma'a fa'apipi'i po'o se feso'ota'iga 220 V. A fa'agaoioi mai le feso'ota'iga, e mafai e le uta ona fa'aumatia le 2 kW o le eletise. Mai ma'a, maualuga le malosi o le gaosiga 300 W.

Relay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia
Fa'apuupuu e uiga i le polokalame.

E 4 poloka i lenei masini:

  • iunite inverter
  • fa'atonu ma le ma'a
  • e le motusia le eletise tu'uaiga
  • Poloka poloka

O le inverter unit o se ta'avale masani 500t inverter. O le a galue foi ma le itiiti ifo o le mana, ae o le maualuga maualuga o le gaosiga o le malosiaga o le a faʻaitiitia foi i le faʻatusatusa i le mana o le inverter.

O le pule ma le maa o se avetaʻavale BMS S3 taugofie masani ua fuafuaina e faʻafesoʻotaʻi 3 maa lithium-ion. O maa e maualuga le taimi nei. E mafai ona latou tuʻuina atu le 35 amperes. Afai e itiiti lou mana, ona mafai lea ona e faʻatau maa taugofie ma le maualalo o le taimi nei.

O le eletise e le mafai ona fa'alavelaveina o lo'o faia i luga o le transistor VT3, VD4, R4, R5, R3. O le cathode o le zener diode VD4 e fesoʻotaʻi saʻo i le eletise ma pe a faʻaogaina le mana, e tatala le transistor VT3. A mae'a ona tatala, e o'o mai se tulaga le lelei i mea fa'aoga uma e ta'avale ma fa'afeso'ota'i le laina eletise i le fa'atūlaga eletise mai le eletise. O se vaega taua o fa'apotopotoga fa'aa'oa'i ua saunia: o nisi o latou e galulue pe a o'o mai se tulaga lelei i totonu, ma nisi pe a leaga. Afai ei ai sau filifiliga muamua, ona e manaʻomia lea e faʻanofo le R3 i le va o le transistor VT3 ma faʻafesoʻotaʻi le faʻaogaina o le relay i le emitter o le transistor tutusa.

O loʻo faʻapipiʻiina le iunite faʻatonutonu i luga o se module SIM800 ma arduino nano.

Relay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia

O le foliga lea o le matagaluega ua tuufaatasiaRelay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia

O le mea lea e foliga mai pe a teuRelay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia

Relay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia

Relay GSM tuto'atasi fa'atasi ma le fa'aliliuina na faia mai vaega ua saunia

Ina ia mafai e le masini ona amata maua SMS mai lau telefoni, e tatau ona e tusia lau numera telefoni i le fesuiaiga o lou_phone. E mafai foʻi ona faʻafesoʻotaʻi se faʻaaliga LCD i le Arduino, mo se faʻataʻitaʻiga wh1601 poʻo wh0802, ae e te manaʻomia le faʻamalo uma o laina faʻatasi ma le lcd tusi.

kote

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

}

O le faila STL mo le lolomiina o le pusa e mafai ona maua iinei.

Vitio o galuega:



puna: www.habr.com

Faaopoopo i ai se faamatalaga