Kamis, 13 Juni 2024

Laporan Demo Project






1. Tujuan Perancangan
[Kembali]

1. Pemantauan kondisi kendaraan sebagai salah satu faktor pengambilan keputusan pengendara dalam berkendara.

2. Deteksi kemungkinan kecelakaan kendaraan berdasarkan kecepatan, jarak objek dengan kendaraan, serta malfungsi sistem akibat overheating dan getaran berlebih pada kendaraan.

3.      Pengaturan kecepatan kendaraan listrik dengan PWM to voltage.


2. Komponen [Kembali]

2.1.Perangkat Keras

Perangkat keras yang digunakan dalam pengaturan pengaturan kecepatan kendaraan, peringatan jarak aman kendaraan dan deteksi kemungkinan kecelakaan mengunakan sensor ultrasonik, mpu, pir, AM2302, dan vibration sensor adalah sebagai berikut:

1.      Sensor ultrasonik

Sensor ultrasonik adalah perangkat yang mengukur jarak dengan memancarkan gelombang suara pada frekuensi ultrasonik dan kemudian mendeteksi pantulannya dari suatu objek.

Sensor ini bekerja berdasarkan prinsip pantulan gelombang suara. Gelombang ultrasonik dipancarkan dari sensor untuk  dipantulkan kembali ketika mengenai objek. Waktu tempuh gelombang dari sensor ke objek dan kembali lagi dihitung, kemudian digunakan untuk menentukan jarak dari objek.

Gambar 3.1. Sensor ultrasonik.

 

2.      Magnetic pick-up (MPU) speed sensor

MPU speed sensor adalah sensor yang mendeteksi kecepatan putaran melalui induksi magnetik yang dihasilkan oleh benda bergerak yang melewati medan magnet.

Sensor ini terdiri dari kumparan kawat dan magnet permanen. Ketika objek bergerak melewati medan magnet, perubahan medan magnet menghasilkan arus listrik di dalam kumparan (prinsip induksi elektromagnetik). Frekuensi arus ini berbanding lurus dengan kecepatan objek yang bergerak.


Gambar 3.2. Magnetic pick-up (MPU) speed sensor.

 

3.      AM2302 (DHT22)

AM2302 atau DHT22 adalah sensor digital yang mengukur suhu dan kelembapan udara dengan akurasi tinggi.

Sensor ini menggunakan kapasitor dan resistor thermistor untuk mengukur kelembapan dan suhu. Data diambil secara digital melalui komunikasi satu kabel dengan mikrokontroler


Gambar 3.3. Sensor Suhu dan kelembapan AM2302.

4.      Passive infra-red (PIR)

PIR adalah perangkat yang mendeteksi gerakan berdasarkan perubahan radiasi inframerah di sekitarnya.

Sensor ini terdiri dari piroelektrik yang merespons perubahan radiasi inframerah. Ketika ada perubahan dalam pola radiasi (misalnya, ketika seseorang bergerak), sensor mengeluarkan sinyal listrik sebagai respons.


Gambar 3.4. Passive infra-red (Sensor PIR).

 

5.      Vibration sensor

Vibration sensor atau sensor getaran adalah perangkat yang mendeteksi getaran atau gerakan fisik pada suatu objek

Sensor ini bekerja berdasarkan prinsip piezoelektrik, di mana material piezoelektrik menghasilkan tegangan ketika mengalami tekanan atau getaran.


Gambar 3.5. Vibration sensor.

 

6.      LED

Light Emitting Diode (LED) adalah komponen semikonduktor yang memancarkan cahaya ketika arus listrik mengalir melaluinya.

Komponen ini bekerja berdasarkan prinsip elektroluminensi, di mana elektron dan hole bertemu di dalam bahan semikonduktor, menghasilkan cahaya.


Gambar 3.6. Light emitting diode (LED).

 

7.      Buzzer

Buzzer adalah perangkat yang menghasilkan suara atau bunyi ketika diberi tegangan listrik.

Komponen ini bekerja berdasarkan prinsip piezoelektrik atau elektromagnetik, di mana tegangan listrik menyebabkan diafragma atau elemen piezoelektrik bergetar dan menghasilkan suara


Gambar 3.7. Buzzer.

 

8.      Brushless motor DC

Motor Brushless DC (BLDC) adalah sebuah perangkat elektromekanis yang mengubah energi listrik menjadi gerakan mekanis melalui interaksi medan magnet dan arus listrik. Berbeda dengan motor DC konvensional yang menggunakan sikat dan komutator untuk mengubah arah arus, motor BLDC tidak memiliki sikat fisik. Sebagai gantinya, motor ini mengandalkan elektronika dan kontrol digital untuk mengatur arus listrik ke lilitan yang sesuai pada stator guna menciptakan medan magnet yang menggerakkan rotor.

Prinsip dasar motor BLDC didasarkan pada hukum elektromagnetisme dan prinsip Faraday tentang induksi elektromagnetik. Motor ini terdiri dari dua komponen utama yaitu:

a.       Stator

Bagian stator memiliki kelompok lilitan yang ditempatkan secara strategis dalam posisi tertentu. Ketika arus listrik dialirkan melalui lilitan-lilitan ini, mereka menciptakan medan magnet tetap yang bersifat polaritas tetap pada stator.

b.      Rotor

Rotor merupakan bagian yang bergerak di dalam medan magnet stator. Rotor umumnya terdiri dari magnet permanen atau magnetik yang dapat diinduksi. Medan magnet rotor akan berinteraksi dengan medan magnet stator dan mengalami gaya tarik atau tolak yang menyebabkan rotor berputar.

Proses kerja motor BLDC tergantung pada urutan dan pola arus yang diterapkan pada lilitan-lilitan stator. Kontrol elektronik memantau posisi rotor dan mengubah pola arus secara tepat untuk menjaga rotor bergerak sesuai dengan keinginan. Ini memungkinkan pengendalian yang lebih presisi atas putaran rotor dan memungkinkan aplikasi yang memerlukan akurasi tinggi dalam kendali posisi dan kecepatan


Gambar 3.8. Brushless motor.

 

9.      PWM to voltage

PWM (Pulse Width Modulation) to Voltage adalah teknik untuk mengubah sinyal PWM menjadi tegangan DC yang bervariasi.

Sinyal PWM dengan lebar pulsa yang bervariasi dikonversi menjadi tegangan analog menggunakan rangkaian penyaring (filter) RC. Tegangan keluaran proporsional dengan duty cycle dari sinyal PWM.

Tabel 3.1. Bentuk sinyal PWM berdasarkan persentase duty cycle diberikan.

Duty cycle

Bentuk pulsa sinyal

0 %

10 %

30 %

50 %

80 %

100 %

10.  Brushless motor controller

Brushless Motor Controller adalah perangkat yang mengatur operasi motor BLDC, termasuk kecepatan, arah, dan torsi.

Kontroller ini menggunakan teknik PWM untuk mengatur arus yang mengalir ke lilitan stator sesuai dengan posisi rotor, yang biasanya ditentukan oleh sensor Hall atau metode sensorless.

Tabel 3.2. Penjelasan terminal pada BLDC controller yang digunakan.

No

Nama

Warna

Fungsi

1

Phase-Wire

Biru

Phase-wire digunakan untuk menghubungkan tiga fase motor BLDC dengan kontroler. Kabel ini membawa arus listrik ke motor untuk mengendalikan putaran dan arahnya.

2

Phase-Wire

Hijau

Phase-wire digunakan untuk menghubungkan tiga fase motor BLDC dengan kontroler.

3

Phase-Wire

Kuning

Phase-wire digunakan untuk menghubungkan tiga fase motor BLDC dengan kontroler.

4

Throttle-Wire

Biru, Hitam, Ungu

Throttle wire adalah kabel yang digunakan untuk menghubungkan pengendali gas atau throttle dengan kontroler. Ini memungkinkan pengendali untuk mengatur kecepatan motor.

5

Power Supply

Merah

Kabel ini digunakan untuk menghubungkan kontroler dengan sumber daya listrik, seperti baterai atau sumber daya eksternal.

6

Power Supply

Hitam

Kabel ini digunakan untuk menghubungkan kontroler dengan sumber daya listrik, seperti baterai atau sumber daya eksternal,.

No

Nama

Warna

Fungsi

7

Reverse-Wire

Abu-abu, Hitam

Kabel mundur digunakan untuk menghubungkan sakelar atau tombol mundur dengan kontroler, memungkinkan pengendara untuk mengubah arah putaran motor menjadi mundur.

8

Study-Wire

Putih

Kabel ini dapat digunakan untuk mengaktifkan mode pembelajaran atau pengaturan pada kontroler, yang memungkinkan pengguna untuk menyesuaikan beberapa parameter kendali motor.

9

Circuit Signal Wire

Orange

Kabel ini digunakan untuk menghubungkan kontroler dengan berbagai sensor atau perangkat lain dalam sirkuit, seperti sensor kecepatan atau sensor posisi.

10

LCD Instrument Wire

Ungu

Kabel ini digunakan untuk menghubungkan kontroler dengan layar LCD atau panel instrumen, yang dapat menampilkan informasi tentang status motor dan kontrol.

11

Alarm-Wire

Merah, Biru, Kuning

Kabel alarm digunakan untuk menghubungkan kontroler dengan sistem alarm atau indikator keselamatan, yang dapat memberikan peringatan dalam situasi darurat atau kondisi tertentu.

12

Hall-Wire

Hitam, Biru, Merah, Hijau

Kabel Hall digunakan untuk menghubungkan sensor Hall dengan kontroler. Sensor Hall mendeteksi posisi rotor motor, yang penting untuk mengontrol putaran motor dengan akurat.

No

Nama

Warna

Fungsi

13

Key Switch

Merah

Kabel ini menghubungkan sakelar kunci atau tombol pengunci yang digunakan untuk mengaktifkan atau menonaktifkan kontroler motor.

14

Low Brick Wire

Hitam, Putih

Ini mungkin mengacu pada kabel yang menghubungkan kontroler dengan baterai rendah atau sistem perlindungan baterai ketika daya baterai rendah.

15

Three Gears Speed Wire

Merah, Hijau, Kuning

