Anda di halaman 1dari 10

SIMULASI LIGHT SENSOR MENGGUNAKAN TSL251RD

LAPORAN SISTEM INTRUMENTASI CERDAS

Diajukan untuk memenuhi persyaratan akademis dalam menempuh ProgramStrata


Satu Jurusan Teknik Elektro Institut Teknologi Nasional Bandung

Disusun oleh:
Wildan Fahmi Nikmatullah 11-2020-012
Riksa Habibilah 11-2020-032

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNOLOGI
INDUSTRI INSTITUT TEKNOLOGI
NASIONAL BANDUNG
2023
1. Judul
Simulasi Light Sensor Menggunakan Tsl251rd
2. Abstrak
Light sensor merupakan perangkat elektronik yang penting dalam mengukur
intensitas cahaya di sekitarnya. Proteus, sebuah perangkat lunak simulasi elektronik,
memberikan solusi yang kuat dalam merancang dan mensimulasikan sirkuit elektronik
sebelum diimplementasikan secara fisik. Salah satu sensor yang dapat disimulasikan
dalam Proteus adalah Sensor TSL251RD, sebuah sensor intensitas cahaya digital yang
menggunakan teknologi foto-reseptor untuk mengukur intensitas cahaya dan
menghasilkan sinyal digital. Dengan menggunakan Proteus, pengguna dapat
mensimulasikan penggunaan Sensor TSL251RD dalam berbagai aplikasi elektronik,
sehingga memungkinkan desainer dan pengembang untuk memvalidasi dan menguji
kinerja sirkuit yang menggunakan sensor ini sebelum diimplementasikan secara fisik.
3. Pendahuluan
Sensor cahaya atau light sensor adalah sensor yang mampu mendeteksi
keberadaan cahaya. Untuk satuannya adalah lux atau flux.Sensor cahaya sudah banyak
ditanamkan dalam smartphone. Biasanya fungsi dari sensor ini untuk autobrightness,
ketika kamu berada di ruangan yang terang maka kecerahan smartphone otomatis akan
meningkat begitu juga ketika kamu masuk dalam suatu ruangan yang gelap maka
kecerahan layar akan menurun.
Fungsi ini bermanfaat sekali untuk kenyamanan mata kita, karena kalau kita setting
manual kecerahan layar maka akan sedikit merepotkan. misalkan kita setting low brightness
mungkin ketika dalam ruangan kita tidak akan menemukan masalah. namun ketika kita keluar
ruangan dengan tingkat cahaya matahari yang tinggi maka layar akan terlihat gelap dan kita akan
kesulitan dalam melihat layar
fungsi lain dari sensor ini adalah untuk menghemat daya. pada saat auto brightness layar
akan menyesuaikan tingkat kecerahannya. ketika pada saat high brightness konsumsi daya akan
meningkat dan begitu juga sebaliknya kunsumsi daya akan menurun pada saat low brightness.
jadi ini akan menghemat daya.
a. Cara kerja sensor
Sensor TSL251RD adalah sensor intensitas cahaya digital yang menggunakan
teknologi foto-reseptor untuk mengukur intensitas cahaya di sekitarnya. Berikut
adalah cara kerja sensor TSL251RD secara umum:
 Prinsip Fotoresistif: Sensor TSL251RD menggunakan prinsip kerja fotoresistif,
di mana perubahan resistansi material semikonduktor terjadi akibat interaksi
cahaya. Sensor ini menggunakan fotodioda yang sensitif terhadap cahaya untuk
mengubah cahaya menjadi sinyal listrik.
 Fotodioda: Sensor TSL251RD dilengkapi dengan fotodioda yang terdiri dari
material semikonduktor sensitif terhadap cahaya. Ketika cahaya jatuh pada
fotodioda, energi cahaya akan mempengaruhi jumlah muatan listrik yang
dihasilkan oleh material semikonduktor, mengubah resistansi fotodioda.
 Konversi Cahaya ke Sinyal Listrik: Ketika cahaya mengenai fotodioda,
fotodioda menghasilkan arus listrik yang sebanding dengan intensitas cahaya
yang terdeteksi. Arus ini kemudian dikonversi menjadi sinyal listrik yang dapat
diukur atau diolah lebih lanjut.
 Pendeteksian Intensitas Cahaya: Sensor TSL251RD memiliki elemen
pendeteksi yang peka terhadap perubahan arus listrik yang dihasilkan oleh
fotodioda. Sensor ini mengukur perubahan arus listrik tersebut dan
mengonversinya menjadi sinyal digital yang merepresentasikan intensitas
cahaya yang terdeteksi.
 Komunikasi Digital: Sensor TSL251RD mengirimkan sinyal digital yang
sesuai dengan intensitas cahaya yang terdeteksi melalui antarmuka komunikasi
seperti I2C (Inter-Integrated Circuit) atau SPI (Serial Peripheral Interface).
Sinyal ini dapat dibaca oleh mikrokontroler atau sistem elektronik lainnya
untuk diolah atau digunakan dalam aplikasi tertentu.
b. Hubungan Output terhadap input
Hubungan antara output dan input pada Sensor TSL251RD dapat dijelaskan sebagai
berikut:
 Input: Intensitas Cahaya
Sensor TSL251RD menerima input berupa intensitas cahaya di sekitarnya.
Intensitas cahaya ini dapat bervariasi dari lingkungan yang gelap hingga
lingkungan yang terang. Semakin tinggi intensitas cahaya yang diterima
oleh sensor, semakin besar juga input yang diberikan.
 Output: Sinyal Digital
Sensor TSL251RD menghasilkan output berupa sinyal digital yang
merepresentasikan intensitas cahaya yang terdeteksi. Output ini biasanya
berupa angka digital yang berkorelasi dengan tingkat intensitas cahaya yang
diukur oleh sensor.
Hubungan antara input dan output pada Sensor TSL251RD tidak bersifat linier.
Artinya, perubahan input (intensitas cahaya) tidak akan menghasilkan perubahan
output yang proporsional. Sebaliknya, respons sensor terhadap perubahan input
cenderung tidak linier, tergantung pada karakteristik sensitivitas dan kalibrasi
sensor tersebut.
Untuk menghubungkan secara lebih spesifik antara input intensitas cahaya dan
output sinyal digital, biasanya terdapat kurva respons atau tabel kalibrasi yang
diberikan oleh produsen sensor. Kurva respons ini menggambarkan bagaimana
output sensor berkaitan dengan tingkat intensitas cahaya yang berbeda.
Dengan menggunakan kurva respons atau tabel kalibrasi tersebut, pengguna dapat
menginterpretasikan nilai output yang diperoleh dari sensor TSL251RD dan
menghubungkannya dengan intensitas cahaya yang sesuai. Dengan demikian, dapat
diestimasikan intensitas cahaya di sekitar sensor berdasarkan nilai output yang
didapatkan.
4. Implementasi Sistem
a. Rangkaian system Arduino dengan sensor dan LCD.

b. Source code dan simulasi.


#include "LiquidCrystal.h"

const int voltageSensor = A0;

float vOUT = 0.0;


float vIN = 0.0;
float R1 = 30000.0;
float R2 = 7500.0;
int value = 0;

LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7

void setup()
{
//Serial.begin(9600);
lcd.begin(16,2);
lcd.print(" Wildan & Riksa ");
delay(2000);
}

void loop()
{
value = analogRead(voltageSensor);
vOUT = (value * 5.0) / 1024.0;
vIN = vOUT / (R2/(R1+R2));
//Serial.print("Input;
//Serial.println(vIN);
lcd.setCursor(0,0);
lcd.print("Output = ");
lcd.setCursor(9,0);
lcd.print(vIN);
delay(500);
}
Program di atas adalah contoh program Arduino yang menggunakan library
LiquidCrystal untuk mengontrol sebuah LCD 16x2. Program ini membaca nilai
tegangan dari sensor yang terhubung ke pin analog A0 dan menampilkan nilai
tersebut pada LCD.
Berikut adalah penjelasan lebih detail mengenai program ini:
#include "LiquidCrystal.h"
 Baris ini menyertakan library LiquidCrystal yang diperlukan
untuk mengontrol LCD.
const int voltageSensor = A0;
 Konstanta voltageSensor mendefinisikan pin yang digunakan
untuk membaca nilai tegangan dari sensor. Pada program ini, pin
A0 digunakan sebagai input analog.
float vOUT = 0.0;
 Variabel vOUT digunakan untuk menyimpan nilai tegangan
yang akan dihitung berdasarkan pembacaan analog.
float vIN = 0.0;
 Variabel vIN digunakan untuk menyimpan nilai tegangan yang
telah dihitung berdasarkan perhitungan menggunakan rumus
tegangan divider resistansi.
float R1 = 30000.0;
 Variabel R1 digunakan untuk menyimpan nilai resistansi R1
pada rumus tegangan divider resistansi.
float R2 = 7500.0;
 Variabel R2 digunakan untuk menyimpan nilai resistansi R2
pada rumus tegangan divider resistansi.
int value = 0;
 Variabel value digunakan untuk menyimpan nilai yang dibaca
dari pin analog menggunakan fungsi analogRead().
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7
 Membuat objek lcd dari kelas LiquidCrystal dengan
menginisialisasi pin RS, E, dan pin-penampil data D4, D5, D6, dan
D7 pada LCD.
void setup()
 Fungsi setup() yang akan dijalankan saat Arduino pertama
kali dinyalakan.
 Pada program ini, fungsi ini melakukan inisialisasi LCD
dengan mengatur jumlah kolom dan baris pada LCD
menggunakan lcd.begin(16,2).
 Selanjutnya, menampilkan teks "Wildan & Riksa" pada LCD
menggunakan lcd.print(" Wildan & Riksa ").
 Terdapat juga perintah delay(2000) yang memberikan jeda 2
detik sebelum program berlanjut ke fungsi loop().
void loop()
 Fungsi loop() yang berjalan secara berulang setelah fungsi
setup() selesai.
 Pada program ini, fungsi ini membaca nilai tegangan dari
sensor menggunakan analogRead(voltageSensor) dan
menyimpannya dalam variabel value.
 Kemudian, nilai tegangan dihitung menggunakan rumus (value
* 5.0) / 1024.0 dan disimpan dalam variabel vOUT.
 Nilai tegangan yang telah dihitung tersebut kemudian dihitung lagi
menggunakan rumus tegangan divider resistansi (R2/(R1+R2))
dan disimpan dalam variabel vOUT.
 Nilai vOUT kemudian ditampilkan pada LCD

5. Pengukuran dan pengolahan data.


a. Pengambilan data sensor (input, output) sebanyak 20 data
output
Input
lcd
x y
0 0
5 0,39
10 0,76
15 1,15
20 1,51
25 1,9
30 2,27
35 2,64
40 3,03
45 3,39
50 3,78
55 4,15
60 4,54
65 4,91
70 5,3
75 5,66
80 6,03
85 6,42
90 6,79
95 7,18
100 7,54
105 7,93
110 9,3
115 8,69
120 9,06
125 9,45
130 9,81
135 10,18
140 10,57
145 10,94
150 11,33
155 11,69
160 12,08
165 12,45
170 12,84
175 13,21
180 13,57
185 13,96
190 14,33
195 14,72
200 15,09

b. Mengolah data menjadi grafik dan mendapatkan persamaannya. Pers dicari dengan
menggunakan fungsi trendline pada apk excel.
6. Buat kesimpulan dari dari hasil pengukuran dan pengolahan data di atas.
Dari percobaan yang kami lakukan ketika input dinaikan maka ouput nya akan terlihat
atau terbaca pada lcd, setiap input yang dinaikan hasil output semakin naik. Terlihat pada
percobaan grafik dengan menggunakan aplikasi Excel bahwa hasil dari pengambilan data
sensor semakin naik.

7. Daftar Pustaka (wajib)

https://www.circuitschools.com/arduino-voltage-sensor-which-measures-up-to-25v-dc/
https://www.alldatasheet.com/view.jsp?Searchword=Tsl251rd&gclid=Cj0KCQjwj_ajBhCqARIsAA37s0
yuaBI7LOz_DhKpzEIWlgvvA6ZqJa9FBdsxWGSFNg6dYKzp_kDDtdUaAhi5EALw_wcB

Anda mungkin juga menyukai