Այս GSM հիդրյարանը թույլ է տալիս ստուգել ցանկացած էլեկտրական տարր, որը նախատեսված է 220 Վ և ունի ավելի քան 2 կվտ հզորություն, ցանկացած վայրում, որտեղ կա մոբիլային ցանց։

Այս սարքը կառավարվում է Arduino Nano-ի միջոցով SIM800L GSM մոդուլով։ Ֆունկցիոնալ սխեման բաղադրիչների ցանկով ներկայացված է ниже։ Այն կարող է աշխատել ինչպես ինտեգրված մարտկոցներից, այնպես էլ 220 Վ ցանցից։ Ցանցից աշխատելու ժամանակ, ծանրաբեռնվածությունը կարող է սպառել մինչև 2 կվտ էլեկտրաէներգիա։ Մարտկոցներից, առավելագույն ելքային հզորությունը 300 Վտ։

Կարճ սքեմայի մասին։
Այս սարքում կարելի է առանձնացնել 4 բլոկներ՝
- ինվերտորային բլոկը
- վերահսկիչ և մարտկոցների բլոկը
- առանց ընդմիջման աշխատող բլոկը
- կառավարման բլոկը։
Ինվերտորային բլոկը սովորական ավտոմոբիլային ինվերտոր է՝ 500Вт հզորությամբ։ Հարմարելի է և փոքր հզորությամբ, բայց նաև առավելագույն ելքային հզորությունը նույնպես կնվազի համահունչ ինվերտորի հզորությանը։
Վերահսկիչ և մարտկոցների բլոկը սովորական էժան BMS S3 վարիչ է, նախատեսված 3 լիթիո իոնային մարտկոցների միացման համար։ Մարտկոցները բարձր հոսքային են։ Նրանք կարող են ապահովել 35 ամպեր հոսանք։ Եթե դուք ունենում եք փոքր հզորություն, ապա կարող եք գնել ավելի էժան մարտկոցներ, որոնք ունեն ավելի փոքր առավելագույն հոսք։
Առանց ընդմիջման աշխատող բլոկը իրականացված է VT3, VD4, R4, R5, R3 կիսահոսանքով։ VD4 կայծակի ծայրում անմիջականորեն միացված է սնուցման բլոկին, և պաշպանության դեպքում VT3 կիսահոսանքը բացվում է։ Դրա բացվելուց հետո բոլոր ռելեների մուտքեր են ստանում բացասական պոտենցիալ, և ռելեները անցնում են սնուցման թողնման ռեժիմին։ Կարևոր հատկություն պատրաստված ռելեյների հավաքույթների մասին. նրանցից ոմանք աշխատում են, երբ մուտք է գալիս դրական պոտենցիալ, իսկ մյուսները՝ բացասական։ Եթե դուք ունեք առաջին տարբերակը, ապա պետք է R3-ի միջից տեղափոխել VT3 կիսահոսանքի արտադրման մեջ և միացնել ռելեի մուտքը այդ կիսահոսանքի արտադրությանը։
Կառավարման բլոկը ստեղծված է SIM800 մոդուլի և Arduino Nano-ի վրա։

Այսպես է հավաքված սխեման
Այսպես է փաթեթավորված վիճակում


Ուշադրություն, որպեսզի սարքը սկսի կատարել SMS-ներ ձեր հեռախոսից, պետք է your_phone փոփոխականում գրանցեք ձեր հեռախոսահամարը։ Կարող եք նաև LCD էկրան միացնել Arduino-ին, օրինակ՝ wh1601 կամ wh0802, սակայն դրանում պետք է ամբողջ տողի մեկնաբանությունը հանել, որը առնչվում է LCD-ին։
Կոդ
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);
}STL ֆայլը փաթեթի տպման համար կարելի է գտնել .
Վիդեո աշխատելու մասին՝

Ընտանիք: habr.com
