в общем то я хочу сделать тревожную кнопку с ардуино уно

maks0022
Offline
Зарегистрирован: 12.08.2019

1)я хочу разобраться как подключить к Arduino uno  gsm modul sim800l

2) как свести два скетча 

Moderator : пожалуйста, вставьте код правильно - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

3) как подкоректировать это так что бы при размыкании пятого аналогового канала приодил сигнал на gsm  модуль и тот звонил на номер +79782051160 
maks0022
Offline
Зарегистрирован: 12.08.2019
//первый скетч 
void setup() {
 pinMode(A5, INPUT_PULLUP);
 pinMode(12,INPUT);
 pinMode(13, OUTPUT); // тут встроеный светодиод

 Serial.begin(9600);
}

void loop() {
  boolean button1 = digitalRead(A5); 
  boolean button2 = digitalRead(13);

 if (button1 == 1) digitalWrite(13, 1); // включить светодиод 
 else digitalWrite(13, 0);

 Serial.print("Button1: "); Serial.print(button1);
 Serial.print(", Button2: "); Serial.print(button2);
}

 

//второй скетч 

#include "SIM900.h"
#include <SoftwareSerial.h>

#include "sms.h"
#include "call.h"
SMSGSM sms;
CallGSM call;

//=================Пины 2 и 3 для Подключения GSM модуля

int sensor1=0;
int flag1=0;
boolean started=false;
char smsbuffer[160];
char n[20];
String n1 = "+79170417032";
String input_string = "";
String smsContent = "";
char sirena[] = "Sirena  vkluchena!";
char PowerOFF[] = "Snyato s ohrani";
char smsDv[] ="Wnimaniye! Dvijeniye na objekte!";
char smsW[] ="Postanovka na ohranu!";
char pos;
char sendsms[160];

void setup() {
 //скетч из кнопки 

 pinMode(A5, INPUT_PULLUP);
 pinMode(12,INPUT);
 pinMode(13, OUTPUT); // тут встроеный светодиод

 Serial.begin(9600);

//конец скетча из кнопки и начало gsm
 pinMode(10, OUTPUT); // Пассивный зумер (сигнал)
 pinMode(7, OUTPUT);

Serial.begin(9600);
  pinMode(4, INPUT); // датчик движения
//  digitalWrite(4, HIGH);
  pinMode(5, INPUT); // еще какой-нибудь датчик
//  digitalWrite(5, HIGH);

       if (gsm.begin(4800)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

}
void loop() {
//скетч кнопкка 
boolean button1 = digitalRead(A5); 
  boolean button2 = digitalRead(13);

 if (button1 == 1) digitalWrite(13, 1); // включить светодиод 
 else digitalWrite(13, 0);

 Serial.print("Button1: "); Serial.print(button1);
 Serial.print(", Button2: "); Serial.print(button2);
 //крнец скетча кнопка начало gsm
//===========================Первое срабатывание датчика движения
  if ((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
    n1.toCharArray(n,20);
    sms.SendSMS(n, smsDv);               // Посылаем СМС о том, что есть движение
    sms.DeleteSMS(1);memset(n,0,20);
    char smsbuffer[160]="";
    flag1++;
    delay(10000); // Ждем  секунд 10
  }
//===========================Повторное срабатывание датчика движения
  if ((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
    n1.toCharArray(n,20);
    sms.SendSMS(n, sirena);            // Посылаем СМС о том, что включена сирена
    sms.DeleteSMS(1);memset(n,0,20);
    char smsbuffer[160]="";
    flag1++;
  }

  if (flag1>=2){
    tone(10, 2780, 200); // Сирена 
  }


pos = sms.IsSMSPresent(SMS_UNREAD); // смотрим непрочитанные СМС
      if (pos) {                    // Если непрочитанные СМС есть, то...
        
getsms(); // получаем непрочитанную СМС

     if (input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
     sensor1=0;digitalWrite(7,LOW);input_string=""; char smsbuffer[160]=""; flag1=0;}
     
     if (input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
     sensor1=1; input_string=""; char smsbuffer[160]=""; flag1=0;}
        
        sms.DeleteSMS(pos); // удаляем СМС  из симки
      }
}
void getsms()
{
sms.GetSMS(1,n,20,smsbuffer,160);
input_string =String(smsbuffer);
          }

 

 

b707
Offline
Зарегистрирован: 26.05.2017

 

В принципе. можете не трудится. обьединять ваши скетчи за вас тут никто не будет. Если хотите реальной помощи - сначала попытайтес обьединить скетчи сами, а если возникнут ошибки - тогда приходите, поможем.