Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*===============================================================
- ============
- *****************************************************************************
- ***************************
- ================================================================
- ===========*/
- #include "SIM900.h" //bibliotecas do módulo GSM #include "sms.h"
- #include <SoftwareSerial.h>
- #include "sms.h"
- SMSGSM sms;
- boolean started=false;
- char telefones[][15] = { // Matriz para o número de dígitos do telefone
- "+5586981338795", 0}; // o 0 é utilizado como condicional de stop
- int LIGAGSM = 6; //Pino para ligar o GSM
- int ledVermelho = 13; // Pino para o LED vermelho
- int PIRPin = 7; // Pino OUT do sensor PIR
- int PIR = 0; // representa o valor fornecido pelo PIR
- int teste_ping = 9;
- /************************************************************************************************
- ****************************FUNÇÃO ENVIO DE SMS**************************************/
- void sensor_presenca() {
- if(started){
- for (int i = 0; (int)*telefones[i] != 0; i++) { // o 0 detecta o final
- if (sms.SendSMS(telefones[i], "Alerta! Perimetro Invadido!"))
- { Serial.print("\nSMS enviado para o numero: ");
- Serial.println(telefones[i]);
- Serial.println("Perimetro Invadido!"); Serial.println("SMS OK OK OK OK OK");
- }
- }
- }
- delay(10000);
- };
- /************************************************************************************************
- ************************************************************************************************/
- void setup()
- {
- pinMode(ledVermelho, OUTPUT);
- pinMode(PIRPin, INPUT);
- pinMode(teste_ping, OUTPUT);
- digitalWrite(teste_ping, LOW); // acende led para simbolizar erro de ping
- pinMode(LIGAGSM, OUTPUT); //Declara o pino do LED como de saida
- //Inicia o shield GSM
- digitalWrite(LIGAGSM, HIGH); //Liga o GSM
- //digitalWrite(PIRPin, LOW); //AMBIENTE NORMAL
- //função da Conexão Serial
- Serial.begin(9600); // bitrate - Taxa de dados 9600 bps
- Serial.println("Conectando Shield IComSat GSM/GPRS SIM900 v1.1"); //teste de
- //configuração do Shield com a baudrate.
- if (gsm.begin(2400)){
- Serial.println("\nSTATUS = SISTEMA CARREGADO!"); started=true;
- }
- else Serial.println("\nSTATUS = SISTEMA COM PROBLEMA, FALHA NA REDE GSM!");
- };
- void loop()
- {
- digitalWrite(teste_ping, HIGH);
- if (digitalRead(teste_ping)==HIGH){
- PIR = digitalRead(PIRPin); // Faz leitura do OUT do sensor PIR e atribui o valor lido em PIR
- if (PIR == HIGH) { // Testa se a variável PIR é alta
- digitalWrite(ledVermelho, HIGH); // acende led vermelho
- Serial.println("Perimentro Invadido!");
- sensor_presenca();
- //delay(100000);
- }
- else{
- digitalWrite(ledVermelho, LOW); // mantem o led vermelho apagado
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement