Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
com]
Kebutuhan Hardware :
Sensor DHT11
Modem SMS Getway
Modul Serial RS232
Modul LCD 2x16
Modul Arduino UNO
Power supply +9Volt
SENSOR DH11
INKUBATEK
MODULE RS232
Diagram Blok:
LCD 2X16
Modem SMS
Arduino UNO
GETWAY
HP
RS 232
DHT11
2 Inkubatek [supported by : www.tokotronik.com]
Schematics
INKUBATEK
2 RS
3 EN
4 D4
5 D5
6 D6
7 D7
VCC +5V
DATA PIN 10
GND GND
GND GND
VCC +5V
RXD Pin 8
TXD Pin 9
3 Inkubatek [supported by : www.tokotronik.com]
Source Code/Sketch :
/*************************************
* Program : Project 114. Telemetri suhu kelembaban by request
* 125 Proyek Arduino Inkubatek
* www.inkubator-teknologi.com
* www.tokotronik.com
* ***********************************/
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
#include "DHT.h"
#define DHTPIN 10
#define DHTTYPE DHT11
char str,f;
int i,j;
String inString="";
String inString2="";
String Stemp="";
String inbox="";
String noPengirim="";
void setup(){
gsm.begin(9600);
dht.begin();
lcd.begin(16, 2);
lcd.print("Tes Koneksi...");
delay(1000);
gsm.println("AT");
getmodem();
getmodem();
lcd.setCursor(0, 1);
lcd.print(inString);
delay(2000);
lcd.clear();
4 Inkubatek [supported by : www.tokotronik.com]
lcd.print("Telemetri DHT11");
lcd.setCursor(0,1);
lcd.print("by request SMS");
delay(3000);
}
//=========================program utama
void loop(){
lcd.begin(16,2);
lcd.clear();
lcd.print("Tunggu SMS masuk");
lcd.setCursor(0,1);
lcd.print("kode:GET/Get/get");
//----------------------data ENTER
getmodem();
lcd.clear();
lcd.print("SMS Masuk...");
//----------------------data CMTI:
getmodem2();
i=inString2.indexOf(':');
if(i>0){
Stemp=inString2.substring(0,i);
if(Stemp=="+CMTI"){
i=inString2.indexOf(',');
j=inString2.length ();
i=i+1;
inbox=inString2.substring(i,j);
gsm.print("AT+CMGR=");
gsm.println(inbox);
getmodem();
getmodem();
getmodem2();
i=inString.indexOf(',');
i=i+2;
j=inString.indexOf(',',i);
j=j-1;
noPengirim=inString.substring(i,j);
//--------------------------------isi SMS jika Get
if(inString2=="GET" || inString2=="Get" || inString2=="get"){
baca_sensor();
kirim_sms();
}
//---------------------------------other sms
else {
gsm.print("AT+CMGS=");
5 Inkubatek [supported by : www.tokotronik.com]
gsm.println(noPengirim);
delay(1000);
gsm.print("Format Salah!");
gsm.write((byte)26);
gsm.println();
lcd.clear();
lcd.print("Format Salah!");
}
delay(3000);
lcd.clear();
lcd.print("Hapus SMS:");
//-------------------------hapus inbox
getmodem();
getmodem();
gsm.print("AT+CMGD=");
gsm.println(inbox);
do{
getmodem();
}
while(inString != "OK");
lcd.print(inbox);
lcd.setCursor(0,1);
lcd.print(inString);
delay(3000);
}
}
}
//===========================baca data serial
void getmodem(){
f=1;
inString="";
while(f){
if(gsm.available()){
str=gsm.read();
switch (str){
case '\r': break;
case '\n':f=0; break;
default:inString+=(char)str;
}
}
}
}
//====================================
void getmodem2(){
6 Inkubatek [supported by : www.tokotronik.com]
f=1;
inString2="";
while(f){
if(gsm.available()>0){
str=gsm.read();
switch (str){
case '\r': break;
case '\n':f=0; break;
default:inString2+=(char)str;
}
}
}
}
//====================================kirim SMS
void kirim_sms(){
gsm.print("AT+CMGS=");
gsm.println(noPengirim);
delay(1000);
gsm.print("Suhu:");
gsm.print(t);
gsm.print("C, Kelembaban:");
gsm.print(h);
gsm.print("%.");
gsm.write((byte)26);
gsm.println();
lcd.clear();
lcd.print("Kirim SMS....");
delay(2000);
}
7 Inkubatek [supported by : www.tokotronik.com]
Jalannya Alat :
1. Tes koneksi antara modem dengan Arduino:
Tes Koneksi...
Koneksi OK
Telemetri DHT11
by request SMS
4. Selanjunta tampil kondisi normal:
5. Silahkan Anda bisa SMS ke nomor yang ada di dalam modem, isi SMS bisa “GET” atau
“Get” bisa juga “get”. Format SMS hanya ada 3 format tersebut, jika tidak termasuk ke 3
format tersebut dianggap format salah.
6. Setelah SMS dikirim maka Arduino akan membaca sensor DHT11 kemudian hasilnya
dikirim via SMS (ke nomor pengirim SMS) contoh isi SMS yang dikirim “Temp:31C,
Humi:80%”.
7. Apabila format SMS yang dikirim salah maka Arduino akan mengirim SMS “Format
Salah”.
8 Inkubatek [supported by : www.tokotronik.com]