цифровая электроника
вычислительная техника
встраиваемые системы

 

Управляем реле с помощью SIM800L и Arduino

Автор: Mike(admin) от 24-04-2018, 03:55

В материале «GSM/GPRS модуль SIM800L и Arduino: простой проект GSM-сигнализации» был продемонстрирован пример достаточно несложной сигнализации, которая срабатывает по кнопке и отправляет SMS-сообщение на заранее заданный номер.


Управляем реле с помощью SIM800L и Arduino

Но с помощью SIM800L и Arduino можно также удаленно управлять включением и отключением какой-нибудь нагрузки, что будет продемонстрировано в данном материале.


Очень легко собрать SMS-управляемое реле с помощью дешевого модуля GSM-модема и небольшой платы микроконтроллера. В качестве них здесь используются SIM800L и Arduino Nano V3 для разработки отличного одноканального SMS-реле. Устройство, по сути, представляет собой изолированный электрический выключатель, который можно контролировать через приложение для обмена сообщениями на вашем мобильном телефоне. Схема подключения представлена ниже.


Управляем реле с помощью SIM800L и Arduino

Как видно из приведенной выше схемы, для нормальной работы схемы требуется стабилизированный источник питания постоянного тока 5 В / 1 А. Плата микроконтроллера (Nano_V3) работает от источника 5 В, а модем (SIM800L) – около 4,3 В. Хотя большинство модулей SIM800L рассчитаны на 3,7 В, некоторые SIM800L-модули способны выдерживать напряжение несколько выше 4 В.


Код (скетч Arduino) является базовым без каких-либо специальных библиотек SIM800L. В коде RX и TX-линии назначаются программным последовательным линиям. Это делается намеренно, так что аппаратный последовательный порт Arduino можно использовать с последовательным монитором. После загрузки кода вы можете перейти к следующему шагу. Сначала уделите немного времени, чтобы убедиться, что все подключения в порядке. Не забудьте вставить работающую карту micro-SIM в слот перед включением системы. Как правило, SIM-карта автоматически регистрируется в домашней сети в течение нескольких секунд. Обратите внимание, что встроенный светодиодный индикатор модуля SIM800L будет мигать один раз каждые две-три секунды (не непрерывно), когда он полностью зарегистрирован в сети. После этого вы должны нажать кнопку сброса один раз, чтобы система полностью функционировала.



#include 
SoftwareSerial mySerial(10,11);  // (Rx,Tx  > Tx,Rx) 

char incomingByte; 
String inputString;
int relay = 13; // Выход для управления реле

void setup() 
{
      pinMode(relay, OUTPUT);
      digitalWrite(relay, LOW); // Исходное состояние реле
      Serial.begin(9600);
      mySerial.begin(9600); 

     while(!mySerial.available()){
        mySerial.println("AT");
        delay(1000); 
        Serial.println("Connecting...");
        }
      Serial.println("Connected!");  
      mySerial.println("AT+CMGF=1");  // Установка SMS в текстовый режим
      delay(1000);  
      mySerial.println("AT+CNMI=1,2,0,0,0");  // Процедура обработки вновь полученных сообщений 
      delay(1000);
      mySerial.println("AT+CMGL=\"REC UNREAD\""); // Прочитать непрочитанные сообщения
     }

void loop()
{  
  if(mySerial.available()){
      delay(100);

      // Последовательный буфер
      while(mySerial.available()){
        incomingByte = mySerial.read();
        inputString += incomingByte; 
        }

        delay(10);      

        Serial.println(inputString);
        inputString.toUpperCase();

        // включить или выключить реле
        if (inputString.indexOf("ON") > -1){
          digitalWrite(relay, HIGH);
          }
         if (inputString.indexOf("OFF") > -1){
          digitalWrite(relay, LOW);
          }          

        delay(50);

        // Удалить сообщения и сохранить память
        if (inputString.indexOf("OK") == -1){
        mySerial.println("AT+CMGDA=\"DEL ALL\"");

        delay(1000);}

        inputString = "";
  }
}

Организуем отправку SMS. Отправка текста «ON» (не чувствительно к регистру) включает реле, а «OFF» выключает реле. Релейные контакты могут быть подключены по желанию для переключения любой подходящей электрической нагрузки. Вот что может отображаться в последовательном порте:


Управляем реле с помощью SIM800L и Arduino



© digitrode.ru


Теги: Arduino, SIM800L, GSM, GPRS




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий