BOM DIA A TODOS,

ELABOREI UM PROJETO COM ARDUINO UNO MAIS SHIELD GSM, O PROJETO ELABORADO É UM SENSOR DE PRESENÇA, QUE AO DETECTAR MOVIMENTO ENVIA UMA MENSAGEM SMS PARA O MEU CELULAR, O PROJETO ESTÁ FUNCIONANDO CONFORME PROGRAMAÇÃO, DETECTOU PRESENÇA ENVIA A MENSAGEM, PORÉM EXISTE UM SÉRIO PROBLEMA, SEM TER PESSOAS DENTRO DE CASA EM UM AMBIENTE FECHADO O MÓDULO ARDUINO MAIS SHIELD GSM MAIS SENSOR PIER ENVIA MENSAGEM DE TRÊS EM TRÊS HORAS, E QUANDO

LIGO OU MANDO MENSAGEM PARA O NUMERO DO CHIP QUE ESTA NO MÓDULO ELE DEVOLVE MENSAGEM, MOSTRANDO QUE TEM MOVIMENTO DENTRO DE CASA.

DETALHE, JÁ TROQUEI O SENSOR PIER DE PORTA E NADA, SE ALGUÉM PUDER ME AJUDAR FICO GRATO! 

Exibições: 1295

Responder esta

Respostas a este tópico

De 3 em 3 horas certinho ? ou aprox ?

Dia e noite ?

O reflexo do sol no piso/parede, por ex, pode disparar se o sensor for de um modelo bem simples (sem um bom filtro).

Se for so de dia desconfie do sol.

Se for de 3 em 3 horas precisas desconfie de outra coisa que tenha o mesmo ciclo, um ruido ou alguma memoria que lota depois de 3h, sei lá, erro no codigo.

Se for 3 em 3h aprox inclusive de noite desconfie de ruido na fiação. O contato deles é seco (não é nivel lógico), é bom ter um pullup.

Seria legal vc deixar ligado no PC e via terminal soltar um "Ligou hh:mm:ss:dd˜ e "Desligou.." de forma a medir a largura desse pulso de disparo. O sensores de presença normalmente mesmo que sintam algo rápido alargam o pulso por por ex 1s.

Aih vc vai saber se é um disparo real ou um ruidinho. Se for ruidinho, alem do pulup, vc pode colocar uma rotina de "deboucing" que seria algo como um pequeno loop verificando umas 100x se ele realmente está com o contato fechado.

Deve ter um fantasma dentro de casa....

Isso esta parecendo erro de programa. 

http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

poste seu code.

Boa noite segue código, o problema maior é quando ligo para o número do chip e quando envio mensagem 

ele me retorna mensagem!

#include <GSM.h>

#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;
const int led = 13;
const int V = 3;
const int GND = 5;
const int rele = 6;// SAÍDA DO PIER
char remoteNumber[20]; // Holds the emitting number

void setup()

{
Serial.begin(9600);// initialize serial communications


pinMode(led,OUTPUT);
pinMode(V,OUTPUT);
pinMode(GND,OUTPUT);
digitalWrite(V, HIGH);
digitalWrite(GND, LOW);
pinMode(rele,INPUT);
digitalWrite(8, HIGH);
delay(5000);
digitalWrite(8,LOW);


Serial.println("SMS Messages Sender");

// connection state
boolean notConnected = true;

// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
delay(1000);


}

void loop()
{
char d;

// If there are any SMSs available()
if (sms.available())
{
Serial.println("Message received from:");

// Get remote number
sms.remoteNumber(remoteNumber, 20);
Serial.println(remoteNumber);

// This is just an example of message disposal
// Messages starting with # should be discarded

// Read message bytes and print them
while(d=sms.read())
Serial.print(d);

Serial.println("\nEND OF MESSAGE");

// delete message from modem memory
sms.flush();
Serial.println("MESSAGE DELETED");
}

delay(1000);




if (digitalRead(6) == HIGH){
digitalWrite(led, HIGH);
delay(5000);
Serial.print("Enter a mobile number: ");
char remoteNum[20]="31395"; // telephone number to send sms
Serial.print(remoteNum);
Serial.println();
// sms text
Serial.println("Now, enter SMS content: ");
char txtMsg[200] = "RENATA TEM GENTE EM CASA";
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);

// send the message
sms.beginSMS(remoteNum);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");

delay(1000);

}

if (digitalRead(13) == HIGH ){

delay(5000);

Serial.print("Enter a mobile number: ");
char remoteNum[20]="894030"; // telephone number to send sms
Serial.print(remoteNum);
Serial.println();
// sms text
Serial.println("Now, enter SMS content: ");
char txtMsg[200] = " DUDU TEM GENTE EM CASA";
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);

// send the message
sms.beginSMS(remoteNum);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");

}

digitalWrite(led, LOW);

}

/*
Read input serial
*/
int readSerial(char result[])
{
int i = 0;
while(1)
{
while (Serial.available() > 0)
{
char inChar = Serial.read();
if (inChar == '\n')
{
result[i] = '\0';
Serial.flush();
return 0;
}
if(inChar!='\r')
{
result[i] = inChar;
i++;

}
}
}
}

boa noite!

amigo poderia postar  código para analise da comunidade?

boa noite, acabei de postar!

Se acontece mais qdo está usando o SMS possivelmente é ruido.

Verifique o pullup.

https://pt.wikipedia.org/wiki/Resistor_pull-up

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço