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);
}
Tags:
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 !!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por