---
# System prepended metadata

title: TUGAS BESAR SISTEM KENDALI DAN MEKANIKA "Home Smart Security Sensor"

---

<div style="text-align:center;">
  <h1>TUGAS BESAR SISTEM KENDALI DAN MEKANIKA <br/>  "Home Smart Security Sensor" <br/> 
    </h1>
</div>

<div style="text-align:center;">
<img src="https://hackmd.io/_uploads/Hk-k3NYwa.png" alt="Logo_Tel-U" width="300">
</div>

<div style="text-align:center;">
    <h1>
        Disusun Oleh:
    </h1>
    <h2>
    Kelompok 1
    </h2>
</div>

<div style="text-align:center;">
    <p> 
    Andika Pratama - 1103210206
    </p>
    <p>
    Muhammad Abi Kurniawan - 1103210041
    </p>
    <p>
    Valentino Rangga - 1103213224
    </p>
    <p>
    Irfan fathoni - 1103213127
    </p>
    <p>
    Geral Nius Bakhan - 1103213034
    </p>
    <p>
    Fajri Dwi Kurnia  - 1103210157
    </p>
</div>


# **DAFTAR ISI**
> [TOC]


# **PENDAHULUAN**
* **Latar Belakang**
    <div style="text-align:justify;">
    Di era digital saat ini, kebutuhan akan sistem keamanan rumah yang cerdas semakin meningkat. Keamanan rumah merupakan prioritas utama bagi setiap penghuni, tidak hanya untuk melindungi properti tetapi juga untuk menjaga keselamatan penghuni rumah. Kemajuan teknologi memungkinkan integrasi berbagai sensor dan aktuator dalam sistem keamanan rumah, sehingga menciptakan lingkungan yang lebih aman dan nyaman. Home Smart Security Sensor adalah solusi inovatif yang dirancang untuk mengatasi berbagai tantangan keamanan di rumah dengan mengintegrasikan teknologi sensor dan kontrol otomatis.
</div> 

* **Permasalahan**
    <div style="text-align:justify;">
    Banyak sistem keamanan rumah yang ada saat ini masih bersifat manual dan kurang efisien dalam mendeteksi ancaman secara real-time. Misalnya, lampu yang harus dinyalakan dan dimatikan secara manual, kipas yang tidak bisa diatur otomatis berdasarkan suhu ruangan, dan pintu yang memerlukan intervensi manusia untuk dibuka atau ditutup. Selain itu, deteksi gas berbahaya dan pencuri sering kali tidak terintegrasi dalam satu sistem yang mudah digunakan dan efisien. Keterbatasan ini mendorong perlunya pengembangan sistem yang lebih canggih dan terintegrasi untuk mengatasi berbagai kebutuhan keamanan rumah.
</div>

* **Ruang Lingkup**
    <div style="text-align:justify;">
    Penelitian ini akan fokus pada perancangan, implementasi, dan pengujian Home Smart Security Sensor dengan menggunakan berbagai sensor seperti LDR untuk deteksi cahaya, sensor suhu TMP, sensor ultrasonik untuk pengukuran jarak, sensor gas MQ untuk deteksi gas, dan sensor PIR untuk deteksi gerakan. Sistem ini akan dikendalikan oleh Arduino Uno yang akan mengolah data dari sensor dan mengontrol aktuator seperti lampu, kipas, servo motor untuk pintu dan ventilasi, serta buzzer untuk alarm. Implementasi dan pengujian sistem akan dilakukan untuk memastikan kinerja yang optimal dan keandalan dalam berbagai kondisi.
</div>


# **TUJUAN**
<div style="text-align:justify;">
    Tujuan pembuatan alat Home Smart Security Sensor adalah untuk menciptakan sistem keamanan rumah yang terintegrasi dan otomatis, yang mampu meningkatkan kenyamanan dan keamanan penghuninya. Sistem ini dirancang untuk mendeteksi kondisi lingkungan seperti intensitas cahaya, suhu, gas, jarak, dan gerakan, serta memberikan respons yang sesuai dengan mengendalikan berbagai perangkat seperti lampu, kipas, pintu, ventilasi, dan alarm. Dengan menggunakan berbagai sensor dan aktuator yang dikendalikan oleh Arduino Uno, sistem ini diharapkan dapat memberikan perlindungan terhadap ancaman keamanan, mengoptimalkan penggunaan energi, dan meningkatkan efisiensi pengelolaan rumah secara keseluruhan.
</div>
   


# **DASAR TEORI**
**1. Sensor dan Aktuator**
* LDR (Light Dependent Resistor)
![LDR](https://hackmd.io/_uploads/S1uUUFtSC.jpg)<div style="text-align:justify;">LDR atau Light Dependent Resistor adalah sensor yang digunakan untuk mengukur intensitas cahaya. Prinsip kerja LDR adalah berdasarkan perubahan resistansi terhadap cahaya yang diterimanya. Ketika intensitas cahaya meningkat, resistansi LDR menurun, dan sebaliknya, ketika intensitas cahaya menurun, resistansinya meningkat. LDR sering digunakan dalam aplikasi otomasi seperti pengontrol lampu otomatis, di mana lampu akan menyala ketika ruangan gelap dan mati ketika ruangan terang.
    </div>
    
* Sensor Suhu TMP
    ![sensorsuhu](https://hackmd.io/_uploads/SyloLKKBR.jpg)<div style="text-align:justify;">Sensor suhu TMP adalah sensor yang digunakan untuk mengukur suhu lingkungan. Sensor ini memberikan output dalam bentuk tegangan analog yang proporsional dengan suhu yang diukur. Arduino dapat membaca nilai tegangan ini melalui pin analog dan mengonversinya ke dalam satuan suhu. Sensor suhu TMP sering digunakan dalam aplikasi pengendalian suhu, seperti mengontrol kipas atau pemanas berdasarkan suhu ruangan.
    </div>
    
* Sensor Ultrasonik:
    ![Sensor Ultrasonik](https://hackmd.io/_uploads/HkXA8tYSA.jpg)<div style="text-align:justify;">Sensor ultrasonik bekerja dengan mengukur jarak berdasarkan waktu yang diperlukan oleh gelombang ultrasonik untuk memantul kembali setelah mengenai suatu objek. Sensor ini biasanya terdiri dari dua komponen utama: pemancar (transmitter) dan penerima (receiver). Pemancar mengirimkan gelombang ultrasonik, dan penerima menangkap gelombang yang dipantulkan. Dengan mengukur waktu tempuh gelombang tersebut, jarak ke objek dapat dihitung. Sensor ultrasonik sering digunakan dalam aplikasi penghindaran rintangan dan pengukuran jarak.
    </div>
    
* Sensor Gas MQ
    ![Sensor Gas MQ](https://hackmd.io/_uploads/Hk8bDFtB0.jpg)<div style="text-align:justify;">Sensor gas MQ digunakan untuk mendeteksi konsentrasi gas tertentu di udara. Sensor ini terdiri dari elemen sensor yang bereaksi terhadap gas tertentu dan menghasilkan perubahan resistansi yang dapat diukur. Sensor gas MQ memberikan output analog yang dapat dibaca oleh Arduino untuk menentukan konsentrasi gas. Sensor ini sering digunakan dalam sistem deteksi kebocoran gas atau kualitas udara.
    </div>
    
* Sensor PIR (Passive Infrared)
    ![download](https://hackmd.io/_uploads/rJoVPKYrC.jpg)<div style="text-align:justify;">Sensor PIR mendeteksi gerakan berdasarkan perubahan radiasi inframerah di sekitarnya. Sensor ini terdiri dari elemen piroelektrik yang dapat mendeteksi perubahan dalam jumlah radiasi inframerah yang dipancarkan oleh objek dalam bidang pandangnya. Ketika ada perubahan signifikan, seperti seseorang bergerak, sensor akan memberikan sinyal output. Sensor PIR banyak digunakan dalam sistem keamanan untuk mendeteksi keberadaan manusia.
    </div>

* Servo Motor
    ![Servo Motor](https://hackmd.io/_uploads/rycODtKS0.jpg)<div style="text-align:justify;">Servo motor adalah motor yang dapat bergerak ke sudut tertentu berdasarkan sinyal PWM (Pulse Width Modulation) yang diterima. Servo motor terdiri dari motor DC, potensiometer, dan sirkuit kontrol. Potensiometer memberikan umpan balik posisi saat ini, yang memungkinkan sirkuit kontrol untuk menggerakkan motor ke posisi yang diinginkan. Servo motor sering digunakan dalam aplikasi yang memerlukan kontrol posisi presisi, seperti robotik dan kontrol mekanisme pintu.
    </div>
    
* Buzzer
    ![Buzzer](https://hackmd.io/_uploads/ByyoPKYSR.jpg)<div style="text-align:justify;">Buzzer adalah komponen yang menghasilkan suara sebagai indikator alarm. Buzzer dapat berupa piezoelectric atau elektromagnetik, dan menghasilkan suara ketika diberi tegangan. Buzzer sering digunakan dalam sistem alarm untuk memberikan peringatan suara ketika kondisi tertentu terdeteksi, seperti deteksi pencuri atau kebocoran gas.
    </div>

**2. Arduino Uno**
    <div style="text-align:justify;">Arduino Uno adalah mikrokontroler berbasis ATmega328P yang sering digunakan dalam proyek DIY dan pendidikan. Arduino Uno menyediakan beberapa pin I/O digital dan analog yang dapat digunakan untuk membaca data dari sensor dan mengontrol aktuator.
    </div>
 

# **HASIL DAN ANALISIS**

**1. Gambaran Alat**
![rangkaian alat tubes SKM](https://hackmd.io/_uploads/Bkm3VtKSC.png)

**2. Source Code Program**
Berikut adalah source code dari program "Home Smart Security Sensor". 
```
#include <Servo.h>
Servo myservo1; // Deklarasi servo pertama untuk kontrol pintu
Servo myservo2; // Deklarasi servo kedua untuk ventilasi

int ldr = 0; // Variabel untuk sensor cahaya
int TEMP = 0; // Variabel untuk sensor suhu
int cm = 0; // Variabel untuk sensor ultrasonik (jarak)
int gas = 0; // Variabel untuk sensor gas
int pir = 0; // Variabel untuk sensor PIR (gerakan)

long readUltrasonicDistance(int triggerPin, int echoPin)
{
  pinMode(triggerPin, OUTPUT); // Set pin trigger sebagai output
  digitalWrite(triggerPin, LOW); // Set pin trigger rendah
  delayMicroseconds(2);
  digitalWrite(triggerPin, HIGH); // Set pin trigger tinggi selama 10 mikrodetik
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW); // Set pin trigger rendah lagi
  pinMode(echoPin, INPUT); // Set pin echo sebagai input
  return pulseIn(echoPin, HIGH); // Baca waktu pulsa pada pin echo
}

void setup()
{
  Serial.begin(9600); // Inisialisasi komunikasi serial
  pinMode(A0, INPUT); // Set pin A0 sebagai input untuk sensor LDR
  pinMode(A1, INPUT); // Set pin A1 sebagai input untuk sensor suhu
  pinMode(A2, INPUT); // Set pin A2 sebagai input untuk sensor ultrasonik
  pinMode(A3, INPUT); // Set pin A3 sebagai input untuk sensor gas
  pinMode(8, INPUT); // Set pin 8 sebagai input untuk sensor PIR
  pinMode(9, OUTPUT); // Set pin 9 sebagai output untuk kontrol kipas
  pinMode(10, OUTPUT); // Set pin 10 sebagai output untuk kontrol lampu
  pinMode(11, OUTPUT); // Set pin 11 sebagai output untuk kontrol ventilasi
  pinMode(5, OUTPUT); // Set pin 5 sebagai output untuk servo kedua
  pinMode(6, OUTPUT); // Set pin 6 sebagai output untuk servo pertama
  pinMode(7, OUTPUT); // Set pin 7 sebagai output untuk buzzer
  myservo1.attach(6); // Attach servo pertama ke pin 6
  myservo2.attach(5); // Attach servo kedua ke pin 5
  Serial.flush(); // Bersihkan buffer serial
  Serial.println(); // Tambahkan baris baru pada output serial
  Serial.println();
}

void loop()
{
  // FOR LIGHT ON/OFF
  ldr = analogRead(A0); // Baca nilai sensor LDR dari pin A0
  Serial.print("SUN BRIGHTNESS : ");
  Serial.print(ldr);
  if (ldr < 380) {
    digitalWrite(10, HIGH); // Nyalakan lampu jika nilai LDR kurang dari 380 (ruangan gelap)
    Serial.println(" : ROOM DARK ==>> LIGHT ON");
  } else {
    digitalWrite(10, LOW); // Matikan lampu jika nilai LDR lebih dari 380 (ruangan terang)
    Serial.println(" : ROOM BRIGHT ==>> LIGHT OFF");
  }
  
  //FOR FAN ON/OFF
  TEMP = -40 + 0.488155 * (analogRead(A1) - 20); // Baca nilai suhu dari sensor TMP pada pin A1
  Serial.print("TEMP : ");
  Serial.print(TEMP);
  if (TEMP > 30) {
    digitalWrite(9, HIGH); // Nyalakan kipas jika suhu lebih dari 30 derajat Celsius
    Serial.println(" : HIGH TEMP ==>> FAN ON");
  } else {
    digitalWrite(9, LOW); // Matikan kipas jika suhu kurang dari atau sama dengan 30 derajat Celsius
    Serial.println(" : LOW TEMP ==>> FAN OFF");
  }
  
  //DOOR OPEN CLOSE
  cm = 0.01723 * readUltrasonicDistance(A2, A2); // Hitung jarak menggunakan sensor ultrasonik
  Serial.print("DISTANCE(cm) : ");
  Serial.print(cm);
  myservo1.write(0); // Set servo pertama ke posisi 0 derajat (pintu tertutup)
  if (cm < 120) 
  {
    myservo1.write(90); // Buka pintu jika jarak kurang dari 120 cm
    delay(100);
    Serial.println("DOOR OPEN");
  } 
  else 
  {
    myservo1.write(0); // Tutup pintu jika jarak lebih dari atau sama dengan 120 cm
    Serial.println("DOOR CLOSE");
  }
  
  //GAS BASED VENTILATION OPEN
  gas = analogRead(A3); // Baca nilai sensor gas dari pin A3
  gas = map(gas, 300, 750, 0, 100); // Peta nilai gas dari rentang 300-750 ke 0-100
  Serial.print("GAS : ");
  Serial.print(gas);
  myservo2.write(0); // Set servo kedua ke posisi 0 derajat (ventilasi tertutup)
  if (gas > 25) 
  {
    myservo2.write(360); // Buka ventilasi jika nilai gas lebih dari 25
    digitalWrite(11, HIGH); // Nyalakan lampu indikator ventilasi terbuka
    delay(100);
    Serial.println("VENTILATOR OPEN");
  } 
  else 
  {
    myservo2.write(0); // Tutup ventilasi jika nilai gas kurang dari atau sama dengan 25
    digitalWrite(11, LOW); // Matikan lampu indikator ventilasi tertutup
    Serial.println("VENTILATOR CLOSE");
  }
  
  //THIEF DETECTION FOR SECURE ROOM
  pir = digitalRead(8); // Baca nilai sensor PIR dari pin 8
  Serial.print("THIEF : ");
  Serial.print(pir);
  if(pir == 1)
  {
    digitalWrite(7,HIGH); // Nyalakan buzzer jika gerakan terdeteksi (nilai PIR 1)
    tone(7, 500, 100); // Bunyikan buzzer
    delay(100);
    digitalWrite(7,LOW); // Matikan buzzer
    Serial.println("THIEF! BUZZER ON");
  }
  else
  {
    digitalWrite(7,LOW); // Matikan buzzer jika tidak ada gerakan (nilai PIR 0)
    Serial.println("NO THIEF BUZZER OFF");
  }
  Serial.println();
}

``` 

**3. Implementasi Rangkaian**
    <div style="text-align:justify;">Rangkaian dirancang dan diimplementasikan dengan menghubungkan semua sensor dan aktuator ke Arduino Uno. Berikut adalah deskripsi singkat tentang koneksi dan fungsi dari masing-masing komponen:
* Sensor LDR: Sensor LDR: Terhubung ke pin A0 untuk mengukur intensitas cahaya.
* Sensor Suhu TMP: Terhubung ke pin A1 untuk mengukur suhu.
* Sensor Ultrasonik: Terhubung ke pin A2 untuk mengukur jarak.
* Sensor Gas MQ: Terhubung ke pin A3 untuk mendeteksi gas.
* Sensor PIR: Terhubung ke pin 8 untuk mendeteksi gerakan.
* Servo Motor: Dua servo motor terhubung ke pin 5 dan 6 untuk mengontrol pintu dan ventilasi.
* Buzzer: Terhubung ke pin 7 untuk memberikan alarm.
* LED dan Kipas: Terhubung ke pin 9, 10, dan 11 untuk indikasi visual dan pengendalian.
</div> 

**4. Hasil Pengujian Sistem**
    <div style="text-align:justify;">Sistem diuji dalam berbagai kondisi untuk memastikan respons yang benar dari setiap sensor dan aktuator. Hasil pengujian menunjukkan bahwa sistem dapat:
* Menyalakan lampu secara otomatis ketika lingkungan gelap.
* Mengaktifkan kipas ketika suhu tinggi.
* Membuka pintu ketika ada objek mendekat.
* Mengaktifkan ventilasi ketika terdeteksi gas.
* Mengaktifkan alarm ketika terdeteksi gerakan mencurigakan.
</div> 

**5. Analisis**
    <div style="text-align:justify;">Meskipun sistem bekerja dengan baik dalam pengujian, ada beberapa area yang memerlukan perbaikan:
* Akurasi Sensor Ultrasonik: Sensor ini kadang-kadang memberikan pembacaan yang tidak konsisten.
* Kecepatan Respons Servo: Servo motor membutuhkan waktu untuk mencapai posisi yang diinginkan.
* Sensitivitas Sensor Gas: Sensor gas perlu dikalibrasi lebih akurat untuk mendeteksi berbagai jenis gas dengan tepat.
</div>



# **KESIMPULAN**
<div style="text-align:justify;">
    Proyek Home Smart Security Sensor berhasil mengintegrasikan berbagai sensor dan aktuator untuk menciptakan sistem keamanan rumah yang pintar dan otomatis. Sistem ini mampu memberikan respons yang sesuai terhadap kondisi lingkungan dan mendeteksi ancaman keamanan. Namun, untuk peningkatan lebih lanjut, diperlukan kalibrasi sensor yang lebih akurat dan optimasi kecepatan respons aktuator. Implementasi kontrol PID juga dapat dipertimbangkan untuk meningkatkan akurasi dan stabilitas sistem.

</div> 



