0% found this document useful (0 votes)
11 views

Coding Smart Home

Uploaded by

Barkha Roza95
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Coding Smart Home

Uploaded by

Barkha Roza95
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

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

Serial.begin(115200);

pinMode (pintriger1, OUTPUT);

pinMode (pinecho1, INPUT);

myservo.attach(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);

Serial.print("Output MQ-2 : ");

Serial.println(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) {
Serial.println("** Close Fire **");

break;

case 1: // A fire between 1-3 feet away.

Serial.println("** Distant Fire **");

break;

case 2: // No fire detected.

Serial.println("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);

myservo.write(jarak);

Serial.println(jarak);

You might also like