Modul 4





Brankas Modern

1. Pendahuluan
[Kembali]

Brankas atau lemari besi telah menjadi salah satu alat penting dalam menjaga keamanan dan perlindungan barang berharga sejak zaman dahulu. Seiring dengan perkembangan teknologi, brankas juga mengalami evolusi signifikan. Brankas modern adalah salah satu temuan yang mencerminkan kemajuan ini, menggabungkan berbagai fitur canggih untuk meningkatkan keamanan dan kenyamanan penggunanya.

Brankas modern adalah hasil dari integrasi teknologi tinggi dengan kebutuhan keamanan yang semakin kompleks. Brankas modern tidak hanya digunakan oleh institusi besar, tetapi juga oleh individu untuk melindungi barang berharga mereka di rumah. Dengan kemampuannya untuk memberikan tingkat keamanan yang tinggi, brankas modern membantu mencegah pencurian, kerusakan, dan kehilangan barang berharga.

Temuan brankas modern adalah contoh nyata dari bagaimana teknologi dapat meningkatkan keamanan dan kenyamanan hidup kita. Dengan berbagai fitur canggih dan material berkualitas tinggi, brankas modern menawarkan perlindungan yang jauh lebih baik dibandingkan dengan pendahulunya. Perkembangan ini mencerminkan komitmen berkelanjutan terhadap inovasi dalam bidang keamanan dan perlindungan aset.



2. Tujuan [Kembali]
  1. Memahami prinsip dasar input dan output pada mikrokontroler.
  2. Mampu memahami sistem brankas modern
  3. Mampu memahami simulasi proteus yang dihubungkan kedalam proteus
  4. Untuk mengetahui penggunaan mikroprosesor dan mikrokontroler pada prototype yang  dikreasikan
  5. Untuk menghasilkan alat yang dapat bekerja secara otomatis berbasis mikroprosesor dan mikrokontroler
3. Alat dan Bahan [Kembali]
A. Alat
1.      Baterai

  


B. Bahan

  • Pulse Widht Modoulation (PWM)




  • Arduino Uno

  • Komunikasi I2C

     
  • Vibration Sensor




  • Sensor Touch


  • Sensor Magnetic



  • Sensor PIR



  • Ultrasonic Sensor


    • LCD



 

  • Buzzer


  • Motor Driver


  • Motor DC




4. Dasar Teori [Kembali]
1.      PWM (Pulse Width Modulation)
 PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsamerupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. Duty Cycle adalah perbandingan antara waktu ON (lebar pulsa High) dengan perioda. Duty Cycle biasanya dinyatakan dalam bentuk persen (%).

  •  

    ·         Duty Cycle = tON / ttotal

    ·         tON = Waktu ON atau Waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1)

    ·         tOFF = Waktu OFF atau Waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0)

    ·         ttotal = Waktu satu siklus atau penjumlahan antara tON dengan tOFF atau disebut juga dengan “periode satu gelombang”

    Pada board Arduino Uno, pin yang bisa dimanfaatkan untuk PWM adalah pin yang diberi tanda tilde (~), yaitu pin 3, 5, 6, 9, 10, dan pin 11. Pin-pin tersebut merupakan pin yang bisa difungsikan untuk input analog atau output analog. Oleh sebab itu, jika akan menggunakan PWM pada pin ini, bisa dilakukan dengan perintah analogWrite();.

    PWM pada arduino bekerja pada frekuensi 500Hz, artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa memberi nilai dari 0 hingga 255. Ketika kita memberikan angka 0, berarti pada pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt). Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5 volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap setengah dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika jika memberikan 25% dari 255 (1/4 x 255 atau 64), maka 1/4 siklus akan bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1 detik.




    2.      ADC (Analog to Digital Converter)

     

    ADC atau Analog to Digital Converter merupakan salah satu perangkat elektronika yang digunakan sebagai penghubung dalam pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi.

    Kecepatan sampling menyatakan seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt. Pada Arduino, menggunakan pin analog input yang diawali dengan kode A (A0- A5 pada Arduino Uno). Fungsi untuk mengambil data sinyal input analog menggunakan analogRead(pin);.

    3.      Mikrokontroler

     

    Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, serta tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang ke adaptor DC atau baterai untuk menjalankannya.



    Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Fungsi fungsi tersebut beroperasi di tegangan 5 volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm.


    4.      Komunikasi

    4.1.  Inter Integrated Circuit (I2C)

     

    Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya.



    Cara Kerja Komunikasi I2C :

     

    Pada I2C, data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi Stop.

    ·         Kondisi start dimana saat pada SDA beralih dari logika high ke low sebelum SCL.

    ·         Kondisi stop dimana saat pada SDA beralih dari logika low ke high sebelum SCL.

    ·         R/W bit berfungsi untuk menentukan apakah master mengirim data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave)

    ·         ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telah diterima receiver.


    5.      Sensor

    5.1.  Sensor Vibration

     


     

    Vibration sensor, atau sensor getaran, adalah perangkat yang digunakan untuk mendeteksi dan mengukur getaran, goncangan, atau osilasi pada suatu objek atau lingkungan. Sensor ini sangat penting dalam berbagai aplikasi industri, teknik, dan penelitian karena kemampuan mereka untuk memberikan data penting tentang kondisi operasional mesin dan struktur.

    Spesifikasi dari sensor vibration :

    ·         Vsuplai : DC 3.3V-5V

    ·         Arus : 15mA

    ·         Sensor : SW-420 Normally Closed

    ·         Output : digital

    ·         Dimensi : 3,8 cm x 1,3 cm x 0,7 cm

    ·         Berat : 10 gr

     

    Pin

    Deskripsi

    VCC

    Pin catu daya positif. Ini memberi daya pada sensor.

    GND

    Pin sambungan ground

    D0

    Pin keluaran digital. Ini melewati output digital dari rangkaian komparator bawaan.

     

     

     

     

     

     

     

     

     

    5.2.  Sensor Magnetic


           Sensor magnetik adalah perangkat yang sangat serbaguna yang digunakan untuk mendeteksi dan mengukur medan magnet dalam berbagai aplikasi. Dengan berbagai jenis sensor seperti sensor efek Hall, magnetoresistif, dan fluxgate, sensor ini memberikan solusi yang efektif untuk pengukuran posisi, kecepatan, orientasi, dan deteksi medan magnet. Penggunaan sensor magnetik meningkatkan akurasi, keamanan, dan efisiensi dalam banyak sistem dan perangkat, mulai dari otomotif hingga elektronik konsumen dan aplikasi medis.

    Spesifikasi dari Sensor Magnetic :

    ·         Jenis reed: Normally Open

    ·         Tegangan kerja: 3.3-5v

    ·         Output: digital (0 dan 1)

    ·         Ukuran kecil: 3.2x1.4cm

    ·         Comparator: wide voltage LM393

     

    Pin

    Deskripsi

    VCC

    Pin catu daya positif. Ini memberi daya pada sensor.

    GND

    Pin sambungan ground

    D0

    Pin keluaran digital. Ini melewati output digital dari rangkaian komparator bawaan.

     

    5.3.  Sensor PIR

    Sensor PIR adalah perangkat yang efektif dan andal untuk mendeteksi gerakan berdasarkan perubahan radiasi inframerah. Dengan komponen utama seperti sensor piroelektrik dan lensa Fresnel, sensor ini mampu mendeteksi kehadiran manusia atau hewan dalam berbagai aplikasi, termasuk sistem keamanan, otomasi pencahayaan, dan perangkat rumah pintar. Keunggulan sensor PIR meliputi kemudahan penggunaan, biaya rendah, dan konsumsi daya yang rendah, menjadikannya pilihan populer untuk banyak aplikasi komersial dan konsumen.

               

     

    Spesifikasi dari sensor PIR :

    ·         Jarak pendeteksian : +/- 6 m.

    ·         Menggunakan 1 pin output.

    ·         Dua jenis output :

    ·         Continuous high/low.

    ·         High-low pulse.

    ·         Terdapat jumper konfigurasi pemilihan output.

    ·         Menggunakan header 3x1 dengan pitch 2.54 mm.

    ·         Tegangan kerja : 3.3 VDC - 5 VDC.

    ·         Dimensi : 32.2 mm x 24.3 mm x 25.4 mm.

    ·         Kompatibel dengan berbagai macam mikrokontroler.   

    Pin

    Deskripsi

    VCC

    Pin catu daya positif. Ini memberi daya pada sensor.

    GND

    Pin sambungan ground

    D0

    Pin keluaran digital. Ini melewati output digital dari rangkaian komparator bawaan.

     

    5.4.  Sensor Ultrasonic

    Sensor ultrasonik adalah alat yang efisien dan andal untuk mengukur jarak dan mendeteksi objek menggunakan gelombang suara ultrasonik. Dengan berbagai aplikasi di bidang otomotif, robotika, industri, dan lainnya, sensor ini menawarkan solusi non-kontak yang aman dan akurat untuk berbagai kebutuhan pengukuran dan deteksi. Keunggulan sensor ultrasonik, termasuk keakuratan, kecepatan, dan kemampuan bekerja dalam berbagai kondisi lingkungan, menjadikannya pilihan yang populer dalam berbagai industri.

    Spesifikasi dari Sensor Ultrasonic :

    ·         Tegangan : 5V DC

    ·         Arus statis : < 2mA

    ·         Level output : 5v – 0V

    ·         Sudut sensor : < 15 derajat

    ·         Jarak yg bisa dideteksi : 2cm – 450cm (4.5m)

    ·         Tingkat keakuratan : up to 0.3cm (3mm)

    Pin

    Deskripsi

    VCC

    Pin catu daya positif. Ini memberi daya pada sensor.

    GND

    Pin sambungan ground

    Trigger

    trigger keluarnya sinyal.

    Echo

    menangkap sinyal pantul dari benda.

     

    5.5.  Sensor Touch

    Sensor sentuh adalah teknologi penting yang memungkinkan interaksi pengguna yang intuitif dengan perangkat elektronik. Dengan berbagai jenis sensor seperti resistive, capacitive, SAW, dan infrared, teknologi ini menawarkan solusi yang efektif untuk berbagai aplikasi mulai dari ponsel pintar hingga sistem point-of-sale dan perangkat medis. Keunggulan sensor sentuh meliputi kemudahan penggunaan, desain fleksibel, dan kemampuan mendukung berbagai gerakan sentuhan, menjadikannya komponen utama dalam antarmuka pengguna modern.

     

    Spesifikasi dari Sensor Touch :

    ·         Konsumsi daya yang rendah

    ·         Bisa menerima tegangan dari 2 ~ 5.5V DC

    ·         Dapat menggantikan fungsi saklar tradisional

    ·         Dilengkapi 4 lobang baut untuk memudahkan pemasangan

    ·         Tegangan kerja : 2v s/d 5.5v (optimal 3V)

    ·         Output high VOH : 0.8 VCC (typical)

    ·         Output low VOL : 0.3 VCC (max)

    ·         Arus Output Pin Sink (@ VCC 3V, VOL 0.6V) : 8 mA

    ·         Arus Output pin pull-up (@ VCC=3V, VOH=2.4V) : 4 mA

    ·         Waktu respon (low power mode): max 220 ms

    ·         Waktu respon (touch mode): max 60 ms

    ·         Ukuran: 24 mm x 24 mm x 7.2 mm

     

    Pin

    Deskripsi

    VCC

    Pin catu daya positif. Ini memberi daya pada sensor.

    GND

    Pin sambungan ground

    D0

    Pin keluaran digital. Ini melewati output digital dari rangkaian komparator bawaan.

     

     

    6.      LCD



    LCD (Liquid-Crystal Display) atau Penampil Kristal Cair adalah layar panel datar atau perangkat optik elektronik termodulasi yang menggunakan sifat modulasi cahaya dari kristal cair (liquid crystal) yang dikombinasikan dengan polarizer. Kristal cair tidak memancarkan cahaya secara langsung, melainkan menggunakan lampu latar atau reflektor untuk menghasilkan gambar berwarna atau monokrom.

     

    Spesifikasi :

     

    ·         Format tampilan : 16 x 2 karakter

    ·         Pengontrol bawaan : ST 7066 (atau setara)

    ·         Siklus kerja : 1/16

    ·         Supply + 5 V (juga tersedia untuk + 3 V)

    ·         LED dapat digerakkan oleh pin 1, pin 2, pin 15, pin 16 atau A dan K

    ·         N.V. opsional untuk supply + 3 V

    ·         5 x 8 titik termasuk kursor

     

    7.      Buzzer



     

    Buzzer adalah sebuah komponen elektronika yang dapat menghasilkan getaran suara berupa gelombang bunyi. Buzzer akan menghasilkan getaran suara ketika diberikan sejumlah tegangan listrik dengan taraf tertentu sesuai dengan spesifikasi bentuk dan ukuran buzzer itu sendiri. Pada umumnya, buzzer ini sering digunakan sebagai alarm karena penggunaannya yang cukup mudah yaitu dengan memberikan tegangan input maka buzzer akan menghasilkan getaran suara berupa gelombang bunyi yang dapat didengar.

    Spesifikasi :

     

    ·         Nilai tegangan : 6V DC

    ·         Tegangan pengoperasian : 4 hingga 8V DC

    ·         Arus : ≤30mA

    ·         Keluaran suara pada 10cm : ≥85dB

    ·         Frekuensi resonansi : 2300 ±300Hz

    ·         Nada : Berkelanjutan

    ·         Suhu operasional : -25°C hingga +80°C

    ·         Suhu penyimpanan : -30°C hingga +85°C

    ·         Berat : 2g

     

     

     

     

     

    8.      Baterai



     

    Baterai merupakan alat listrik-kimiawi yang menyimpan energi serta mengeluarkan tenaganya dalam bentuk listrik. Baterai ialah perangkat yang mampu menghasilkan tegangan DC, yaitu dengan cara mengubah energi kimia yang terkandung di dalamnya menjadi energi listrik melalui suatu reaksi elektrokimia, Redoks (Reduksi Oksidasi). Baterai yang biasa dijual (disposable/sekali pakai) ini mempunyai tegangan listrik 1,5 volt. Baterai ada yang berbentuk tabung ataupun kotak.

    Spesifikasi :

     

    ·         Kapasitas nominal : 2200mAh (0.2Ca, debit)

    ·         Kapasitas minimum : 2100mAh (0.2Ca, debit)

    ·         Tegangan nominal : 3.7V

    ·         Metode pengisian : CC – CV (tegangan konstan dengan arus terbatas)

    ·         Pengisian arus : a. Biaya standar : 1300mA

    b. Pengisian cepat : 2600mA

    ·         Waktu pengisian daya : a. Biaya standar : 3jam

    b. Pengisian cepat : 2.5jam

    ·         Maks. mengisi arus : 2600mA

    ·         Maks. debit saat ini : 5200mA

    ·         Tegangan cut-off discharge : 2.75V

    ·         Berat sel : maks. 47.0g

    ·         Dimensi sel : a. Diameter (maks.) : 18.40mm

    b. Tinggi (maks.) : 65.00mm

    9.      Motor driver



    Motor driver adalah sebuah modul yang sering sekali digunakan untuk mengendalikan motor DC. Dengan menggunakan motor driver dapat dengan mudah mengendalikan baik itu kecepatan maupun arah rotasi 2 motor sekaligus. Motor driver dirancang menggunakan IC L298 Dual H-Bridge Motor Driver berisikan gerbang gerbang logika yang sudah sangat populer dalam dunia elektronika sebagai pengendali motor.

    Spesifikasi :

     

    ·         Tegangan Input : 3.2V - 40V

    ·         Driver : Driver Motor L298N Dual H Bridge DC

    ·         Supply : 5V

    ·         Arus puncak : 2A

    ·         Konsumsi daya maksimum : 20W (ketika suhu 75 ℃)

    ·         Suhu penyimpanan : -25 ~ +130

    ·         Keluaran pin 10 (sumber tegangan IC) jika berfungsi sebagai pin output : 5V

    ·         Ukuran : 3.4cm x 4.3cm x 2.7cm

    ·         Kisaran operasi : 0 - 36 mA

    10.  Motor DC


     

    Motor DC adalah komponen penting dalam banyak aplikasi teknik dan industri. Dengan kemampuan untuk mengubah arus searah menjadi energi mekanik secara efisien, motor ini menawarkan kontrol kecepatan yang baik, torsi awal yang tinggi, dan fleksibilitas untuk digunakan dalam berbagai perangkat dan mesin. Berbagai jenis motor DC, seperti seri, shunt, kompon, dan brushless, memberikan solusi untuk berbagai kebutuhan operasional, dari aplikasi rumah tangga hingga industri berat.

    Spesifikasi :

    ·         Built-in gearbox

    ·         Vsuplai : Dc 12V

    ·         Arus : 2 A

    ·         Speed : 400 rpm

    ·         Torsi : 6.5 Kg.cm

    ·         Ratio gear : 1:21

    ·         Dimensi body : panjang 5 cm x diameter 2,5 cm

    ·         Dimensi shaft : panjang 1 cm x diameter 4 mm

    ·         Berat : 0,2 Kg

    ·         Kebisingan : Kurang dari <60dB



5. Percobaan [Kembali]
a. Prosedur[Kembali]
    • Siapkan segala komponen yang di butuhkan
    • Susun rangkaian sesuai panduan
    • Input codingan arduino
    • Hidupkan rangkaian
    • Apabila tidak terjadi eror, maka rangkaian selesai dibuat.
b. Handware[Kembali]



c. Rangkaian Simulasi dan Prinsip Kerja[Kembali] 




 

c. Flowchart dan Listing Program[Kembali]

  • Flowchart

                              Master 

                      Slave





    • Listing Program 
  • Master
#include <Wire.h>

// Define pin connections
#define PIR_PIN 4           // Pin untuk sensor PIR
#define TOUCH_PIN 6         // Pin untuk sensor sentuh
#define VIBRATION_PIN 7     // Pin untuk sensor getaran
#define MAGNETIC_PIN 5      // Pin untuk sensor magnetik
#define TRIG_PIN 9         // Pin untuk Trig sensor ultrasonik
#define ECHO_PIN 8         // Pin untuk Echo sensor ultrasonik

void setup() {
  Wire.begin();  // Initialize I2C as master
  Serial.begin(9600);  // Initialize serial communication

  // Initialize pin modes
  pinMode(PIR_PIN, INPUT);
  pinMode(TOUCH_PIN, INPUT);
  pinMode(VIBRATION_PIN, INPUT);
  pinMode(MAGNETIC_PIN, INPUT);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
}

