Terima kasih banyak telah berkunjung.

Selamat datang di website: www.harisprasetyo.web.id

Wednesday, January 13, 2016

Membuat Alat Pendeteksi Cahaya Menggunakan Sensor LDR (Light Dependent Resistor) Berbasis Arduino

Sebelum membuat sebuah alat pendeteksi cahaya ini diperlukan komponen, alat dan program yang dibuat, berikut komponen dan alat yang digunakan dalam pembuatan alat tersebut:
  1. Arduino Nano (Tipe Arduino Boleh Berbeda)
  2. Project Board
  3. Sensor LDR (Light Dependent Resistor)
  4. Resistor 220 Ohm
  5. Kabel Jumper
  6. LCD 16 x 2 Serial Menggunakan I2C
Setelah komponen dan alat sudah disiapkan, selanjutnya proses merangkai alat, ikuti seperti pada gambar berikut ini :
Rangkaian Keseluruhan Alat Pendeteksi Cahaya
Dari gambar diatas terdapat komponen seperti resistor dan sensor LDR, dan alatnya berupa Arduino Nano dan LCD, untuk penggunaan masing - masing pin berikut daftarnya:
  1. VCC kabel berwarna Merah
  2. GND (Ground) berwarna Hitam
  3. Pin 1 LDR masuk ke pin VCC dan Pin 2 LDR masuk ke A0 lalu masuk ke resistor lalu masuk ke GND
  4. Untuk LCD I2C pin SCL masuk ke A5 dan pin SDA masuk ke A4
Setelah selesai merangkai alat lalu selanjutnya memprogram Arduino Nano menggunakan software Arduino IDE, dapat didownload di https://www.arduino.cc/en/Main/Software
Setelah selesai menginstallkan Arduino IDE lalu buka dan ketikan program berikut ini:
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
int result [3];

#define I2C_ADDR    0x27
#define BACKLIGHT_PIN 3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

int sensorPin = A0;               //Sensor LDR
int sensorValue = 0;              //LDR Sensor Value
int led = 2;

void setup() {
  lcd.begin (16,2);
  // Switch on the backlight
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home ();
  lcd.clear();
  Serial.begin(9600);
  // put your setup code here, to run once:
  pinMode(led, OUTPUT);                 //Light
  dht.begin();
}

void loop() {
  lcd.clear();
  // put your main code here, to run repeatedly:
  sensorValue = analogRead(sensorPin);
  Serial.print(sensorValue);
  Serial.print("% \t");
if(sensorValue > 200){
  digitalWrite(led,LOW);
  lcd.setCursor(0,0);
  lcd.print(sensorValue);
  lcd.setCursor(3,0);
  lcd.print("%");
  lcd.setCursor(6,0);
  lcd.print("Sangat Cerah");
  Serial.println("Sangat Cerah");
  delay(3000);
  //lcd.clear();
}
else if (sensorValue > 105){
  Serial.println("Cerah");
  lcd.setCursor(0,0);
  lcd.print(sensorValue);
  lcd.setCursor(3,0);
  lcd.print("%");
  lcd.setCursor(6,0);
  lcd.print("Cerah");
  digitalWrite(led,LOW);
  delay(3000);
  //lcd.clear();
}
else if (sensorValue > 60){
  Serial.println("Cerah Berawan");
  lcd.setCursor(0,0);
  lcd.print(sensorValue);
  lcd.setCursor(3,0);
  lcd.print("%");
  lcd.setCursor(6,0);
  lcd.print("Cerah Berawan");
  digitalWrite(led,LOW);
  delay(3000);
  //lcd.clear();
}
else if (sensorValue > 15){
  Serial.println("Berawan");
  lcd.setCursor(0,0);
  lcd.print(sensorValue);
  lcd.setCursor(3,0);
  lcd.print("%");
  lcd.setCursor(6,0);
  lcd.print("Berawan");
  digitalWrite(led,HIGH);
  delay(3000);
  //lcd.clear();
}
else{
  Serial.println("Gelap");
  lcd.setCursor(0,0);
  lcd.print(sensorValue);
  lcd.setCursor(3,0);
  lcd.print("%");
  lcd.setCursor(6,0);
  lcd.print("Gelap");
  digitalWrite(led,HIGH);
  delay(3000);
  //lcd.clear();
}
. Cara kerja dari program tersebut adalah jika intensitas cahaya lebih dari 200 maka LCD akan menampilkan status 'Sangat Cerah', bila intensitas cahaya kurang dari 200 maka LCD akan menampilkan status 'Cerah', bila intensitas cahaya lebih dari 60 maka LCD akan menampilkan status 'Cerah Berawan', bila intensitas cahaya lebih dari 15 maka LCD akan menampilkan status 'Berawan' dan bila intensitas cahaya kurang dari 15 maka LCD akan menampilkan status 'Gelap'.

1 comment:

Komentar Diperlukan Untuk Bila Kurang Paham Atau Ingin Bertanya Seputar Artikel Yang Dibaca...