Sabtu, 22 Juli 2017

Palang Otomatis menggunakan Ultrasonic Transceiver dan Servo

Alat ini merupakan serangkaian komponen elektronika berbentuk palang pintu yang dapat membuka dan menutup secara otomatis yang dikontrol menggunakan program mikrokontroler.

Adapun alat dan bahan yang diperlukan adalah sebagai berikut.
  • 1 unit Arduino UNO R3

Arduino Uno R3



  • 1 buah USB 2.0 tipe kabel A/B (kabel USB Arduino)
Kabel USB Arduino


  • 1 buah modul Ultrasonic Transceiver HC-S04
Ultrasonic Transceiver HC-SR04


  • 1 unit Motor Servo 9g SG90
Servo 9g SG90


  • 2 buah LED dengan warna yang berbeda (merah dan hijau)
LED Merah dan Hijau


  • 2 buah Resistor 330Ω
Resistor 330 


  • 1 buah Protoboard
Protoboard


  • Kabel penghubung secukupnya
Jumper Male to Female

Jumper Male to Male



Setelah alat dan bahan siap, berikut adalah langkah-langkah pembuatannya.
  1. Susunlah rangkaian seperti gambar berikut ini.
    Gambar Rangkaian
    • Keterangan Konfigurasi Kabel :
      • Pin 5V pada Arduino dihubungkan ke VCC Servo dan VCC Sensor Ultrasonic
      • Pin GND pada Arduino dihubungkan ke GND Servo dan GND Ultrasonic dan Katoda LED
      • Pin 9 pada Arduino dihubungkan ke Kabel Kuning Servo
      • Pin 10 pada Arduino dihubungkan ke LED Hijau
      • Pin 11 pada Arduino dihubungkan ke LED Merah
      • Pin 12 pada Arduino dihubungkan ke Pin Trigger pada sensor ultrasonic
      • Pin 13 pada Arduino dihubungkan ke Pin Echo pada sensor ultrasonic
  2. Lalu sambungkan board Arduino ke Laptop/PC dengan menggunakan USB 2.0 tipe kabel A/B (kabel USB Arduino)
  3. Download dan Install program Arduino IDE di Arduino.cc
  4. Setelah terinstall, jalankan program Arduino-nya
  5. Klik menu Tools à Board à Arduino/ Genuino Uno (sesuai jenis Arduino yg dipakai)
  6. Klik menu Tools à Port à Pilih port arduino yg terdeteksi oleh Laptop/PC anda
  7. Terakhir masukkan Sketch dibawah ini, lalu klik Upload

Klik LIHAT SKETCH untuk melihat sketch

/*
 * Palang Otomatis menggunakan Ultrasonic Transceiver dan Servo
 * Kelompok 2 TK-1A
*/

#include <Servo.h> //Library untuk servo
#define MAX_DISTANCE 500
Servo servo;

int pinTrigger = 12; //Set trigger Ultrasonic Transceiver di pin digital 12
int pinEcho = 13; //Set echo Ultrasonic Transceiver di pin digital 12
int pinHijau = 10; //Set kaki positif LED Hijau di pin digital 10
int pinMerah = 11; //Set kaki positif LED Merah di pin digital 10
float durasi, jarak;

void setup()
{
  pinMode(pinTrigger, OUTPUT); //pin trigger sebagai output
  pinMode(pinEcho, INPUT); //pin echo sebagai input
  pinMode(pinHijau, OUTPUT); //pin LED hijau sebagai output
  pinMode(pinMerah, OUTPUT); //pin LED merah sebagai output
  Serial.begin(9600); //kecepatan komunikasi Serial dengan komputer
  servo.attach(9); //pin PWM 9 untuk servo
}

void loop()
{
  //program trigger memancarkan ultrasonik
  digitalWrite(pinTrigger, LOW);
  delayMicroseconds(2);
  digitalWrite(pinTrigger, HIGH);
  delayMicroseconds(10);
  digitalWrite(pinTrigger, LOW);

  //Durasi adalah waktu tunggu pin Echo menjadi bernilai HIGH
  //Setelah mendapat pantulan gelombang ultrasonic dari pin Trigger
  durasi = pulseIn(pinEcho, HIGH);
  jarak = (durasi * 0.034) / 2; //Konversi nilai durasi ke jarak
  //Mencetak jarak pada serial monitor
  Serial.print(jarak);
  Serial.println(" cm");
  if (jarak <= 6) //jarak (cm) dapat diatur dan disesuaikan
  {
    digitalWrite(pinMerah, LOW); //led merah mati
    digitalWrite(pinHijau, HIGH); //led hijau nyala
    servo.write(90 ); //posisi servo 90 derajat
    delay(100);
  }
  else
  {
    digitalWrite(pinHijau, LOW); //led hijau mati
    digitalWrite(pinMerah, HIGH); //led merah nyala
    servo.write(0); //posisi servo 0 derajat
  }
  delay(450);
 }

Silahkan lihat video perakitan rangkaian dibawah ini:



Hasil Pengujian Alat:
Tampilan Alat

Saat ada obyek, LED Hijau menyala, posisi Servo 90 derajat

Saat tidak ada obyek, LED Merah menyala, posisi Servo 0 derajat
Referensi:
http://www.boarduino.web.id/2015/11/mengontrol-servo-dengan-sensor.html