void loop() {
  // Read sensors
  int pirState = digitalRead(PIR_PIN);
  int touchState = digitalRead(TOUCH_PIN);
  int vibrationState = digitalRead(VIBRATION_PIN);
  int magneticState = digitalRead(MAGNETIC_PIN);

  // Read ultrasonic sensor
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  long duration = pulseIn(ECHO_PIN, HIGH);
  int distance = duration * 0.034 / 2;

  // Send data to slave Arduino
  Wire.beginTransmission(4);  // Address of the slave
  Wire.write(pirState);
  Wire.write(touchState);
  Wire.write(vibrationState);
  Wire.write(magneticState);
  Wire.write(distance);  // Send distance as byte
  Wire.endTransmission();

  delay(100);  // Small delay to avoid overwhelming the I2C bus
}

- Listing Program Slave

#include <Wire.h>
#include <LiquidCrystal.h>

// Define pin connections for output
#define BUZZER_PIN 7        // Pin untuk buzzer
#define MOTOR_PIN_1 5       // Pin IN1 pada L293D (motor 1)
#define MOTOR_PIN_2 4       // Pin IN2 pada L293D (motor 1)
#define RED_LED_PIN 11       // Pin untuk LED merah
#define MOTOR_PIN_3 3       // Pin IN3 pada L293D (motor 2)
#define MOTOR_PIN_4 2      // Pin IN4 pada L293D (motor 2)

