в общем то я хочу сделать тревожную кнопку с ардуино уно
- Войдите на сайт для отправки комментариев
Пт, 16/08/2019 - 00:26
1)я хочу разобраться как подключить к Arduino uno gsm modul sim800l
2) как свести два скетча
Moderator : пожалуйста, вставьте код правильно - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
3) как подкоректировать это так что бы при размыкании пятого аналогового канала приодил сигнал на gsm модуль и тот звонил на номер +79782051160
//первый скетч 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); }В принципе. можете не трудится. обьединять ваши скетчи за вас тут никто не будет. Если хотите реальной помощи - сначала попытайтес обьединить скетчи сами, а если возникнут ошибки - тогда приходите, поможем.