Translate

Membuat Alat Monitoring Suhu dan kelembaban (Temperature - Humidity) Sensor DHT11 dan SMS GATEWAY SIM900A

Membuat Alat Monitoring Suhu dan kelembaban (Temperature - Humidity) Sensor DHT11 dan SMS GATEWAY SIM900A


          Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat untuk monitor suhu dan kelembaban dengan notifikasi SMS sebagai alarm atau tanda peringatannya. Alat ini menggunakan Arduino Uno dan sensor DHT11, modul sms yang digunakan adalah SIM900A. jika kelembaban telah mencapai batas tertentu maka alat akan sms ke nomer yang dituju. untuk lebih jelasnya berikut adalah skema dan programnya.



a. Arduino Uno




b. Sensor DHT11




c. Modul SMS SIM900A




d. LCD I2C






e. Program Arduino IDE

#include <Wire.h>
#include <LiquidCrystal_I2C.h> 
#include "DHT.h"
#include "SIM900.h"
#include <SoftwareSerial.h>

#include "sms.h"
SMSGSM sms;

#define DHTPIN 8     // what digital pin we're connected to
#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x3F, 16, 2);

int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];

int mark = 0;

void setup() {
  lcd.begin();
  lcd.clear();
  lcd.noCursor();
 
   lcd.setCursor(0,0);
   lcd.print("LOADING......");
  
     //Serial connection.
     Serial.begin(9600);
     Serial.println("GSM Shield testing.");
     //Start configuration of shield with baudrate.
     //For http uses is raccomanded to use 4800 or slower.
     if (gsm.begin(2400)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

     if(started) {
        
     }

  dht.begin();
  Serial.begin(9600);
   while (!Serial) {
  }
 
  lcd.clear();


void loop(){

 float h = dht.readHumidity();
 float t = dht.readTemperature();
 float f = dht.readTemperature(true);

 int hum = h ;
 int suhu = t;

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
 
   lcd.setCursor(0,0);
   lcd.print("suhu= ");
   lcd.print(suhu);
   lcd.print("            ");
   lcd.setCursor(0,1);
   lcd.print("hum= ");
   lcd.print(hum);
   lcd.print("            ");

   if((hum >= 73)&&(mark == 0)){
   lcd.noBacklight();  
/*
   if (sms.SendSMS("085726234567", "Bahaya"))
   Serial.println("\nSMS sent OK");
 
   mark = 1;
   }
  
   if((hum < 41)&&(mark == 1)){
   lcd.backlight();
   mark = 0;
   }
  
   if((hum < 41)&&(mark == 0)){
   lcd.backlight();
   mark = 0;
   }

   delay(1000);
  

  




f. VIDEO HASILNYA








No comments:

Post a Comment