Showing posts with label Mikrokontroler. Show all posts

Cara Mengakses Sensor PIR menggunakan Arduino

Halo sahabat duino pada kali ini saya ingin memberikan tutorial cara mengakses sensor PIR menggunakan arduino. 

Sensor PIR merupakan sensor yang mempunyai fungsi sebagai pendeteksi adanya benda atau tidak dengan sistem deteksi pancaran sinar infra-red. Kepajangan dari PIR yaitu Passive Infra-Red.

Komponen elektronika ini mempunyai sifat pasif, yang artinya tidak dapat menghasilkan sinar infra-red secara independen akan tetapi hanya bertindak sebagai penerima dari radiasi sinar infra-red.

Aplikasi penggunaan dari sensor PIR ini difungsikan dalam aplikasi proyek detektor pergerakan. Dikarenakan semua benda yang memancarkan atau menghasilkan energi radiasi, akan terdeteksi oleh sensor ini pada saat infra merah dari sensor PIR mendeteksi dengan perbedaan suhu tertentu.

Contoh dalam kehidupan sehari – hari yaitu pada saat memasuki pintu Mall yang membuka dengan otomatis saat kita akan memasuki area dalam Mall.


Prinsip Kerja Sensor PIR

Pancaran dari sinar infra-red yang mengenai ke sensor Pyroelektrik masuk melalui lensa fresnel akan dihasilkan output arus listrik efek dari sinar infra-red yang memiliki kandungan energi kalor.

Bahan dasar dari pembuatan sensor pyroelektrik yaitu cesium nitrat (CsNo3), galium nitrida (GaN), serta litium tantalate (LiTaO3).

Arus listrik yang timbul akan menghasilkan tegangan yang akan diproses lebih lanjut yang dimana akan masuk ke IC kompator.Pada IC komparator inilah akan dibandingkan tegangan yang dihasilkan dari hasil pembacaan sensor dengan tegangan referensi /Vref dan akan menghasilkan output berupa sinyal 1 bit.

Sehingga output dari sensor ini yaitu berupa logika 1 /high dan 0 /low. Pada saat konidisi logika HIGH berarti sensor terdeteksi adanya infra-red, sedangkan logika LOW kebalikan dari itu.

Sensor ini difungsikan untuk mendeteksi adanya pancaran infra-red yang panjang gelombangnya antara 8-14 μm, dan selain panjang gelombang tersebut maka sensor tidak akan bekerja.

Pada manusia memupunyai temperatur suhu badan yang bisa menghasilkan pancaran infra- red yang panjang gelombangnya antara 9-10 μm dengan standar pada 9,4 μm. Dan pada nilai panjang gelombang tersebut merupakan range nilai yang dapat dideteksi oleh sensor PIR.

Bahan Yang di perlukan :

  •     - Arduino Uno
  •     - Komputer + Software IDE Arduino
  •     - Sensor PIR
  •     - Resistor 330Ω
  •     - LED merah 5mm/3mm
  •     - Breadboard
  •     - Kabel Jumper


Dan berikut baris programnya :


#define waktutunda 5 //untuk 5 detik
 
const int ledPin = 13; //Menggunakan led built in Arduino
const int SensorPir = 2; //menggunakan pin ke-2 arduino
 
unsigned long now = millis();
unsigned long TriggerAkhir = 0;
boolean waktumulai = false;
 
void setup() {
  Serial.begin(115200); //baut komunikasi serial monitor
  
  pinMode(SensorPir, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(SensorPir), deteksigerakan, RISING);
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
}
 
void loop() {
  now = millis();
  if(waktumulai && (now - TriggerAkhir > (waktutunda*1000))) {
    Serial.println("Tidak ada gerakan!");
    digitalWrite(ledPin, LOW);
    waktumulai = false;
  }
}
 
void deteksigerakan() {
  Serial.println("GERAKAN TERDETEKSI");
  digitalWrite(ledPin, HIGH);
  waktumulai = true;
  TriggerAkhir = millis();
}

Pada saat sensor  terpasang dan tidak mendeteksi adanya benda bergerak didepannya maka lampu LED secara default padam, dan akan menyala dalam waktu delay selama 5 detik.

Sekian. Terimakasih sudah berkunjung.

Cara mengakses Motor Servo menggunakan Arduino

 


Hallo Semuanya pada hari ini saya akan membagikan tutorial tentang bagaimana cara mengakses Motor servo menggunakan arduino.

Sebelum itu kita harus tau apa itu Motor Servo.

Motor servo adalah komponen elektronika yang berupa motor yang memiliki sistem feedback guna memberikan informasi posisi putaran motor aktual yang diteruskan pada rangkaian kontrol mikrokontroler.

Pada dasarnya motor servo banyak digunakan sebagai aktuator yang membutuhkan posisi putaran motor yang presisi.

Apabila pada motor DC biasa hanya dapat dikendalikan kecepatannya serta arah putaran, lain halnya pada motor servo yaitu penambahan besaran parameter yang dapat dikendalikan berdasarkan sudut/derajat.

Komponen utama penyusun motor servo antara lain motor DC, gear rasio, potensiometer serta controller servo seperti gambar dibawah ini.

Bagian bagian motor servo

Adanya komponen potensiometer difungsikan sebagai feedback nilai yang akan diolah menjadi data posisi aktual.

Sedangkan fungsi dari controller servo yaitu memberikan sinyal – sinyal PWM (Pulse Width Modulator) untuk menggerakan motor melalui kabel motor.

Macam tipe – tipe dari motor servo ini ada 2 yaitu tipe standard dan tipe Continous.

Pada setiap body servo terdapat informasi akan identitas tipe servo tersebut. Secara standar, motor servo terdiri atas 3 kabel yaitu kabel power / VCC, kabel GND serta kabel signal

Tutorial mengakses motor servo dengan Arduino Uno

Pada tutorial kali ini akan dicontohkan eksperimen dengan motor servo jenis mikro yang banyak dijual di pasaran dengan harga terjangkau.

Motor servo ini disebut micro servo dikarenakan ukurannya yang kecil dan memutuhkan tegangan atau arus yang kecil pula.

Servo Motor Pinout (Wires) | Basic electrical wiring, Electronics projects  diy, Motor

 

Spesifikasinya kurang lebih sebagai berikut :

  •        - tegangan kerja : 4,8 – 6 Vdc
  •        - torsi : 1,6 kg/cm
  •        - arus : < 500 mA
  •        - dimensi : 22 x 12,5 x 29,5 cm
  •        - berat : 9 gr
  •        - kecepatan putaran: 0,12 detik/60 derajat

Bahan yang perlu dipersiapkan antara lain :

  •        - Arduino Uno
  •        - Komputer + Software IDE Arduino
  •        - Micro Servo
  •        - Kabel Jumper


Keterangan :

  • Warna merah servo, dihubungkan ke pin 5V Arduino
  • Warna hitam/coklat servo, dihubungkan ke pin Gnd Arduino
  • Warna orange servo (kabel data/perintah), dihubungkan ke pin 9 Arduino (dapat digunakan pin lainnya)

Dan untuk Library nya bisa download di sini.

Peletakan Library pada OS :
1. Mac : (home directory)/Documents/Arduino/libraries
2. PC (Windows) : My Documents -> Arduino -> libraries
3. Linux : (home directory)/sketchbook/libraries

Contoh kode pemrograman sederhana

#include <servo .h=""> // menyertakan library servo ke dalam program 
Servo myservo;     // variable untuk menyimpan posisi data
int pos = 00;   
         
void setup(){ 
 myservo.attach(3); //sinyal data kabel motor servo dikonekan di pin 3 Arduino
} 
 
void loop(){ 
 for(pos = 00; pos < 180; pos += 1)  //fungsi perulangan yang akan dijadikan PWM dengan kenaikan 1
 {
  myservo.write(pos); //prosedur penulisan data PWM ke motor servo
  delay(15); //waktu tunda 15 ms                 
 } 
 for(pos = 180; pos>=1; pos-=1)  //fungsi perulangan yang akan dijadikan PWM dengan penurunan 1
 {                              
  myservo.write(pos);                 
  delay(15);                        
 }
}
  

Keterangan program :

Untuk progam di atas, sudut putaran yang dapat dituju maksimal yaitu 180°. Sehingga menjadi batasan range posisi derajat yang dapat digunakan yaitu 0 – 180°.

Dengan menggunakan servo ini sudah tidak berbicara lagi mengenai putar searah (Clock Wise) atau berlawanan arah jarum jam (Clock Counter Wise) tapi sudut 0, 45, 90 dan seterusnya sampai dengan 180.

Apabila ingin mendapatkan posisi 90° dan bergerak berlawanan arah jarum jam maka dituliskan perintah myservo.write (90); setelah itu dituliskan myservo.write (0);.

Akan tetapi jika ingin mendapatkan posisi 90° dan serarah jarum jam maka dituliskan perintah myservo.write (90); setelah itu dituliskan perintah myservo.write (180);.

Jadi posisi 0 s.d 180 sudah ditentukan oleh kontroller internal motor servo, dan cukup dengan memberikan perintah pada sudut mana motor akan berputar melalui perintah myservo.write (derajat)

Selamat mencoba!.

 

Belajar Arduino: Sensor Cahaya LDR!

 Hallo para sahabat Duino pada kesempatan kali ini saya ingin membagikan tutorial arduino menggunakan sensor cahaya atau LDR. 

Light Dependent Resistor (LDR) adalah jenis resistor yang nilai hambatannya di pengaruhi oleh cahaya di sekitar. Maka kita bisa membuat LDR ini menjadi sensor cahaya. Karena memang sudah banyak aplikasinya. Misalnya pada lampu jalan, tidak ada saklar untuk mematikan dan menghidupkan lampu jalan.

Dengan menggunakan sensor cahaya LDR, lampu jalan akan mati ketika siang dan akan hidup ketika malam secara otomatis.

Sekarang kita akan buat program Arduino yang akan melakukan, “Lampu LED menyala ketika keadaan gelap dan mati ketika keadaan terang”  (Automatic Lighting System).

 Dan alat dan bahan yang haru di siapkan adalah :  

  •                - 1x Arduino
  •                - 1x Breadboard
  •                - 1x Sensor cahaya LDR
  •                - 1x Resistor 10k 
  •                - 7x Kabel jumper

Lalu buatlah rangkaian seperti pada gambar berikut :

 

NOTES:

Hubungkan 5V dan GND dari Arduino ke Breadboard.Hubungkan kaki kiri LDR ke 5V.Hubungkan kaki kanan LDR ke pin A2 Arduino.Hubungkan kaki kiri resistor ke celah antara kaki kanan LDR dan GND arduino.Hubungkan kaki kanan resistor ke GND.Untuk pemasangan LED kamu bisa lihat pada Menyalakan LED menggunakan Arduino UNO

Untuk pemrograman LDR, kamu bisa gunakan sketch program dibawah ini:

byte ldr = A2;
byte led = 13;
int nilai;

void setup() {
  pinMode(led, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  nilai = analogRead(ldr);
  Serial.print("Nilai LDR: ");
  Serial.println(nilai);

  if (nilai < 500) {
    digitalWrite(led, HIGH);
  }
  else {
    digitalWrite(led, LOW);
  }

}

REVIEW NOTES:  

  • - int nilaiLDR= 0; membuat variabel nilaiLDR, dan akan membaca nilai mulai dari 0.  
  • -  pinMode(LED, OUTPUT); memilih mode OUTPUT untuk pin yang disimpan di variabel LED.
  • -  Serial.begin(9600); digunakan agar Arduino bisa berkomunikasi dengan Komputer.   
  • - nilaiLDR= analogRead(LDR); menyimpan nilai yang dibaca oleh sensor LDR kedalam variabel nilaiLDR.  
  • - Serial.print("NilaiLDR= "); digunakan untuk mencetak secara digital atau menampilkan teks nilaiLDR=, untuk ini kita tampilkan pada Serial Monitor.  
  • - Serial.println(nilaiLDR); untuk menampilkan nilai yang dibaca oleh sensor LDR  
  • - if(nilaiLDR < 500) jika sensor membaca nilai 500 atau kurang dari 500  
  • - digitalWrite(LED, HIGH); lampu LED menyala  
  • - else jika tidak  
  • - digitalWrite(LED, LOW); lampu LED mati

Menyalakan LED Menggunakan Arduino UNO

            Arduino Wallpapers - Wallpaper Cave 

Hallo pada kali ini saya ingin membagikan tutorial yaitu menyalakan LED menggunakan Arduino.

Project kali ini saya akan menggunakan pin 4 pada Arduino UNO untuk menyalakan sebuah LED, di kesempatan ini saya akan menjelaskan mulai dari hardware dan software serta cara kerjanya sehingga membuat para pembaca mengerti dengan apa yang saya sampaikan.

Ada pula alat dan Bahan yang akan kita gunakan. 

            - 1 Buah LED 5mm atau LED 3mm
            - 1 Buah Resistor 100Ω Ohm
            - 2 Buah Kabel Jumper
            - 1 Buah Protoboard
            - 1 Buah Arduino

Rangkaian Menyalakan LED Menggunakan Arduino UNO

 

Keterangan 

                - Pin GND Arduino (Warna Hitam) ke GND LED (Warna Hitam) 
                - Pin 4 (Warna Merah) ke Resistor (Warna Merah)  
                - Sisi lain dari Resistor di hubungkan ke Positif LED

 Sketch Program

Dalam Sketch Program Menyalakan LED Menggunakan Arduino UNO ada beberapa cara Sketch Program untuk dapat menyalakan LED nya, berikut ini saya akan paparkan cara Menyalakan LED dengan Aktif HIGH.

Sketch Program Cara Pertama :


// Menyalakan LED Menggunakan Arduino UNO
// Menyalakan LED dengan Aktif HIGH
void setup()
{
   // menjadikan PIN 4 sebagai OUTPUT
   pinMode(4, OUTPUT); 
}
void loop()
{
   // Menyalakan PIN 4 (HIGH = Memberi tegangan pada PIN 4)
   digitalWrite(4, HIGH); 
}

Sketch Program Cara Kedua :

// Menyalakan LED Menggunakan Arduino UNO
// Menyalakan LED dengan Aktif HIGH
Int PinSaya = 4; // type data yang berfungsi sebagai penyimpan bilangan bulat
void setup()
{
   // menjadikan PIN 4 sebagai OUTPUT
   pinMode(PinSaya, OUTPUT); 
}
void loop()
{
   // Menyalakan PIN 4 (HIGH = Memberi tegangan pada PIN 4)
   digitalWrite(PinSaya, HIGH); 
}
Keterangan : 
  •  Fungsi void setup () dalam sebuah program arduino adalah semua perintah yang akan di baca sekali. 
  • Fungsi void loop () dalam sebuah program arduino adalah semua perintah yang akan di baca berulang-ulang.