Requirement:
1. Arduino UNO X 1
2. DHT22 Temperature & Humidity Sensor X 1
3. SIM 900 GSM Module X 1
4. Relay Module 5 Volt X 1
5. Power Supply 12 Volt 1 A.
6. CD 4017 Decade Counter IC
Circuit:
Code:
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "call.h"
#include <DHT.h>
#include "sms.h"
int gsmTx = 3; // TX- pin to Arduino Pin D2
int gsmRx = 2; // RX- pin to Arduino Pin D3
int LED=11;
char phone_number[20];
char user_phone_number[] = "+918920251271"; //DEFINE YOUR USER CELLPHONE NUMBER
SMSGSM sms;
#define DHTPIN 7 //DHT Output Pin connect to Arduino Pin 7
#define DHTTYPE DHT11
CallGSM call;
boolean started=false;
char sms_text[160];
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
pinMode(DHTPIN, INPUT);
dht.begin();
Serial.begin(9600);
if (gsm.begin(9600))
{
Serial.println("\nstatus=READY");
started=true;
} else
Serial.println("\nstatus=IDLE");
}
void loop()
{
float humidity, temperature;
String smsText ="";
switch (call.CallStatus())
{
case CALL_NONE: // Nothing is happening
break;
case CALL_INCOM_VOICE : // Yes! Someone is calling us
Serial.println("RECEIVING1 CALL");
delay(1000);
call.HangUp();
delay(3000);
Serial.println("CALL1 HANGUP");
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED,LOW);
humidity = dht.readHumidity();
temperature = dht.readTemperature();
delay(2000);
smsText = "Temperature: "+String(temperature,1)+"C Humidity: "+String(humidity,1)+"%";
smsText.toCharArray(sms_text,160);
//Serial.println(smsText);
sms.SendSMS("XXXXXXXXXX",sms_text);// Set your mobile No. on which you receive the SMS
break;
case CALL_COMM_LINE_BUSY: // In this case the call would be established
Serial.println("TALKING. Line busy.");
break;
}
delay(1000);
}