a. Arduino Uno
b. LCD
c. LM35
d. Sensor Flame
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);
}
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”
Tidak ada komentar:
Posting Komentar