Membuat alat atau rangkaian monitoring suhu lewat sms ini sebenarnya sudah beberapa tahun lalu saya buat. Alat tersebut dapat menginformasikan suhu yang terbaca pada suatu ruangan dengan mengirimkan sms secara otomatis saat batas suhu yang telah ditentukan dicapai atau dilewati.
Kalau pada project yang lalu saya menggunakan sebuah modem serial yaitu modem wavecom sebagai alat untuk komunikasi lewat sms nya. Modem tersebut ukuran nya sangat besar, ditambah perlunya sebuah adaptor atau catu daya untuk dapat menyalakan modem tersebut. Komunikasi data ke mikrokontroler pun masih dalam level RS232, yang artinya kita harus membuatkan rangkaian tambahan yaitu konverter RS232 ke TTL.
Nah sekarang kebetulan nih ada order lagi tentang alat monitoring suhu serupa namun diminta agar ukuran nya sekecil mungkin dan dapat dinyalakan dengan menggunakan power bank.
Kenapa perlu ukuran yang kecil dan dinyalakan oleh sebuah power bank?
Alat yang dipesan ini katanya akan digunakan untuk memantau suhu dari sebuah transformator distribusi. sehingga memerlukan ukuran yang ringkas dan sederhana dalam pemberian catu daya nya. Dan kenapa harus power bank? katanya ini akan di charge menggunakan solar charger sehingga power bank dirasa sangat sederhana dipakai untuk menyalakan dan melakukan charging menggunakan solar charger karena hanya perlu tegangan teregulasi 5v untuk dapat mengisi ulang daya battery pada power bank.
Kalau untuk masalah komponen yang digunakan apakah sama dengan rangkaian sebelum nya yang menggunakan modem wavecom? tentunya sekarang rangkaian nya menjadi sangat sederhana. Karena kita tidak perlu lagi membuat rangkaian konverterdari RS232 ke TTL. Kenapa? karena modem wavecom telah kita ganti dengan menggunakan modul GSM yang dimana data komunikasi nya berada pada level TTL. yang artinya kita tidak usah lagi membuat rangkaian konverter melainkan dapat langsung disambungkan ke mikrokontroler yang digunakan.
Komponen yang diperlukan adalah :
- mikrokontroler atmega328
- capacitor 22pf
- resistor 10k
- resistor 4k7
- crystal 16MHz
- Elco 100uF
- Modul GSM SIM900
- sensor suhu DS18B20
Nah dari semua itu mana yang susah di dapat? mungkin menurut kalian adalah sensor suhu dan modul gsm? sensor suhu sebenarnya bisa diganti dengan yang analog yaitu LM35 namun dalam project ini kebetulan permintaan nya adalah sensor suhu digital.
untuk modul GSM nya sekarang sudah banyak yang jual dan bisa juga diganti versi murah nya yaitu SIM800L seharga 200ribu.
Skematik dari rangkaian yang saya buat bisa kalian lihat pada gambar ini. Saya gambar dengan menggunakan software eagle dan kalian bisa download file nya.
[ads1]
Dan untuk layout nya ukuran aslinya tidak lebih dari 6cm, kecil kan? kalian bisa tiru contoh layout yang sudah saya buat ini.
Untuk program saya menggunakan arduino dalam memprogram nya. apakah susah? tidak juga, karena saya menggunakan 2 library penting dalam project ini yaitu wire untuk komunikasi terhadap sensor digital nya dan juga library untuk sim900 nya. Library sim900 ini berfungsi juga untuk modul GSM sim800l.
penggalan coding nya adalah seperti ini.
if(celsius>=60){ if(kirimstate){ kirimstate=false; digitalWrite(led,HIGH); sms.SendSMS("081xxxxxxxx","Suhu Melebihi Batas Normal!"); digitalWrite(led,LOW); } else{ PString str(buffer, sizeof(buffer)); delay(60000); str.print("Temperatur : "); str.print(celsius); str.print("Celsius, "); str.print("Tegangan Batt. "); str.print(a); str.print("V"); digitalWrite(led,HIGH); sms.SendSMS(n,buffer); digitalWrite(led,LOW); } } if(celsius<58){ kirimstate=true; } PString str(buffer, sizeof(buffer)); int pos=0; if(started){ pos=sms.IsSMSPresent(SMS_ALL); if(pos){ digitalWrite(led,HIGH); sms.GetSMS(pos,n,smsbuffer,100); digitalWrite(led,LOW); if(!strcmp(smsbuffer,"1234lapor")){ str.print("Temperatur : "); str.print(celsius); str.print("C, "); str.print("Teg. Batt."); str.print(a); str.print("V"); digitalWrite(led,HIGH); sms.SendSMS(n,buffer); digitalWrite(led,LOW); }
Dalam coding tersebut saya tuliskan bahwa jika suhu yang terbaca melebihi dari 60 derajat celsius maka jika variable kirimstate bernilai benar maka akan menyalakan LED serta mengirimkan sms ke nomor yang sudah ditentukan.
Dan pada koding urutan bawah kamu bisa cek pada baris if(!strcmp(smsbuffer,”1234lapor”)) itu artinya adalah jika sms yang dibaca atau dikirimkan dari pengguna ke alat ini adalah isinya 1234lapor maka alat ini akan melakukan penulisan pesan sms sesuai dengan koding selanjutnya tersbut yaitu “Temperatur (nilai suhu) C, Teg. Batt. (nilai tegangan) V” dan menyalakan led saat mengirimkan sms.
Video demo dari alat ini kamu bisa saksikan dibagian atas dari artikel ini, sedangkan file pendukung seperti koding, skematik dan library kamu bisa download pada link yang sudah disiapkan dibawah ini.
[sociallocker]
[/sociallocker]
Eksplorasi konten lain dari Duwi Arsana
Berlangganan untuk dapatkan pos terbaru lewat email.
Mas PString itu ada librarynya sendiri yah mas?
iya, coba download ketik pstring library.