- Aplikasi Ruangan Bebas Rokok
- 1. Komponen [kembali]
a. Arduino Uno
b. LCDc. LM35
d. Sensor Flame
e. Sensor MQ-2f. Potensiometerg. Resistorh. LEDi. Buzzerj. Bateraik. Motor DCl. Relay
Master
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int Gas = A1;
int Api = A2;
int LM35 = A0;
int nilaisuhu;
int nilaiApi;
int nilaiGas;
void setup()
{
Serial.begin(9600);
pinMode(Api, INPUT);
pinMode(Gas, INPUT);
pinMode(LM35, INPUT);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
}
void loop()
{
nilaisuhu = ((5 * analogRead(LM35) * 100.00) / 1024);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu");
lcd.setCursor(0, 1);
lcd.print(nilaisuhu);
delay(50);
int nilaiApi = analogRead(Api);
int nilaiGas = analogRead(Gas);
Serial.print("nilai Api : ");
Serial.print(nilaiApi);
Serial.print(" nilai suhu : ");
Serial.print(nilaisuhu);
Serial.print(" nilai Gas : ");
Serial.println(nilaiGas);
delay (1000);
if (nilaiGas<= 560)
{
if(nilaiApi>300 && nilaisuhu <= 80)
{
Serial.write(1);
lcd.setCursor(0, 0);
lcd.print("DILARANG MEROKOK");
lcd.setCursor(0, 1);
lcd.print("TIDAK ADA ASAP");
delay(1000);
}
else if(nilaiApi <= 300 && nilaisuhu >80)
{
Serial.write(2);
lcd.setCursor(0, 0);
lcd.print("DILARANG MEROKOK");
lcd.setCursor(0, 1);
lcd.print("API TERDETEKSI");
delay(1000);
}
}
else {
if (nilaiApi>300 && nilaisuhu <=80)
{
Serial.write(3);
lcd.setCursor(0, 1);
lcd.setCursor(0, 0);
lcd.print("ASAP TERDETEKSI ");
lcd.setCursor(0, 1);
lcd.print(" MATIKAN ROKOK ");
delay (1000);
}
else if(nilaiApi <= 300 && nilaisuhu > 80)
{
Serial.write(4);
lcd.setCursor(0, 1);
lcd.setCursor(0, 0); lcd.print(" SILAHKAN KELUAR ");
lcd.setCursor(0, 1); lcd.print(" ADA KEBAKARAN ");
delay (1000);
}
}
}
// #include <LiquidCrystal.h>
// LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int LED1 = 11;
int LED2 = 12;
int LED3 = 13;
int Buzzer = 2;
int Relay = 9;
void setup()
{
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(Buzzer, OUTPUT);
pinMode(Relay, OUTPUT);
}
void loop()
{
int data = Serial.read();
if (data == 1)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(Buzzer, LOW);
digitalWrite(Relay, LOW);
delay(1000);
}
else if (data == 2)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
digitalWrite(Buzzer, HIGH);
digitalWrite(Relay, HIGH);
delay(1000);
}
else if (data == 3)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(Buzzer, LOW);
digitalWrite(Relay, LOW);
delay(1000);
}
else if (data == 4)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
digitalWrite(Buzzer, HIGH);
digitalWrite(Relay, HIGH);
delay(1000);
}
Pada rangkaian ini sensor MQ2 berfungsi sebagai pendeteksi asap rokok yang terdapat pada ruangan. Nilai analog pada rangkaian sensor ini dapat menggunakan resistor variabel 1K. Dan pada program master, nilai analog akan terbaca akan diolah dengan rumus analogRead(Gas)-1. Jika nilai yang terbaca lebih dari 560 maka sensor MQ2 akan mendeteksi asap. Dan untuk sensor flame berfungsi sebagai pendeteksi adanya api, pada prototype ini dihubungkan ke pin analog master, nilai analog akan terbaca akan diolah dengan rumus analogRead. Jika nilai apinya kecil dari 300 maka akan berlogika HIGH, sedangkan ketika nilai apinya besar dari 300 maka akan berlogika LOW. Dan jika terdeteksi api maka master akan mengirimkan data ke slave yang kemudian akan menghidupkan led merah, buzzer dan motor. Dan juga untuk LM35 berfungsi untuk mengukur suhu pada ruangan, LM35 dihubungkan ke pin analog dari master, nilai analog akan terbaca dan akan diolah dengan rumus ((5 * analogRead(LM35) * 100.00) / 1024. Jika suhu yang terdeteksi kecil dari 80 pada prototype ini maka suhu ruangan dianggap dalam keadaan normal.
Dan pada rangkaian ini, jika dalam suhu normal, jika tidak terdeteksi asap dan api, maka lampu hijau akan menyala dan tampil pada LCD “ DILARANG MEROKOK TIDAK ADA ASAP”. Dan ketika suhu ruangan dalam keadaan normal, serta tidak terdeteksi api dan terdeteksi gas maka LED kuning akan menyala dan tampil pada LCD “ASAP TERDETEKSI MATIKAN ROKOK”. Dan ketika api terdeteksi dan suhu ruangan di atas suhu normal maka LED merah, buzzer dan motor akan menyala dan tampilan LCD “DILARANG MEROKOK API TERDETEKSI”. Dan ketika terdeteksi asap dan api serta suhu ruangan di atas suhu normal maka buzzer, LED merah, dan motor akan menyala serta tampilan pada LCD “SILAHKAN KELUAR ADA KEBAKARAN”