Kabel ini dapat digunakan untuk menghubungkan pengendali ke kontroler yang memiliki tiga tingkat kecepatan yang dapat diatur.

16

Circuit Ground Wire

Hitam

Ini adalah kabel ground yang digunakan untuk menghubungkan kontroler ke ground atau tanah sirkuit, untuk memastikan tegangan listrik yang stabil.

17

High Brick Wire

Kuning

Ini mungkin mengacu pada kabel yang menghubungkan kontroler dengan baterai tinggi atau sistem perlindungan baterai ketika daya baterai tinggi.

18

Alarm Power Supply Wire

Merah. Hitam

Kabel ini digunakan untuk memberikan daya pada sistem alarm yang terhubung dengan kontroler.

 


Gambar 3.9. BLDC controller.

11.  Power supply (PSU 48V)

Power Supply Unit (PSU) 48V adalah sumber daya listrik yang menyediakan tegangan 48V DC untuk mengoperasikan perangkat elektronik.

PSU mengubah tegangan AC dari jaringan listrik menjadi tegangan DC stabil yang dibutuhkan oleh perangkat elektronik.


Gambar 3.10. Power supply 48V.

 

12.  Arduino Uno R3

Arduino IDE (Integrated Development Environment) adalah perangkat lunak yang digunakan untuk menulis, mengedit, dan mengunggah kode ke papan mikrokontroler Arduino.

Mikrokontroler ini memiliki 8-bit dengan 32 KB memori flash, 2 KB RAM, dan beragam fitur I/O yang dapat digunakan untuk mengontrol berbagai perangkat elektronik. Papan ini juga dilengkapi dengan port USB untuk mengunggah kode dan komunikasi dengan komputer, serta berbagai pin input/output (I/O) yang dapat digunakan untuk menghubungkan sensor, aktuator, dan perangkat eksternal lainnya. Arduino Uno R3 WiFi juga kompatibel dengan berbagai papan perluasan Arduino yang tersedia di pasaran, dan sebagai platform pengembangan terbuka, pengguna memiliki akses penuh terhadap perangkat keras dan perangkat lunaknya.

Tabel 3.3. Jenis Pin dan Fungsi pada Arduino UNO.

No

Jenis

Lokasi

Fungsi

1

Vin

Vin

Input tegangan ke Arduino ketika menggunakan sumber daya eksternal.

2

Power

5V

Catu daya yang digunakan untuk board mikrokontroller bertegangan 5 volt.

No

Jenis

Lokasi

Fungsi

3

Power

3.3V

Catu daya yang digunakan untuk board mikrokontroller bertegangan 3.3 volt.

4

Ground

GND

Sebagai ground pada Arduino.

5

Reset

Reset

Mengatur ulang miktrokontroler.

6

PIN Analog

A0, A1, A2, A3, A4, A5

Untuk memberikan input analog 0-5V.

7

PIN Digital

PIN 0-13

Dapat digunakan sebagai PIN input atau output digital.

8

Serial

0 (RX), 1 (TX)

Untuk menerima atau transmisi data serial TTL.

9

Interupsi Eksternal

2, 3

Sebagai pemicu interupsi.

10

PWM

3, 5, 6, 9, 11

Memasok 8-bit PWM output.

11

SPI

10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

Sebagai komunikasi SPI.

12

LED

13

Untuk mengaktifkan lampu LED.

13

TWI

A4 9SDA), A5 (SCA)

Sebagai komunikasi TWI.

14

AREF

AREF

Memberikan tegangan acuan pada output.

 


Gambar 3.11. Arduino uno R3.

2.2.Perangkat Lunak

Dalam menunjang sistem yang diaplikasikan, perangkat lunak yang digunakan dalam pengaturan pengaturan kecepatan kendaraan, peringatan jarak aman kendaraan dan deteksi kemungkinan kecelakaan mengunakan sensor ultrasonik, mpu, pir, AM2302, dan vibration sensor adalah sebagai berikut:

1.      Arduino IDE

Arduino IDE adalah Arduino IDE adalah software yang digunakan untuk memprogram dan mengembangkan perangkat berbasis platform Arduino. Platform Arduino adalah platform open-source yang populer dalam dunia elektronika dan pengembangan perangkat keras (hardware).

Bahasa pemograman Arduino menggunakan bahasa pemograman C yang sangat luas digunakan oleh programmer. Bahasa C merupakan salah satu Bahasa komputer yang digunakan untuk membuat ataupun mengembangkan suatu software. Sehingga tata tulis dalam pemograman Arduino sama dengan bahasa C. Pemograman dengan menggunakan bahasa C tersebut akan mempermudah dalam hal membuat struktur algoritma dalam penulisan pemograman.


Gambar 3.12. Tampilan antarmuka arduino IDE.

 

 

 

2.      Proteus

Proteus adalah sebuah aplikasi simulasi yang digunakan untuk merancang dan menguji berbagai rangkaian elektronika secara virtual sebelum diimplementasikan secara fisik. Aplikasi ini sangat berguna bagi para insinyur elektronika dan desainer yang ingin mengembangkan dan menguji berbagai proyek elektronika tanpa harus langsung membangun prototipe fisiknya.

Dalam Proteus, pengguna dapat membuat dan mensimulasikan rangkaian elektronika yang kompleks, termasuk mikrokontroler, sensor, aktuator, dan berbagai komponen elektronika lainnya. Proteus juga menyediakan berbagai komponen standar yang dapat digunakan pengguna, serta memungkinkan untuk melakukan import komponen-komponen tambahan.


Gambar 3.14. Tampilan antarmuka proteus

3. Dasar Teori [Kembali]

4.1. Pengujian Pengaturan Kecepatan Kendaraan

Pengaturan kecepatan kendaraan menggunakan PWM (Pulse Width Modulation) adalah metode yang sering digunakan dalam sistem kontrol motor dalam mengendalikan kecepatan putar suatu motor. Kecepatan putaran dari motor umumnya dituliskan dalam satuan rotation per minute (RPM) yang berarti frekuensi putaran motor dalam satu menit. PWM mengontrol kecepatan motor dengan mengubah lebar pulsa dari sinyal listrik yang diberikan ke motor. Prinsip kerja PWM melibatkan pengubahan duty-cycle, yaitu persentase waktu ketika sinyal berada dalam kondisi on (hidup) dibandingkan dengan kondisi 0ff (mati) dalam satu periode.

Di mana nilai duty-cycle pada pengaturan kecepatan motor listrik dapat dihitung melalui persamaan berikut:

Duty-Cycle=((t on)/T)  x 100%

Di mana,

t on           = Waktu sinyal aktif

T             = Periode total

 

Kecepatan motor BLDC berbanding lurus dengan duty cycle dari sinyal PWM. Semakin besar duty cycle yang diberikan, semakin tinggi kecepatan motor.

Dalam pengujian yang dilakukan pada pengaturan kecepatan kendaraan berdasarkan PWM to voltage didapatkan hasil sebagai berikut:

Tabel 4.1. Luaran tegangan dan RPM berdasarkan PWM diberikan.

PWM Diberikan

Tegangan Berdasarkan Serial Monitor (V)

RPM Tanpa Beban

0

0.00

0.00

10

0.20

0.00

20

0.39

0.00

30

0.59

0.00

40

0.78

0.00

50

0.98

0.00

PWM Diberikan

Tegangan Berdasarkan Serial Monitor (V)

RPM Tanpa Beban

60

1.18

2.90

70

1.37

118.80

80

1.58

227.50

90

1.76

266.70

100

1.96

267.40

150

2.94

395.60

170

3.33

395.80

200

3.92

395.80

250

4.90

396.00

255

5.00

396.20

 


Gambar 4.1. Grafik luaran RPM berdasarkan persentase duty cycle.

 

4.2. Pengujian Sensor Ultrasonik

Sensor ultrasonik digunakan untuk mengukur jarak objek di depan kendaraan. Sensor ini bekerja dengan mengirimkan gelombang suara ultrasonik dan mengukur waktu yang dibutuhkan untuk gelombang tersebut kembali setelah memantul dari objek.

Pengukuran jarak objek menggunakan sensor ultrasonik dapat dijelaskan lebih lanjut menggunakan persamaan matematis dalam perhitungan jarak benda melalui pantulan gelombang suara sebagai berikut:

 

Jarak=(waktu tempuh x kecepatan suara)/2

 

Kecepatan suara di Udara pada suhu 20o Celcius adalah 343 m/s.

 

Berdasarkan pengujian sensor ultrasonik, sistem mampu menentukan jarak objek dan menampilkannya pada serial monitor.


Gambar 4.2. Tampilan serial monitor pembacaan jarak sensor ultrasonik.

 

4.3. Pengujian Magnetic Pick-up (MPU) Speed Sensor

MPU speed sensor digunakan untuk mengukur kecepatan putaran roda kendaraan. Sensor ini bekerja berdasarkan prinsip induksi elektromagnetik di mana perubahan medan magnet menghasilkan arus listrik dalam kumparan. Dalam pengujian komponen MPU, sensor dipasang pada roda kendaraan dan frekuensi putaran diukur untuk menentukan kecepatan kendaraan.

Pengukuran kecepatan kendaraan dapat dihitung menggunakan persamaan matematis sebagai berikut:

v=2Ï€rf/60

Di mana,

        v           = Kecepatan linier

         r           = Radius roda

         f           = Frekuensi putar

 

Dalam pengujian magnetic pick-up (MPU) speed sensor sensor mampu melakukan pengukuran kecepatan kendaraan pada prototipe kendaraan listrik.

Tabel 4.2. Rerata kecepatan terukur oleh sensor saat roda dalam keadaan tidak aktif.

Rerata Hasil Kecepatan Saat Motor Tidak Aktif (km/h)

0,074665179

 

Tabel 4.3. Rerata kecepatan terukur saat roda berputar dengan kondisi BLDC terhubung pada study-wire.

Rerata Kecepatan Motor (km/h)

10,53941176

 


Gambar 4.3. Tampilan serial monitor hasil pembacaan kecepatan putar roda magnetic pick-up (MPU) speed sensor.

4.4. Pengujian AM2302 (DHT22)

Sensor AM2302 mengukur suhu dan kelembapan udara secara digital. Data ini digunakan untuk mendeteksi overheating pada kendaraan yang dapat menyebabkan malfungsi sistem.

Sensor AM2302 ditempatkan di dalam kendaraan untuk mengukur suhu secara terus-menerus. Data dikirimkan ke mikrokontroler untuk dianalisis.

Pada pengujian AM2302 (DHT22), sensor diuji dengan membandingkan hasil pengukuran suhu AM2302 dan HTC-2 Thermohygrometer.

Tabel 4.4. Perbandingan pengukuran suhu melalui sensor AM2302 dengan referensi.

AM2302 (oC)

Referensi (oC)

31.3

31.7

31.8

31.7

31.8

31.7

31.8

31.7

31.8

31.7

 


Gambar 4.4. Grafik perbandingan pengukuran suhu dengan referensi.

 

Berdasarkan hasil pengujian suhu yang dilakukan, sensor AM2302 mampu melakukan pengukuran suhu secara akurat dengan persentase error di bawah 5%.


Gambar 4.5. Tampilan serial monitor hasil pengujian sensor AM2302.

 

4.5. Pengujian PIR

Sensor PIR dipasang pada kendaraan untuk mendeteksi gerakan di bagian belakang dan memberikan peringatan jika terdapat suatu objek yang masuk dalam jangkauan sensor.

Berdasarkan hasil pengujian PIR yang dilakukan, PIR mampu mendeteksi adanya objek secara digital.


Gambar 4.6. Tampilan serial monitor hasil pengujian PIR.

4.6. Pengujian Vibration Sensor

Vibration sensor mendeteksi getaran yang dapat menunjukkan potensi masalah mekanis atau kecelakaan akibat getaran berlebihan pada kendaraan.

Sensor getaran dipasang pada bagian kendaraan yang rentan terhadap getaran untuk mendeteksi perubahan kondisi sistem yang mencurigakan akibat getaran.

Berdasarkan hasil pengujian vibration sensor, sensor mampu melakukan pengukuran frekuensi getaran pada sistem.

Tabel 4.5. Klasifikasi getaran mesin kendaraan.

Klasifikasi Getaran

Pemberian Angka

X

Y

Z

Tidak aktif

0

0

0

0

Normal

1 – 99

1, 2, 3, 4, 5, 6

1, 2, 3, 5, 6

-2, -1, 0, 1, 2

Tinggi

100 - 150

7, 8

7, 8, 9

-3, -5, 3, 5

Bahaya

>150

9, dst.

10, dst.

< -5, > 5

 


Gambar 4.7. Tampilan serial monitor hasil pengujian vibration sensor.


4. listing program [Kembali]

A.    Master

#include <Keypad.h>

#include <LiquidCrystal.h>

 

const int pwmPin = 3;

const int greenLED = 13; // Ubah pin untuk LED hijau

const int yellowLED = 6;

const int redLED = 5;

 

LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // RS, E, D4, D5, D6, D7

 

const byte ROWS = 4;

const byte COLS = 3;

char keys[ROWS][COLS] = {

  {'1','2','3'},

  {'4','5','6'},

  {'7','8','9'},

  {'*','0','#'}

};

byte rowPins[ROWS] = {A0, A1, A2, A3};

byte colPins[COLS] = {A4, A5, 2};

 

Keypad keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

 

void setup() {

  Serial.begin(9600);

  pinMode(pwmPin, OUTPUT);

  pinMode(greenLED, OUTPUT);

  pinMode(yellowLED, OUTPUT);

  pinMode(redLED, OUTPUT);

  lcd.begin(16, 2);

}

 

void loop() {

  static int pwmValue = 0; // Membuat pwmValue menjadi variabel statis

 

  char key = keypad.getKey();

 

  if (key != NO_KEY) {

    switch(key) {

      case '1':

        pwmValue = 60;

        break;

      case '2':

        pwmValue = 70;

        break;

      case '3':

        pwmValue = 80;

        break;

      case '4':

        pwmValue = 100;

        break;

      case '5':

        pwmValue = 200;

        break;

      case '6':

        pwmValue = 255;

        break;

      case '0':

      case '#':

      case '*':

        pwmValue = 0;

        break;

    }

    analogWrite(pwmPin, pwmValue);

  }

 

    // Clear any remaining characters in Serial buffer

    while (Serial.available() > 0) {

    Serial.read();

    }

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("Speed: ");

  lcd.print(pwmValue); // pwmValue dapat diakses di sini

  lcd.setCursor(0, 1);

  lcd.print("Dist: ");

  delay(500);

 

  if (Serial.available() > 0) {

    int temperature = Serial.parseInt();

    int vibration = Serial.parseInt();

    int distance = Serial.parseInt();

    int pir = Serial.parseInt();

   

    if (temperature > 50 && vibration > 120) {

      digitalWrite(redLED, HIGH);

    } else {

      digitalWrite(redLED, LOW);

    }

   

    if (temperature > 50 || vibration > 120 || distance < 30 || pir) {

      digitalWrite(yellowLED, HIGH);

    } else {

      digitalWrite(yellowLED, LOW);

    }

   

    if (temperature < 50 && vibration < 120 && distance > 30 && !pir) {

      digitalWrite(greenLED, HIGH);

    } else {

      digitalWrite(greenLED, LOW);

    }

  }

}

 


B.    Slave

#include <Wire.h>

#include <DHT.h>

#include <NewPing.h>

#include <LiquidCrystal.h>

 

#define DHTPIN 2

#define DHTTYPE DHT22

#define TRIGGER_PIN 3

#define ECHO_PIN 4

#define PIR_PIN 5

#define MPU_PIN 6

 

DHT dht(DHTPIN, DHTTYPE);

NewPing sonar(TRIGGER_PIN, ECHO_PIN);

int vibrationPin = A0;

int pirPin = PIR_PIN;

int mpuPin = MPU_PIN;

 

LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // RS, E, D4, D5, D6, D7

 

void setup() {

  Wire.begin();

  dht.begin();

  pinMode(PIR_PIN, INPUT);

  pinMode(MPU_PIN, INPUT);

  lcd.begin(16, 2);  // Set the LCD size (16 characters and 2 lines)

}

 

void loop() {

  float temperature = dht.readTemperature();

  int vibration = analogRead(vibrationPin);

  int distance = sonar.ping_cm();

  int pir = digitalRead(pirPin);

  int mpuSpeed = digitalRead(mpuPin);

 

  Wire.beginTransmission(9); // address of Master Arduino

  Wire.write((uint8_t*)&temperature, sizeof(temperature));

  Wire.write((uint8_t*)&vibration, sizeof(vibration));

  Wire.write((uint8_t*)&distance, sizeof(distance));

  Wire.write((uint8_t*)&pir, sizeof(pir));

  Wire.endTransmission();

 

  // Display data on LCD

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("Temp: ");

  lcd.print(temperature);

  lcd.print("C");

  lcd.setCursor(0, 1);

  lcd.print("Dist: ");

  lcd.print(distance);

  lcd.print("cm");

 

  delay(500);

}

 


5. Flowchart [Kembali]

 

Gambar 5.1. Flowchart sistem

6. Rangkaian Simulasi [Kembali]

Rangkaian simulasi system disimulasikan menggunakan perangkat lunak proteus, rangkaian ini mencakup pengujian keandalan dan kompabilitas sistem sebelum sistem diaplikasikan dalam prototipe nyata dalam pengujian pengaturan kecepatan kendaraan, peringatan jarak aman kendaraan dan deteksi kemungkinan kecelakaan mengunakan sensor ultrasonik, MPU, PIR, AM2302 (DHT22) dan vibration sensor.


Gambar 7.1. Rangkaian simulasi sistem dalam perangkat lunak proteus.

Prinsip Kerja Rangkaian

Sistem pengaturan kecepatan dan deteksi kecelakaan kendaraan ini memanfaatkan dua unit Arduino Uno yang berkomunikasi melalui port RX dan TX, serta mengintegrasikan lima sensor utama, yaitu:

1. sensor ultrasonik

2. sensor PIR

3. sensor getaran

4. sensor suhu dan kelembapan AM2303 (DHT22)

5. sensor kecepatan MPU (magnetic pick-up sensor).

Master Arduino berperan dalam mengelola pengaturan kecepatan kendaraan melalui PWM, menyalakan indikator visual (lampu LED merah, kuning, dan hijau), mengaktifkan buzzer sebagai alarm, dan menampilkan informasi penting pada LCD. Sementara itu, Slave Arduino bertugas membaca data dari kelima sensor dan mengirimkan data tersebut ke Master Arduino.

Pengaturan kecepatan kendaraan diatur oleh Master Arduino menggunakan PWM pada PIN 9, dengan masukan dari pengguna melalui keypad yang terdiri dari 3 kolom dan 4 baris (12 tombol). Setiap tombol pada keypad mewakili nilai PWM yang berbeda, seperti tombol 1 untuk PWM 60, tombol 2 untuk PWM 70, hingga tombol 6 untuk PWM 255. Tombol *, 0, dan # berfungsi untuk mematikan motor dengan memberikan PWM 0.

Indikator visual pada sistem ini terdiri dari tiga lampu LED dengan warna merah, kuning, dan hijau yang dikendalikan oleh Master Arduino berdasarkan data dari sensor yang dibaca oleh Slave Arduino. Lampu merah akan menyala jika sensor suhu DHT22 mendeteksi suhu lebih dari 50°C atau sensor getaran mendeteksi nilai lebih dari 120, serta jika kecepatan kendaraan melebihi 200 PWM dan sensor ultrasonik mendeteksi objek dalam jarak kurang dari 30 cm di depan kendaraan. Lampu kuning akan menyala jika salah satu dari kondisi berikut terjadi: suhu lebih dari 50°C, getaran lebih dari 120, objek di depan kurang dari 30 cm, atau objek di belakang terdeteksi oleh sensor PIR. Lampu hijau akan menyala jika semua kondisi berada dalam batas aman, atau suhu di bawah 50°C, getaran di bawah 120, tidak ada objek dekat di depan, dan tidak ada objek di belakang.