// Define pin connections for LCD
#define LCD_RS A0
#define LCD_EN A1
#define LCD_D4 12
#define LCD_D5 10
#define LCD_D6 9
#define LCD_D7 8

// Initialize the LCD library with the numbers of the interface pins
LiquidCrystal lcd(LCD_RS, LCD_EN, LCD_D4, LCD_D5, LCD_D6, LCD_D7);

void setup() {
  Wire.begin(4);  // Initialize I2C as slave with address 4
  Wire.onReceive(receiveEvent);  // Register event
 
  // Initialize pin modes for output
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(MOTOR_PIN_1, OUTPUT);
  pinMode(MOTOR_PIN_2, OUTPUT);
  pinMode(RED_LED_PIN, OUTPUT);
  pinMode(MOTOR_PIN_3, OUTPUT);
  pinMode(MOTOR_PIN_4, OUTPUT);

  // Initialize LCD
  lcd.begin(16, 2);

  // Initial state
  digitalWrite(BUZZER_PIN, LOW);
  digitalWrite(MOTOR_PIN_1, LOW);
  digitalWrite(MOTOR_PIN_2, LOW);
  digitalWrite(RED_LED_PIN, LOW);
  digitalWrite(MOTOR_PIN_3, LOW);
  digitalWrite(MOTOR_PIN_4, LOW);
}

