ʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau

Me ka hoʻohana ʻana i kēia relay GSM, hiki iā ʻoe ke hoʻohuli i kekahi ukana i helu ʻia ma 220 V a me ka mana ʻaʻole i ʻoi aku ma mua o 2 kW, ma nā kihi a pau o ka Honua kahi i loaʻa kahi pūnaewele kelepona.

ʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau
Hoʻomalu ʻia kēia hāmeʻa e arduino nano ma o ka module gsm SIM800L. Hāʻawi ʻia kahi kiʻi hana me ka papa inoa o nā ʻāpana ma lalo nei. Hiki iā ia ke hana mai nā pila i kūkulu ʻia a i ʻole mai kahi pūnaewele 220 V. Ke hana ʻia mai ka pūnaewele, hiki i ka ukana ke hoʻopau i ka 2 kW o ka uila. Mai nā pila, ka mana puka kiʻekiʻe 300 W.

ʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau
ʻO ka pōkole e pili ana i ka papahana.

Aia he 4 poloka i kēia mea hana:

  • ʻāpana hoʻohuli
  • mea hoʻoponopono a me ka ʻāpana pākahi
  • uninterruptible power supply unit
  • Palaka kāohi.

ʻO ka ʻāpana inverter he mea hoʻohuli kaʻa maʻamau 500t. E hana pū ia me ka mana liʻiliʻi, akā e emi iho ka mana hoʻopuka kiʻekiʻe i ka like me ka mana o ka inverter.

ʻO ka mea hoʻoponopono a me ka ʻāpana pākahi he mea hoʻokele BMS S3 maʻamau i hoʻolālā ʻia e hoʻopili i nā ʻona lithium-ion 3. He kiʻekiʻe ke au o nā pila. Hiki iā lākou ke hāʻawi i kēia manawa o 35 amperes. Inā he liʻiliʻi kou mana, a laila hiki iā ʻoe ke kūʻai aku i nā pākaukau liʻiliʻi me ka haʻahaʻa haʻahaʻa loa.

Hana ʻia ka ʻāpana mana hiki ʻole ke hoʻopau ʻia ma ka transistor VT3, VD4, R4, R5, R3. Hoʻopili pololei ʻia ka cathode o ka zener diode VD4 i ka lako mana a ke hoʻohana ʻia ka mana, wehe ka transistor VT3. Ma hope o ka wehe ʻia ʻana, hiki mai kahi ʻike maikaʻi ʻole i nā mea hoʻokomo relay āpau a hoʻololi nā relay i ke ʻano hoʻolako mana kaapuni mai ka lako mana. ʻO kahi hiʻohiʻona koʻikoʻi o nā hui relay i hoʻomākaukau ʻia: hana kekahi o lākou i ka wā e hiki mai ai kahi kūpono kūpono i ka hoʻokomo, a ʻo kekahi i ka wā ʻino. Inā loaʻa iā ʻoe ka koho mua, a laila pono ʻoe e neʻe iā R3 i loko o ka lua emitter o ka transistor VT3 a hoʻohui i ka hoʻokomo relay i ka emitter o ka transistor like.

Hoʻohui ʻia ka ʻāpana mana ma kahi module SIM800 a me arduino nano.

ʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau

Penei ke ano o ke kaapuni i huiiaʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau

ʻO kēia ke ʻano ke ʻano o ka hoʻopaʻa ʻanaʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau

ʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau

ʻO ka relay GSM kūʻokoʻa me ka mea hoʻohuli i hana ʻia mai nā ʻāpana i mākaukau

I mea e hoʻomaka ai ke kelepona i ka loaʻa ʻana o SMS mai kāu kelepona, pono ʻoe e kākau i kāu helu kelepona i loko o kāu ʻano kelepona. Hiki ke hoʻohui i kahi hōʻike LCD i ka Arduino, no ka laʻana wh1601 a i ʻole wh0802, akā pono ʻoe e wehe i nā laina āpau me ka lcd inscription.

kuhi

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

}

Hiki ke loaʻa ka faila STL no ka paʻi ʻana i ka pahu maanei.

Video o ka hana:



Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka