Yuk simak penjelasan berikut!
Pada saat ini, teknologi semakin berkembang dengan sangat cepat dan semakin canggih. Perkembangan teknologi ini pastinya sangat berkaitan dengan perkembangan teknologi komputer. Dimana teknologi komputer merupakan pendukung bahkan penggerak kemajuan teknologi informasi pada jaman sekarang ini. Dan tidak bisa dipungkiri bahwa ilmu elektronika sangat berpengaruh kepada perkembangan teknologi. Sebuah komputer mampu mengendalikan sebuah rangkaian alat elektronika menggunakan sebuah chip IC yang dapat diisi program dan logika yang disebut teknologi Mikroprosesor.
Mikroprosesor merupakan salah satu ilmu dalam bidang elektronika yang dipelajari pada perkuliahan jurusan Teknik Elektro. Kemudian timbul gagasan untuk mengimplementasikan sebuah alat berbasis mikroprosesor yang serba otomatis dan efisien. Maka dari itu pada projek kali ini penulis mencoba membuat suatu alat berbasis arduino yaitu palang pintu otomatis menggunakan ultrasonic transceiver dan motor servo. Adapun alat tersebut merupakan serangkaian komponen elektronika berbentuk palang pintu yang dapat membuka dan menutup secara otomatis yang dikontrol menggunakan program mikrokontroler. Bahasa pemograman yang akan digunakan adalah bahasa C.
Alat dan Bahan yang Dibutuhkan :
1. 1x Arduino Uno
2. 1x Sensor Ultrasonik
3. 2x LED Hijau & Merah
4. 2x Resistor 330 ohm
5. 1x Motor Servo
6. Kabel Jumper secukupnya
7. Papan (Bread Board)
Langkah Kerja :
1. Susun perangkat seperti gambar di bawah
2. Sambungkan Arduino ke PC menggunakan kabel serial
3. Download dan Install Program Arduino IDE berikut Download Arduino IDE
4. Jalankan aplikasi Arduino IDE
5. Klik Menu "Tools => Board => Arduino Uno"
6. Klik Menu "Tools => Port => (Pilih arduino yang terdeteksi)
7. Masukkan program berikut
/*
* Mengontrol Servo dengan Sensor Ultrasonic
* Email : pmarhendra@gmail.com
*/
#include <NewPing.h> //Library untuk Sensor Ultrasonic
#include <Servo.h> //Library untuk Servo
#define trigPin 12 //Set Trigger HCSR04 di Pin digital 12
#define echoPin 13 //Set Echo HCSR04 di Pin digital 13
#define MAX_DISTANCE 500 //Set jarak maksimal
NewPing sonar(trigPin, echoPin, MAX_DISTANCE);
int LEDhijau = 3, LEDmerah = 2; //Set Pin LEDhijau dan LEDmerah
Servo myservo; //Buat object 1 buah motor servo
void setup() {
Serial.begin (115200); //Kecepatan komunikasi serial
pinMode(trigPin, OUTPUT); //Set pin Trigger sebagai output
pinMode(echoPin, INPUT); //Set pin Echo sebagai input
pinMode(LEDmerah, OUTPUT); //Set LEDmerah sebagai output
pinMode(LEDhijau, OUTPUT); //Set LEDhijau sebagai output
myservo.attach(9); //Set servo pada pin PWM 9
}
void loop() {
int duration, jarak,posisi=0,i;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
jarak = (duration/2) / 29.1;
Serial.print(jarak);
Serial.println(" cm");
if(jarak<=15) // Jarak (Cm) dapat anda sesuaikan
{
digitalWrite(LEDhijau, LOW); //LEDhijau mati
digitalWrite(LEDmerah, HIGH); //LEDmerah hidup
myservo.write(180); //Posisi servo pada 180 derajat
delay(450); //Delay
digitalWrite(LEDmerah, LOW); //LEDmerah mati
myservo.write(90); //Posisi servo pada 90 derajat
delay(450); //Delay
digitalWrite(LEDmerah, HIGH); //LEDmerah hidup
myservo.write(0); //Posisi servo pada 0 derajat
delay(450); //Delay
digitalWrite(LEDmerah, LOW); //LEDmerah mati
myservo.write(90); //Posisi servo pada 90 derajat
}
else{ //Jika jarak lebih dari yang ditentukan digitalWrite(LEDmerah, LOW); //LEDmerah mati digitalWrite(LEDhijau, HIGH); //LEDhijau hidup myservo.write(90); //Posisi servo pada 90 derajat } delay(450); //Delay }
Comments