void loop() {
  // Nothing to do here, everything is handled in receiveEvent
}

void receiveEvent(int howMany) {
  if (howMany == 5) {  // We expect 5 bytes of data
    int pirState = Wire.read();
    int touchState = Wire.read();
    int vibrationState = Wire.read();
    int magneticState = Wire.read();
    int distance = Wire.read();

    // PIR sensor with buzzer
    if (pirState == HIGH) {
      digitalWrite(BUZZER_PIN, HIGH);
    } else {
      digitalWrite(BUZZER_PIN, LOW);
    }

    // Touch sensor with motor (L293D driver)
    if (touchState == HIGH) {
      digitalWrite(MOTOR_PIN_1, HIGH);
      digitalWrite(MOTOR_PIN_2, LOW);
    } else {
      digitalWrite(MOTOR_PIN_1, LOW);
      digitalWrite(MOTOR_PIN_2, LOW);
     
      lcd.setCursor(0, 0);
      if (vibrationState == HIGH) {
      lcd.print("Vibration: YES");
      } else {
      lcd.print("Vibration: NO ");
      }
       if (magneticState == HIGH) {
      digitalWrite(RED_LED_PIN, HIGH);
      } else {
      digitalWrite(RED_LED_PIN, LOW);
      }
       if (distance < 20) {  // Example threshold for distance
      digitalWrite(MOTOR_PIN_3, HIGH);
      digitalWrite(MOTOR_PIN_4, LOW);
      } else {
      digitalWrite(MOTOR_PIN_3, LOW);
      digitalWrite(MOTOR_PIN_4, LOW);
      }
 
}




d. Video Simulasi[Kembali]

  •  Video Rangkaian





e. Download File[Kembali]









Komentar