ဠGSM relay ááᯠá¡áá¯á¶ážááŒá¯á áá²ááºáá°áá¬ááœááºáááºááŸáááá·áº ááá¹áá¬á áááºááá·áºáá±á¬áá·áºááœááºáááᯠ220 V ááŸáá·áº áá«áá« 2 kW ááẠáááá¯áá±á¬ áááºááá·áºáááºááá¯áááᯠááœáá·áºááá¯ááºáááºá
á€á
ááºáá
á¹á
ááºážááᯠgsm module SIM800L ááŸáááá·áº arduino nano á០ááááºážáá»á¯ááºáá¬ážáááºá á¡á
áááºá¡ááá¯ááºážáá»á¬ážá
á¬áááºážáá«ááŸááá±á¬ functional diagram ááᯠá¡á±á¬ááºááœááºáá±á¬áºááŒáá¬ážáááºá áááºážááẠbuilt-in áááºááá®ááŸáá±á¬áºáááºážáá±á¬ááºáž 220 V ááœááºáááºááŸáá±á¬áºáááºážáá±á¬ááºáž áááºáááºááá¯ááºáááºá ááœááºáááºááŸáááºáááºááá·áºá¡áá«ááœáẠáááºááẠáá»áŸááºá
á
áºáá¬ááºá¡á¬áž 2 kW á¡áá á
á¬ážáá¯á¶ážááá¯ááºáááºá áááºááá®áá»á¬ážá០á¡ááŒáá·áºáá¯á¶áž output power 300 Wá
á¡á
á®á¡á
ááºá¡ááŒá±á¬ááºáž á¡áá»ááºážáá»á¯áẠááŒá±á¬ááŒáááºá
á€á ááºáá á¹á ááºážááœáẠááá±á¬áẠ4 áᯠááŸááááº-
- á¡ááºáá¬áá¬áá°áá áº
- ááááºážáá»á¯ááºáááááá¬ááŸáá·áº áááºááá®áá°áá áº
- uninterruptible power supply áá°áá áº
- ááááºážáá»á¯ááºááŸá¯ááááºáááºáá¬ážáá®ážááŸá¯á
á¡ááºáá¬áá¬áá°áá áºááẠáá¯á¶ááŸáẠ500t áá¬ážá¡ááºáá¬áá¬ááŒá áºáááºá áááºážááẠáá«áá«áááºážáááŒáá·áºáááºáž áá¯ááºáá±á¬ááºááá¯ááºáá±á¬áºáááºáž á¡ááŒáá·áºáá¯á¶áž output power ááẠá¡ááºáá¬áá¬á áá«áá«ááŸáá·áº á¡áá»áá¯ážá¡á á¬áž áá»á±á¬á·áá»ááœá¬ážáááºááŒá áºáááºá
ááááºážáá»á¯ááºáááááá¬ááŸáá·áº áááºááá®áá°áá áºááẠáá áºáá®áááº-á¡áá¯ááºážááœááºáž áááºááá® á áá¯á¶ážááᯠáá»áááºáááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážááá·áº áá¯á¶ááŸááºá á»á±ážáá±á«áá±á¬ BMS S3 áááá¯ááºáá¬ááŒá áºáááºá áááºááá®áá»á¬ážááẠááŒáá·áºáá¬ážáá±á¬ áá»áŸááºá á®ážááŒá±á¬ááºážááŒá áºáááºá áááºážááá¯á·ááẠáááºááŸá 3 amperes áá¯ááºáá±ážááá¯ááºáááºá ááá·áºááœáẠáá«áá«áááºážáá«áá áááá·áºáá±á¬á¡ááŒáá·áºáá¯á¶áž Current ááŒáá·áº á á»á±ážáááºáá¬áá±á¬ áááºááá®ááᯠáááºáááºááá¯ááºáááºá
á¡ááŸá±á¬áá·áºá¡ááŸááºáá²á· áá«áá«áá±á¬ááºáá¶á·áá±ážáá°áá áºááᯠááááºá á á¹á áᬠVT3á VD4á R4á R5á R3 ááœáẠááŒá¯áá¯ááºáá¬ážáááºá zener diode VD4 á cathode ááᯠpower supply ááŸáá·áºááá¯ááºááá¯ááºáá»áááºáááºáá¬ážááŒá®áž power ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá« transistor VT3 ááœáá·áºáá¬áááºá áááºážááá¯ááœáá·áºááŒá®ážáá±á¬ááºá á¡áá¯ááºááá¹ááá¬áá±á¬ááºáá±á¬á¡áá¬ážá¡áá¬áá áºáá¯ááẠrelay input áá»á¬ážá¡á¬ážáá¯á¶ážááá¯áá±á¬ááºááŸááá¬ááŒá®áž relays áá»á¬ážááẠpower supply á០circuit power supply mode ááá¯á·ááŒá±á¬ááºážáááºá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ relay á ááºážáá±ážááœá²áá»á¬ážá á¡áá±ážááŒá®ážáá±á¬á¡ááºá¹áá«áááºáá áºáá¯- á¡áá»áá¯á·áá±á¬ á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ á¡áá¬ážá¡áá¬áá áºáá¯ááẠááá·áºááœááºážááá·áºá¡áá«á á¡áá»áá¯á·ááẠá¡áá¯ááºááá¹ááá¬áá±á¬ááºááá·áºá¡áá»áááºááœáẠáá¯ááºáá±á¬ááºááŒáááºá ááá·áºááœáẠáááááœá±ážáá»ááºá áá¬ááŸááá«á R3 ááᯠtransistor VT3 á emitter gap ááá¯á·ááœáŸá±á·ááŒá®áž relay input ááᯠáá°áá®áá±á¬ transistor á emitter ááŸáá·áº áá»áááºáááºááẠááá¯á¡ááºáááºá
ááááºážáá»á¯ááºáá°áá áºááᯠSIM800 module ááŸáá·áº arduino nano ááœáẠáááºáááºáá¬ážáááºá
áááºážááẠáááºáááºáá¬ážáá±á¬áááºáááºážáá¯á¶á
á¶ááŒá
áºáááºá
áá¯ááºááá¯ážááá¯ááºáá±á¬á¡áá«ááœáẠá€á¡áá¬ááẠáá¯á¶ááá¹áá¬ááºááŒá
áºáááºá
ááá·áºáá¯ááºážá០SMS ááá¯á
áááºáááºáá¶áááŸááááºá¡ááœáẠá
ááºáá
á¹á
ááºážááẠááá·áºáá¯ááºážáá¶áá«ááºááᯠáááºá_phone ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬áá¯á¶á
á¶ááœáẠáá±ážáá¬ážááẠááá¯á¡ááºáááºá á¥ááᬠwh1601 ááá¯á·ááá¯áẠwh0802 ááᯠArduino ááá¯á· LCD display ááŸáá·áº áá»áááºáááºááá¯ááºáá±á¬áºáááºáž ááá¯ááºážá¡á¬ážáá¯á¶ážááᯠinscription 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 ááá¯ááºááᯠááœá±á·ááá¯ááºáááºá
á¡áá¯ááºáá®áá®ááá¯
source: www.habr.com