Alarm Peringatan di Kawasan Bebas Asap Rokok



1. Komponen[Kembali]

a. Arduino Uno


b. LCD

c. LM35

d. Sensor Flame

e. Sensor MQ-2
f. Potensiometer
g. Resistor

h. LED

i. Buzzer
j. Baterai

k. Motor DC

l. Relay

2. Rangkaian Simulasi[Kembali]

a. Kondisi 1


b. Kondisi 2



c. Kondisi 3



d. Kondisi 4



a. Master

b. Slave



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);

  }

}

 

 

}



b. Slave

// #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);

  }

}

Rangkaian ini berfungsi untuk alarm peringatan di kawasan bebas asap rokok pada suatu ruangan. Pada rangkaian ini menggunakan komunikasi UART yang menggunakan 2 buah arduino yang berperan sebagai master dan slave. Pada komunikasi UART data dikirimkan secara paralel dari data bus ke UART1. Selanjutnya, pada UART1 ditambahkan start bit, parity bit, dan stop bit yang dimuat dalam satu paket. Dan paket data akan dikrimkan secara serial dari Tx UART1 ke Rx UART2. Kemudian, UART2 mengkonversikan dan menghapus bit tambahan, yang kemudian akan diparelelkan ke data bus penerima. Sensor flame, MQ2, LM35 dan LCD dihubungkan ke master. Dan LED hijau, kuning, merah, buzzer dan motor dihubungkan ke slave.

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”

7. Link Download[Kembali]

a. File rangkaian simulasiKlik Disini
b. Video rangkaian simulasiKlik Disini
c. Video rangkaian prototypeKlik Disini
d. Listing program master arduinoKlik Disini
e. Listing program slave arduinoKlik Disini
f. Datasheet arduinoKlik Disini
g. Library flame sensorKlik Disini
h. Library MQ2Klik Disini
i. Datasheet LCDKlik Disini
j. Datasheet ResistorKlik Disini
k. Datasheet PotensiometerKlik Disini
l. HTML











 

Tidak ada komentar:

Posting Komentar