Master Arduino juga menampilkan nilai PWM yang diberikan ke motor serta jarak objek di depan kendaraan yang diukur oleh sensor ultrasonik pada LCD. Selain itu, buzzer akan diaktifkan jika sensor suhu mendeteksi suhu lebih dari 50°C dan sensor getaran mendeteksi nilai lebih dari 120, sebagai tanda peringatan kepada pengemudi.

Slave Arduino bertugas melakukan pembacaan data dari sensor-sensor yang terhubung dan mengirimkan data tersebut ke Master Arduino. Sensor ultrasonik mengukur jarak objek di depan kendaraan, sensor DHT22 mengukur suhu mesin, sensor getaran mendeteksi getaran mesin, sensor MPU mengukur kecepatan kendaraan, dan sensor PIR mendeteksi keberadaan objek di belakang kendaraan. Data dari sensor-sensor ini juga ditampilkan pada LCD yang terhubung ke Slave Arduino, menampilkan informasi suhu mesin, nilai getaran, dan deteksi objek di belakang kendaraan.

Gambar 8.1. Prototipe kendaraan listrik.

 

 

Gambar 8.2. Bagian-bagian prototipe kendaraan listrik.

Penjelasan mengenai bagian-bagian sistem dan lokasi pemasangan komponen dalam prototipe kendaraan listrik adalah sebagai berikut:

1.      Monitor bagi pengguna dalam memantau kondisi kendaraan. Bagian ini mencakup penempatan sistem kontrol utama kendaraan berupa dua unit mikrokontroller Arduino uno R3.

2.      Bagian mesin dalam kendaraan listrik, terdiri atas power supply unit 48V, BLDC controller, dan motor DC. Bagian ini memodelkan engine room dalam kendaraan yang merupakan variabel dalam deteksi kemungkinan kecelakaan akibat overheating pada mesin mesin dan malfungsi sistem akibat getaran berlebih kendaraan. Bagian ini merupakan lokasi penempatan AM2302 (DHT22) dan vibration sensor

3.      Bagian depan kendaraan yang memodelkan kondisi bagian terdepan dari kendaraan, bagian ini merupakan variabel dalam deteksi kemungkinan kecelakaan akibat adanya objek pada bagian depan kendaraan dengan mempertimbangkan kecepatan kendaraan yang diberikan. Bagian ini merupakan lokasi penempatan sensor ultrasonik.

4.      Bagian belakang kendaraan yang memodelkan bagian paling belakang dari kendaraan. Bagian ini merupakan variabel uji dalam deteksi kemungkinan kecelakaan akibat adanya objek di belakang kendaraan. Bagian ini merupakan lokasi penempatan sensor PIR.

Model roda kendaraan sebagai komponen roda yang berputar berdasarkan masukan PWM pada sistem oleh pengendara. Bagian ini merupakan lokasi penempatan sensor magnetic pick-up (MPU) speed sensor untuk menghitung kecepatan kendaraan.

7. Hardware dan Video [Kembali]

HARDWARE



VIDEO


8. Analisis [Kembali]

Dalam pengujian pengaturan kecepatan kendaraan, peringatan jarak aman kendaraan dan deteksi kemungkinan kecelakaan mengunakan sensor ultrasonik, MPU, PIR, AM2302 (DHT22) dan vibration, pengujian dilakukan dengan menggunakan dua metode pengujian, yaitu pengujian simulasi sistem menggunakan perangkat lunak proteus dan pengujian menggunakan prototipe kendaraan listrik.

Sesuai dengan tujuan yang ditetapkan pada demo project modul 4 praktikum mikrokontroller dan microprosessor, fungsi pada pengujian pengaturan kecepatan kendaraan, peringatan jarak aman kendaraan dan deteksi kemungkinan kecelakaan mengunakan sensor ultrasonik, MPU, PIR, AM2302 (DHT22) dan vibration adalah untuk menguji keandalan sistem yang diaplikasikan.

 

9.1.            Pengujian Sistem Pada Perangkat Lunak Proteus

Berdasarkan hasil pengujian melalui simulasi perangkat lunak proteus, didapatkan sistem mampu bekerja secara optimal untuk melakukan pengaturan kecepatan kendaraan, melakukan deteksi dini kecelakaan akibat adanya objek di belakang kendaraan, deteksi dini kecelakaan akibat dekatnya posisi kendaraan dengan objek di depan kendaraan, serta deteksi potensi terjadinya kecelakaan akibat overheating dan malfungsi sistem.


Gambar 9.1. Tampilan simulasi proteus pengaturan kecepatan kendaraan melalui Keypad dengan luaran LCD.

Gambar 9.2. Tampilan monitor saat ada objek di belakang kendaraan.

Gambar 9.3. Tampilan monitor pengukuran jarak objek di depan kendaraan.

 

Gambar 9.4. Tampilan monitor pembacaan suhu pada simulasi proteus.

Gambar 9.5. Tampilan monitor saat adanya getaran berlebih pada mesin

 

9.2.            Pengujian Sistem Pada Prototipe Kendaraan Listrik

Berdasarkan hasil pengujian sistem pada prototipe kendaraan listrik, didapatkan bahwa sistem mampu bekerja secara optimal dalam beberapa aspek penting yang mendukung keselamatan berkendara. Berikut adalah rincian dari setiap aspek dalam pengujian:

