Ola a todos , eu estou com um sensor de temperatura dht 22 e uma shield sim 900 conectadas a um arduino UNO funcionando perfeitamente. 

Porém, como sou iniciante em questão de arduino gostaria de aumentar o delay de envio da sms, por exemplo neste codigo ela esta enviado a cada um minuto.. gostaria de aumentar este tempo para 2 horas ou uma hora. Alguma ideia ? 

Segue o codigo 

------------------------------

#include <SoftwareSerial.h>
SoftwareSerial mySerial(7,8);
#include<DHT.h>
#define DHTPIN 4                                //PINO DIGITAL UTILIZADO PELO DHT22
#define DHTTYPE DHT22                  //DEFINE O MODELO DO SENSOR (DHT22 / AM2302)

DHT dht(DHTPIN, DHTTYPE); //PASSA OS PARÂMETROS PARA A FUNÇÃO
void setup()
{
mySerial.begin(19200);            // Setting the baud rate of GSM Module
Serial.begin(19200);                // Setting the baud rate of Serial Monitor (Arduino)
mySerial.println("AT");            //Handshaking with SIM900
// mySerial.println("AT+CNMI=2,2,0,0,0");
delay(100);
dht.begin();
}

void loop()
{
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
mySerial.println("AT+CMGF=1");                         //Sets the GSM Module in Text Mode
delay(1000);                                                       // Delay of 1000 milli seconds or 1 second
mySerial.println("AT+CMGS=\"*****************\"\r");        // Replace x with mobile number X with countryCode
delay(1000);
mySerial.println("rotina sms");                          // The SMS text you want to send
mySerial.println("The current temperature is:"+String(temperature)+"*C"+"the humidity is:"+String(humidity)+"%");
delay(100);
mySerial.println((char)26);                      // ASCII code of CTRL+Z
delay(2000);
}

Exibições: 83

Responder esta

Respostas a este tópico

   Laís, anexe seu código como um arquivo no tópico. Desta forma fica mais simples de analisá-lo e mantém mais clean a organização da publicação.

Olá,

  nunca usei mas existe uma biblioteca pronta pra isso.

Vide:

http://labdegaragem.com/profiles/blogs/projeto-arduino-como-rel-gio

Com ela vc monta um relogio e ficar verificando se o a hora é mudou. Caso afirmativo manda a mensagem.

Boa noite

Para fazer isso internamente (no código) , poderia usar a função millis().

Veja um exemplo neste link: https://forum.fazedores.com/t/usando-a-funcao-millis-ao-inves-do-de...

Acho que ajuda.

Olá Lais.

      Alterei seu código original, para envio do SMS no intervalo que vc determinar.

      Também fiz pequenos ajustes, de forma que o código fique mais flexível em termos de utilização. Por exemplo, acrescentei uma temporização para respeitar a taxa de amostragem do Sensor DHT, conforme especifica o datasheet do sensor.

      Sobre o intervalo de envio do SMS, deixei especificado em minutos, logo no início do código, através de um #define.

      Logo, para enviar a cada 2 horas basta colocar o valor do #define do “intervalo_SMS” em 120 minutos. Para 1 hora, coloque 60 minutos (este é o valor que eu deixei no código).

      Achei mais interessante deixar em minutos, pois assim é possível especificar de forma mais fácil intervalos menores, como por exemplo 5 minutos, 10 minutos, 30, etc.

 

      Sobre o número do telefone que receberá o SMS, formatei para que esta especificação ficasse mais “explícita” (separando o código do País, código DDD, e o próprio número do fone). Mas caso queira alterar isso, vc perceberá que está fácil no código.

 

      Para o texto que compõe o SMS, deixei as strings na Memória de Programa (a “Flash”). Assim, caso venha a enviar outros SMS diferentes no mesmo código, vc poderá seguir a mesma técnica e dessa forma economizar a Memória RAM do Arduino (que é um tanto limitada em tamanho).

      Os parâmetros de Hardware, ficaram exatamente como estavam no seu código original.

      Este seu código foi uma boa oportunidade para demonstrar a facilidade de se aplicar as técnicas de codificação que utilizei, e assim tentar popularizar ou pelo menos tornar mais acessível tais técnicas, para outros que venham precisar de algo semelhante aqui no LDG.

      Segue o código  implementado:   SMS_temporizado_SIM900_02.zip

  

      Caso tenha alguma dúvida, não deixe de perguntar.

  

      Abrçs,

 

      Elcids

Muito obrigada pessoal , vou olhar as opções que vocês apresentaram 

Muito Obrigada Elcids!!! vou analisar o código

Esse fórum é sensacional !! 

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço