Anda di halaman 1dari 3

Tugas Akhir Sistem Mikroprosesor:

Palang Kereta Api Otomatis

Link tinkercad: https://www.tinkercad.com/things/197yDdxKvp0-palang-kereta-


otomatis/editel?sharecode=66DYYaY6Kq_0ylGhFLDefuYUimAzXcGOJ9wJ3QRp0OQ=

Kelompok 44
1. Leon Davin (18/429072/TK/47574)
2. Victoria Trinita Pardede (18/425325/TK/47020)
3. Bagas Muhammad A.D. (18/431388/TK/47981)
4. Kansha Eriella Savanti (18/429071/TK/47573)

Alat yang digunakan :


1. Arduino R3 (1 buah)
2. Ultrasonic Distance Sensor (1 buah)
3. Micro Servo (1 buah)
4. Lampu LED (merah dan hijau)
5. Resistor (2 buah)
6. Jumper

Konsep cara kerja alat :


1. Ultrasonic Distance Sensor mengeluarkan gelombang ultrasonik selama 10ms.
2. Jika terdapat gelombang pantulan yang ditangkap oleh Ultrasonic Distace Sensor, maka
akan dilakukan perhitungan jarak benda terhadap palang.
3. Perhitungan dilakukan dengan rumus : durasi waktu yang dibutuhkan untuk mengangkap
gelombang pantulan dikalikan dengan kecepatan rambat suara di udara (0.034 m/ms) lalu
dibagi 2 karena gelombang melakukan perjalanan bolak - balik.
4. Jika ternyata jarak yang dihitung lebih kecil sama dengan 6 cm, maka Micro Server akan
berputar 90 derajat dan lampu LED Hijau akan dinyalakan.
5. Setelah 1 detik, Micro Server akan berputar ke posisi awal, dan lampu LED hijau akan
dimatikan.

*Durasi UDS mengeluarkan gelombang, Parameter jarak 6 cm, jauhnya Micro Server
berputar, lamanya Micro Server sebelum kembali ke posisi awal, dapat diatur dalam
codingan sesuai keinginan pembuat.
**Lampu LED merah dan hijau salah satunya harus selalu nyala dan tidak boleh keduanya
nyala dalam 1 waktu.

Pada TinkerCad :
1. Jumper Kuning menandakan arus Gnd
2. Jumper Biru menandakan arus 5V (dalam Maple VCC)
3. Jumper Pink menghubungkan pin 5 dengan Echo UDS
4. Jumper Ungu menghubungkan pin 1 dengan Trigger UDS
5. Jumper Coklat menghubungkan pin 9 dengan Signal pada Micro Server
6. Jumper Hijau menghubungkan pin 10 dengan LED Hijau
7. Jumper Merah menghubungkan pin 11 dengan LED Merah

OUTPUT : pin 1, pin 10, dan pin 11


INPUT : pin 5

***Perlu digunakan library untuk Micro Server

Source Code
#include <Servo.h>
#define MAX_DISTANCE 500
Servo servo;
int pinTrigger = 1;
int pinEcho = 5;
int pinHijau = 10;
int pinMerah = 11;
float durasi, jarak;

void setup()
{
pinMode(pinTrigger, OUTPUT);
pinMode(pinEcho, INPUT);
pinMode(pinHijau, OUTPUT);
pinMode(pinMerah, OUTPUT);
servo.attach(9);
}

void loop()
{
digitalWrite(pinTrigger, LOW);
delay(2);
digitalWrite(pinTrigger, HIGH);
delay(10);
digitalWrite(pinTrigger, LOW);

durasi = pulseIn(pinEcho, HIGH);


jarak = (durasi * 0.034) / 2;

if(jarak <= 6) {
digitalWrite(pinMerah, LOW);
digitalWrite(pinHijau, HIGH);
servo.write(90);
delay(1000);
}
else {
digitalWrite(pinMerah, HIGH);
digitalWrite(pinHijau, LOW);
servo.write(0);
}
delay(500);
}

Anda mungkin juga menyukai