int Led = 10; //deklarasi LED pada pin 10 Arduino
int LDR = A5; //deklarasi LDR pada pin A5 Arduino
#define pinecho1 7
#define pintriger1 6
#include <Servo.h>
Servo myservo;
const int mqxPin = 11; // pin A0 MQ2 connected to pin analog A0 Arduino
int redLed = 12; // LED connected to pin 12 Arduino
int buzzer = 10; // Buzzer connected to pin 10 Arduino
int sensorThres = 400;
const int sensorMin = 0; // sensor minimum
const int sensorMax = 1024;
const int trigPin = 12;
const int echoPin = 13;
const int Relay = A2;
int duration = 0;
int distance = 0;
float read_srf(int pintriger, int pinecho) {
long durasi;
float jarak;
digitalWrite(pintriger, LOW);
delayMicroseconds(2);
digitalWrite(pintriger, HIGH);
delayMicroseconds(10);
digitalWrite(pintriger, LOW);
delayMicroseconds(2);
durasi = pulseIn(pinecho, HIGH);
jarak = durasi / 58.2;
return jarak;
void setup()
pinMode(Led, OUTPUT); //deklarasi LED sebagai output
[Link](115200);
pinMode (pintriger1, OUTPUT);
pinMode (pinecho1, INPUT);
[Link](9);
pinMode(mqxPin, INPUT);
pinMode(redLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(trigPin , OUTPUT);
pinMode(echoPin , INPUT);
pinMode(Relay , OUTPUT);
int cahaya = analogRead(LDR); //membaca nilai ADC LDR
//jika nilai ADC > 800 maka
if (cahaya > 800)
digitalWrite(Led, HIGH); // LED menyala
else //atau
{
digitalWrite(Led, LOW); // LED mati
void loop()
int analogSensor = analogRead(mqxPin);
[Link]("Output MQ-2 : ");
[Link](analogSensor);
// Check whether it is greater than the threshold value
if (analogSensor > sensorThres)
digitalWrite(redLed, HIGH);
tone(buzzer, 1000, 200);
else
digitalWrite(redLed, LOW);
noTone(buzzer);
int sensorReading = analogRead(A0);
int map(long int, long int, long int, long int, long int);
int range = map(sensorReading,sensorMin, sensorMax, 0, 3);
switch (range) {
[Link]("** Close Fire **");
break;
case 1: // A fire between 1-3 feet away.
[Link]("** Distant Fire **");
break;
case 2: // No fire detected.
[Link]("No Fire");
break;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if ( distance <= 4 ) // set value when you want to turn OFF water pump
digitalWrite(Relay, LOW);
else if ( distance >= 7 ) // set value when you want to turn ON water pump
digitalWrite(Relay, HIGH);
int jarak = read_srf(pintriger1, pinecho1);
jarak = map (jarak, 3, 30, 0, 180);
[Link](jarak);
[Link](jarak);