1.                Pengaturan Kecepatan Kendaraan

Sistem pengaturan kecepatan yang dikembangkan mampu mengontrol kecepatan kendaraan dengan sangat baik. Pengaturan ini dilakukan melalui antarmuka pengguna yang memungkinkan pengemudi untuk mengatur kecepatan sesuai kebutuhan. Sistem ini menyesuaikan kecepatan kendaraan secara lancar dan responsif terhadap perubahan input, yang memastikan bahwa kendaraan dapat beroperasi dalam kecepatan yang aman dan sesuai dengan kondisi jalan.

 

2.                Deteksi Objek di Sekitar Kendaraan

Sistem deteksi objek di sekitar kendaraan, yang terdiri dari sensor PIR dan sensor ultrasonik, mampu mendeteksi keberadaan objek dengan cepat dan akurat. Sensor PIR, yang dipasang di bagian belakang kendaraan, efektif dalam mendeteksi objek yang mendekat dari belakang, seperti pejalan kaki atau kendaraan lain. Ketika objek terdeteksi, sistem memberikan peringatan visual dan audio kepada pengemudi, sehingga dapat mengurangi risiko kecelakaan saat mundur. Sensor ultrasonik di bagian depan kendaraan juga berfungsi dengan baik dalam mengukur jarak objek di depan kendaraan. Sistem ini memberikan peringatan dini jika jarak dengan objek terlalu dekat, yang sangat membantu dalam menghindari tabrakan.

 

3.                Pemantauan Suhu Mesin

Sensor suhu AM2302 yang dipasang pada mesin kendaraan berfungsi untuk memantau suhu mesin secara real-time. Pemantauan ini sangat penting untuk mencegah overheating yang dapat menyebabkan kerusakan pada mesin. Saat suhu mesin melebihi batas yang telah ditetapkan, sistem segera memberikan peringatan kepada pengemudi melalui tampilan pada LCD dan bunyi buzzer. Selain itu, sistem juga dapat mengambil tindakan otomatis seperti menurunkan kecepatan kendaraan untuk mencegah kerusakan lebih lanjut, memastikan mesin tetap dalam kondisi optimal.

 

4.                Deteksi Getaran Berlebih

Sistem deteksi getaran menggunakan sensor getaran yang dipasang pada mesin kendaraan. Sensor ini mampu mendeteksi adanya getaran yang berlebihan yang mungkin mengindikasikan malfungsi atau kerusakan mekanis. Ketika getaran berlebih terdeteksi, sistem segera memberikan peringatan kepada pengemudi, sehingga tindakan perbaikan dapat segera diambil. Ini membantu dalam mencegah kerusakan lebih lanjut dan memastikan bahwa kendaraan beroperasi dengan aman dan efisien


9. Kesimpulan [Kembali]


A.    Kesimpulan

Berdasarkan hasil pengujian yang dilakukan pada pengaturan kecepatan kendaraan, peringatan jarak aman kendaraan dan deteksi kemungkinan kecelakaan mengunakan sensor ultrasonik, MPU, PIR, AM2302 (DHT22) dan vibration sensor didapatkan kesimpulan sebagai berikut:

1.      Sistem yang di jalankan mampu berjalan secara optimal.

2.      Kegiatan ini bermanfaat bagi mahasiswa elektro karena dapat memberikan pemahaman praktis tentang penerapan teori-teori yang dipelajari di kelas serta mengembangkan keterampilan teknis yang diperlukan dalam industri.

 

B.     Saran

Dalam meningkatkan kinerja dan keandalan sistem dalam membantu peningkatan fitur keselamatan berkendara, beberapa saran yang dapat dipertimbangkan adalah sebagai berikut:

1.      Meningkatkan responsivitas dan akurasi pengaturan kecepatan PWM.

2.      Menambahkan variasi indikator visual dan suara alarm untuk membedakan jenis peringatan.

3.      Memberikan pelatihan kepada pengemudi tentang penggunaan dan pemahaman sistem.

4.      Melakukan uji coba lapangan yang ekstensif untuk mengevaluasi performa sistem.

5.      Melanjutkan pengembangan prototipe untuk meningkatkan keandalan dan durabilitas.


10. Link Download [Kembali]
Download HTML klik disini
Download Simulasi Rangkaian klik disini
Download Video Demo klik disini
Download File Laporan Project klik disini
Download Listing Program klik disini
Download Library Arduino Uno klik disini
Download Library Sensor Ultrasonic klik disini
Download Library Sensor DHT22 klik disini
Download Library Sensor PIR klik disini
Donwload Library Sensor Vibration klik disini
Donwload Datasheet Sensor Ultrasonic klik disini
Donwload Datasheet Sensor Magnetic Pick Up klik disini
Download Datasheet Sensor DHT22 klik disini
Download Datasheet Sensor PIR klik disini
Download Datasheet Sensor Vibration klik disini
Download Datasheet LED klik disini
Download Datasheet Buzzer klik disini
Download Datasheet LCD klik disini
Download Datasheet Brusless Motor DC klik disini


0 komentar:

Posting Komentar