Mengontrol Putaran Servo dengan Sensor PIR di Arduino

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Halo Bro, berjumpa kembali kita di pagi hari ini di bulan April. Gimana nih kabar kalian semua? pada sehat dan masih bersemangat kan untuk menyerap berbagai macam ilmu yang ada di dunia ini? Harus semangat ya bro, jangan sampai putus asa bila dapat kesulitan!

Oke bro langsung saja, dikesempatan hari ini saya ingin memberikan Tutorial Arduino yaitu Motion Activation Servo. Wow keren, apa sih Motion Activation Servo itu? motion activation servo bila anda terjemahkan ke dalam Bahasa Indonesia adalah Pergerakan yang mengaktifkan Servo, jadi gimana tuh bro cara kerjanya? jelaskan ya bro!

Gini bro, jadi jika ada pergerakan didepan Sensor PIR, maka akan memutar derajat motor servo dari 0 - 180 derajat/sebaliknya. Tutorial Arduino kali ini bisa anda kembangkan menjadi project yang cukup berguna, contoh yg saya buat adalah "Alat pemberi makan kucing otomatis".

Alat dan Bahan yang dibutuhkan :
  • 1x Arduino UNO
  • 1x Sensor PIR ( HC-SR04 )
  • 1x Motor Servo
  • 1x Projectboard ( Breadboard )
  • Kabel jumper secukupnya

Langkah - Langkahnya :

1.)  Susunlah rangkaian berikut ini.


Keterangan Konfigurasi Kabel :
  • Pin VCC pada Sensor PIR dihubungkan ke 5V pada Arduino
  • Pin GND pada Sensor PIR dihubungkan ke GND pada Arduino
  • Pin OUT pada Sensor PIR dihubungkan ke Pin 12 pada Arduino
  • Kabel merah pada servo dihubungkan ke VCC pada Arduino
  • Kabel hitam pada servo dihubungkan ke GND pada Arduino
  • Kabel kuning pada servo dihubungkan ke Pin 4 pada Arduino
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Setelah terinstall, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini, dan terakhir klik upload.

Klik LIHAT DONG untuk melihat sketch
#include <Servo.h>
Servo myservo;
int pos = 0;
int waktuKalibrasi = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean ambilWaktuSebentar;
int pirSensor = 12;
void setup(){
  myservo.attach(4);
  pinMode(pirSensor, INPUT);

    for(int i = 0; i < waktuKalibrasi; i++){
      delay(1000);
    }
    while (digitalRead(pirSensor) == HIGH) {
      delay(500);
    }
  }

void loop(){
  if(digitalRead(pirSensor) == HIGH){
    for(pos = 0; pos < 180; pos += 1)
    {
      myservo.write(pos);
      delay(5);
    }
    for(pos = 180; pos>=1; pos-=1)
    {
      myservo.write(pos);
      delay(5);
    }
 
    if(lockLow){
      lockLow = false;
      delay(50);
    }
    ambilWaktuSebentar = true;
  }

  if(digitalRead(pirSensor) == LOW){
    if(ambilWaktuSebentar){
      lowIn = millis();
      ambilWaktuSebentar = false;
    }
    if(!lockLow && millis() - lowIn > pause){
      lockLow = true;
      delay(50);
    }
  }
}

Lihat video dibawah ini untuk simulasi


Terimakasih telah berkunjung, semoga bermanfaat.

Blog, Updated pada: 00:12:00

2 comments:

  1. Bro, gimana caranya biar berputar 180° -> diem 5secon -> kembali ke posisi awal ?

    ReplyDelete
    Replies
    1. Modifikasi saja sketchnya sesuai keinginan.

      Delete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian