Ras gyfnewid GSM ymreolaethol gyda gwrthdröydd parod

Gan ddefnyddio'r ras gyfnewid GSM hon, gallwch chi droi ymlaen unrhyw lwyth sydd â sgôr o 220 V a phŵer o ddim mwy na 2 kW, mewn unrhyw gornel o'r Ddaear lle mae rhwydwaith cellog.

Ras gyfnewid GSM ymreolaethol gyda gwrthdröydd parod
Rheolir y ddyfais hon gan arduino nano trwy fodiwl gsm SIM800L. Rhoddir diagram swyddogaethol gyda rhestr o gydrannau isod. Gall weithredu naill ai o fatris adeiledig neu o rwydwaith 220 V. Wrth weithredu o'r rhwydwaith, gall y llwyth ddefnyddio hyd at 2 kW o drydan. O fatris, pŵer allbwn uchaf 300 W.

Ras gyfnewid GSM ymreolaethol gyda gwrthdröydd parod
Yn fyr am y cynllun.

Mae 4 bloc yn y ddyfais hon:

  • uned gwrthdröydd
  • rheolydd ac uned batri
  • uned cyflenwad pŵer di-dor
  • Bloc rheoli.

Mae'r uned gwrthdröydd yn gwrthdröydd car 500t rheolaidd. Bydd hefyd yn gweithio gyda llai o bŵer, ond bydd yr uchafswm pŵer allbwn hefyd yn gostwng yn gymesur â phŵer yr gwrthdröydd.

Mae'r rheolydd a'r uned batri yn yrrwr BMS S3 rhad rheolaidd sydd wedi'i gynllunio i gysylltu 3 batris lithiwm-ion. Mae'r batris yn gyfredol uchel. Gallant gyflenwi cerrynt o 35 amperes. Os oes gennych lai o bŵer, yna gallwch brynu batris rhatach gydag uchafswm cerrynt is.

Gwneir yr uned cyflenwad pŵer di-dor ar transistor VT3, VD4, R4, R5, R3. Mae catod y deuod zener VD4 wedi'i gysylltu'n uniongyrchol â'r cyflenwad pŵer a phan fydd pŵer yn cael ei gymhwyso, mae'r transistor VT3 yn agor. Ar ôl iddo agor, mae potensial negyddol yn cyrraedd yr holl fewnbynnau ras gyfnewid ac mae'r rasys cyfnewid yn newid i'r modd cyflenwad pŵer cylched o'r cyflenwad pŵer. Nodwedd bwysig o wasanaethau cyfnewid parod: mae rhai ohonynt yn gweithio pan ddaw potensial positif i'r mewnbwn, a rhai pan ddaw un negyddol. Os oes gennych yr opsiwn cyntaf, yna mae angen i chi symud R3 i mewn i fwlch allyrrydd y transistor VT3 a chysylltu'r mewnbwn ras gyfnewid i allyrrydd yr un transistor.

Mae'r uned reoli wedi'i chydosod ar fodiwl SIM800 ac arduino nano.

Ras gyfnewid GSM ymreolaethol gyda gwrthdröydd parod

Dyma sut olwg sydd ar y gylched ymgynnullRas gyfnewid GSM ymreolaethol gyda gwrthdröydd parod

Dyma sut mae'n edrych pan fydd wedi'i bacioRas gyfnewid GSM ymreolaethol gyda gwrthdröydd parod

Ras gyfnewid GSM ymreolaethol gyda gwrthdröydd parod

Ras gyfnewid GSM ymreolaethol gyda gwrthdröydd parod

Er mwyn i'r ddyfais ddechrau derbyn SMS o'ch ffôn, mae angen i chi ysgrifennu eich rhif ffôn yn y newidyn your_phone. Mae hefyd yn bosibl cysylltu arddangosfa LCD â'r Arduino, er enghraifft wh1601 neu wh0802, ond bydd angen i chi ddadwneud yr holl linellau gyda'r arysgrif lcd.

Cod

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

}

Gellir dod o hyd i'r ffeil STL ar gyfer argraffu'r blwch yma.

Fideo o waith:



Ffynhonnell: hab.com

Ychwanegu sylw