Pada kali kita akan membahas bagaimana mengatur putaran motor servo dengan sebuah cahaya, kalau belum tau ini masih bingung, tapi kalau sudah tau ini suatu hal yang biasa. Untuk mengatur putaran motor Servo dengan cahaya ya... menggunakan sensor cahaya.... nama sensornya yaitu sesor LDR. Belum tau Sensor LDR...? Ok kita akan kasih sedikit teori tentang LDR. Kenapa kita bahas ternyata ada manfaatnya yaitu bisa buat jendela Otomatis, jadi pada saat pagi ada sinar matahari maka jendela tersebut bisa buka sendiri.
1. Teori Modul Sensor LDR (Light Dependent Resistor)
LDR atau Light Dependent Resistor adalah sebuah komponen elektronika yang termasuk ke dalam jenis resistor yang nilai resistansinya (nilai tahanannya) akan berubah apabila intensitas cahaya yang diserap juga berubah.Jika intensitas cahaya yang diterima rendah maka hambatan juga akan tinggi yang mengakibatkan tengangan yang keluar juga akan tinggi begitu juga sebaliknya disinilah mekanisme proses perubahan cahaya menjadi listrik terjadi
- Aplikasi LDR (Light Dependent Resistor) :
- Rangkaian sensor cahaya
- Lampu otomatis di jalan raya
- Alarm brankas
- Tracker cahaya matahari
- Kontrol arah solar cell
- Robot line follower
- Dan lain sebagainya
2. Tutorial cara mengakses sensor LDR dengan Arduino Uno
Bahan yang perlu dipersiapkan :
- Arduino Uno
- Komputer + Software IDE Arduino
- sensor LDR
- Resistor 330Ω
- Breadboard
- Kabel Jumper
- Senter (Sumber Cahaya)
Koding pemrograman
Ada 2 kondisi yang akan diuji cobakan, nilai yang terbaca di arduino (pada serial monitor) saat disinari cahaya dari senter dan tanpa disinari cahaya.Membaca dalam nilai analog dari pengaturan pembagi tegangan dengan Dependent Resistor Cahaya (LDR) sebagai resistor atas, dan hasil pembacaannya akan ditampilkan pada serial monitor.
const int pin_ldr = A0; | |
void setup () | |
{ | |
Serial.begin (9600); //inisialisasi port serial | |
} | |
void loop () | |
{ | |
int nilai = analogRead (pin_ldr); //Membaca nilai analog dari pin A0 | |
// Mengkonversi nilai analog tegangan menggunakan ADC | |
// ADC memiliki resolusi 10bit, sehingga dapat mewakili 2 ^ 10 = 1024 | |
float tegangan_hasil = 5.0 * nilai / 1024; | |
// Catatan: Ini adalah konversi D-to-A | |
// Mencetak hasil pada monitor serial | |
Serial.print ("Vout ="); | |
Serial.print (tegangan_hasil); | |
Serial.println ("V"); | |
delay (2000); //jeda selama dua detik | |
} |
3. Pengaturan putaran motor servo dengan Modul sensor LDR
Berikut ini komponen dan software yang harus dipersiapkan :- 1 buah Arduino (Bisa menggunakan jenis Arduino UNO, MEGA, NANO, MINI, dan lain sebagainya,
- 1 buah Light Sensor/Sensor Cahaya
- 1 buah Servo SG90
- Kabel jumper secukupnya
- Software Arduino IDE
Dan berikut ini adalah skema rangkaiannya :
- Pin VCC pada Arduino dihubungkan ke Kabel Merah Servo
- Pin GND pada Arduino dihubungkan ke Kabel Hitam Servo
- Pin 6 pada Arduino dihubungkan ke Kabel Kuning Servo
- Pin A0 pada Arduino dihubungkan ke Salah satu kaki LDR
Pemograman
#include <Servo.h> //Library untuk motor servo | |
Servo myservo; //Membuat object 1 buah Servo | |
int pinSensorLDR = 0; //Pin input untuk sensor LDR | |
int hasil; //Membuat variable untuk hasil sensor | |
void setup() { | |
myservo.attach(6); //Hubungkan servo pada Pin 6 Arduino | |
} | |
void loop() { | |
hasil = analogRead(pinSensorLDR); //hasil = input dari sensor LDR | |
hasil = map(hasil, 10, 800, 0, 180); //Convert hasil LDR untuk Servo | |
myservo.write(hasil); //Putar servo sesuai hasil LDR | |
delay(15); //Delay | |
} |
Tidak ada komentar:
Posting Komentar