Yiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan

Lilo yiyi GSM yii, o le tan-an eyikeyi fifuye ti a ṣe ni 220 V ati agbara ti ko ju 2 kW lọ, ni igun eyikeyi ti Earth nibiti nẹtiwọki alagbeka kan wa.

Yiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan
Ẹrọ yii jẹ iṣakoso nipasẹ arduino nano nipasẹ gsm module SIM800L. Aworan ti iṣẹ-ṣiṣe pẹlu atokọ ti awọn paati ni a fun ni isalẹ. O le ṣiṣẹ boya lati inu awọn batiri ti a ṣe sinu tabi lati nẹtiwọki 220 V. Nigbati o ba n ṣiṣẹ lati inu nẹtiwọki, fifuye le jẹ to 2 kW ti ina. Lati awọn batiri, o pọju ti o wu jade 300 W.

Yiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan
Ni ṣoki nipa eto naa.

Awọn bulọọki mẹrin wa ninu ẹrọ yii:

  • ẹrọ oluyipada
  • adarí ati batiri kuro
  • uinterruptible ipese agbara kuro
  • Àkọsílẹ Iṣakoso.

Ẹka ẹrọ oluyipada jẹ oluyipada ọkọ ayọkẹlẹ 500t deede. Yoo tun ṣiṣẹ pẹlu agbara ti o dinku, ṣugbọn agbara iṣelọpọ ti o pọ julọ yoo tun dinku ni iwọn si agbara ti oluyipada.

Adarí ati ẹyọ batiri jẹ awakọ BMS S3 olowo poku deede ti a ṣe apẹrẹ lati so awọn batiri litiumu-ion 3 pọ. Awọn batiri ti wa ni ga lọwọlọwọ. Wọn le gba lọwọlọwọ ti 35 amperes. Ti o ba ni agbara diẹ, lẹhinna o le ra awọn batiri ti o din owo pẹlu iwọn kekere ti o pọju lọwọlọwọ.

Ẹka ipese agbara ti ko ni idilọwọ ni a ṣe lori transistor VT3, VD4, R4, R5, R3. Kathode ti zener diode VD4 ti sopọ taara si ipese agbara ati nigbati agbara ba lo, transistor VT3 ṣii. Lẹhin ti o ṣii, agbara odi kan de ni gbogbo awọn igbewọle yii ati awọn relays yipada si ipo ipese agbara iyika lati ipese agbara. Ẹya pataki ti awọn apejọ isọdọtun ti a ti ṣetan: diẹ ninu wọn ṣiṣẹ nigbati agbara rere ba wa si titẹ sii, ati diẹ ninu nigbati odi kan. Ti o ba ni aṣayan akọkọ, lẹhinna o nilo lati gbe R3 sinu aafo emitter ti transistor VT3 ki o so igbewọle yii pọ si emitter ti transistor kanna.

Ẹka iṣakoso ti kojọpọ lori module SIM800 ati arduino nano.

Yiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan

Eyi ni ohun ti Circuit ti o pejọ dabiYiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan

Eyi ni ohun ti o dabi nigbati o ba ṣajọYiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan

Yiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan

Yiyi GSM adase pẹlu ẹrọ oluyipada ti a ṣe lati awọn paati ti a ti ṣetan

Ni ibere fun ẹrọ naa lati bẹrẹ gbigba SMS lati foonu rẹ, o nilo lati kọ nọmba foonu rẹ sinu oniyipada foonu rẹ. O tun ṣee ṣe lati so ifihan LCD kan pọ si Arduino, fun apẹẹrẹ wh1601 tabi wh0802, ṣugbọn iwọ yoo nilo lati ṣafilọ gbogbo awọn laini pẹlu akọle lcd.

Koodu

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

}

Faili STL fun titẹ apoti le ṣee ri nibi.

Fidio ti iṣẹ:



orisun: www.habr.com

Fi ọrọìwòye kun