Anda di halaman 1dari 15

LAPORAN AKHIR

PRAKTIKUM DCS PEMBANGKIT


PERANCANGAN SOLAR TRACKER BERBASIS ARDUINO SEBAGAI SISTEM
KONTROL PADA PEMBANGKIT LISTRIK TENAGA SURYA

(Diajukan untuk memenuhi tugas mata kuliah DCS Pembangkit)

Disusun oleh :
Dika Wahyu Muhammad R 191724004
Dini Nurwahyuni 191724005
Meilinda Estevani H 191724017
Rizky Agung Mardiansyah 191724030

Kelas 3C
Prodi D4 – Teknologi Pembangkit Tenaga Listrik

Dosen Pengampu :
Ir. Wahyu Budi Mursanto, M. Eng
Ir. Sri Paryanto Mursid, M.Sc

PROGRAM STUDI D4 TEKNOLOGI PEMBANGKIT TENAGA LISTRIK


JURUSAN TEKNIK KONVERSI ENERGI
POLITEKNIK NEGERI BANDUNG
2022
I. Tujuan Praktikum
1. Dapat membuat sistem control pada suatu pembangkit
2. Mempelajari cara kerja dari solar tracker sebagai sistem DCS pada PLTS
3. Mengetahui efektifitas penggunaan solar tracker pada PLTS
4. Mengetahui kelebihan dari proyek yang dikerjakan

II. Dasar Teori


Solar Tracker atau Pelacak Matahari adalah sebuah alat yang dapat mendeteksi arah
cahaya matahari dan mengubah posisi panel surya menjadi tegak lurus dengan arah datangnya
cahaya matahari sehingga diharapkan dengan alat ini dapat mengoptimalkan penyerapan
matahari oleh panel surya.
Solar tracker ini dirancang dengan sistem mekanik yang dapat menggerakan posisi
panel surya agar selalu mengikuti arah pergerakan matahari yang diberi nama solar tracking
system. Solar tracking system yang dibuat merupakan prototype. Sistem ini bekerja dengan
adanya 4 buah sensor peka cahaya (LDR) yang membaca pergerakan matahari yang
ditempatkan di beberapa sudut pada panel surya, lalu output LDR terhubung pada pin analog
arduino, arduino akan mengolah data dari sensor LDR sehingga motor akan menggerakan solar
cell ke arah horizontal atau ke arah vertical sesuai perintah sesuai perintah. Maka dari itu,
dengan dibuatnya solar tracker ini maka PV akan mendapatkan nilai effisiensi yang lebih tinggi
dari sebelumnya.
Solar Tracker dapat diklasifikasi menjadi dua tipe, yaitu tipe yang berdasarkan waktu
dimana lintasan matahari sudah dihitung sesuai waktunya sehinnga panel surya akan bergerak
sesuai waktu yang sudah ditentukan, dan yang kedua adalah tipe yang dimana panel surya akan
bereaksi secara langsung terhadap cahaya matahari. Solar Tracker memiliki dua jenis sistem
pelacakan, yaitu satu sumbu (Single Axis) dan dua sumbu (Dual Axis). Dalam perancangan ini
menggunakan solar tracker yang langsung bereaksi terhadap cahaya matahari dengan dual axis.

Gambar 1. Solar Tracking


Solar tracker dua sumbu adalah sistem pelacakan yang dapat melacak arah cahaya
matahari dan menggerakkan posisi panel surya dengan dua sumbu putaran, yaitu secara vertikal
dan horizontal. Sistem Solar tracker dua sumbu terdiri dari empat sensor cahaya yang
diletakkan pada bagian timur, barat, selatan dan utara dan dua motor sebagai penggerak yang
dipasang setiap sumbu. Dimana sensor cahaya tersebut diatur dengan cara sensor_cahaya1 dan
sensor_cahaya2 sebagai pelacak intensitas cahaya matahari bagian horizontal (utara-selatan dan
sebaliknya) sedangkan sensor_cahaya3 dan sensor_cahaya4 melacak intensitas cahaya
matahari bagian vertikal (timur-barat dan sebaliknya). Ketika salah satu sensor menerima
intensitas cahaya matahari yang lebih besar dari sensor lainnya, maka panel surya tidak tegak
lurus terhadap cahaya matahari sehingga pengendali akan menentukan motor mana yang harus
digerakkan dari dua motor yang ada. Dan ketika empat sensor cahaya menerima intensitas
cahaya matahari yang sama, itu menandakan bahwa panel surya sudah tegak lurus dengan
cahaya matahari. Pergerakan motor servo mengikuti arah resistansi rata-rata yang lebih kecil
dari sensor LDR yang dipasang, karena sesuai dengan karakteristik LDR dimana nilai
resistansinya semakin kecil bila intensitas cahaya yang meneranginya lebih besar. Sehingga
dengan memanfaatkan karakteristik LDR ini diharapkan alat tracking yang dibuat dapat
mengikuti arah cahaya matahari dalam satu hari.

Gambar 2. Sistem Solar Tracker Dual Axis


A. Arduino UNO
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki
14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai
output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power,
ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat
digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan
menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai
untuk menjalankannya.
Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output,
menggunakan fungsi pinMode(), digitalwrite(), dan digitalRead(). Fungsi fungsi
tersebut beroperasi di tegangan 5 volt, Setiap pin dapat memberikan atau menerima
suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara
default) 20-50 kOhm.
Gambar 3. Arduino Uno

B. Light Dependent Resistor (LDR)


Light Dependent Resistor atau disingkat dengan LDR adalah jenis Resistor
yang nilai hambatan atau nilai resistansinya tergantung pada intensitas cahaya yang
diterimanya. Nilai Hambatan LDR akan menurun pada saat cahaya terang dan nilai
Hambatannya akan menjadi tinggi jika dalam kondisi gelap. Dengan kata lain, fungsi
LDR (Light Dependent Resistor) adalah untuk menghantarkan arus listrik jika
menerima sejumlah intensitas cahaya (Kondisi Terang) dan menghambat arus listrik
dalam kondisi gelap.
Naik turunnya nilai Hambatan akan sebanding dengan jumlah cahaya yang
diterimanya. Pada umumnya, Nilai Hambatan LDR akan mencapai 200 Kilo Ohm (kΩ)
pada kondisi gelap dan menurun menjadi 500 Ohm (Ω) pada Kondisi Cahaya Terang.

Gambar 4. Light Dependent Resistor


C. Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang
dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau
di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor
servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian
kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan
memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan
potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai
penentu batas posisi putaran poros motor servo.

Gambar 5. Motor Servo


D. Sensor max 44009
Sensor ini merupakan sensor cahaya ruangan (ambient lisght sensor) yang
memiliki output I2C dengan konsumsi arus yang sangat kecil (1< μA). Sensor
ini memiliki rentang dinamus 22 – bit dengan rentang pengukuran 0.045 lux
hingga 188000 lux.

Gambar 6. Sensor max 44009


III. Alat dan Bahan
Alat Kontrol Solar Tracker (Arduino 1) :
1) Motor Servo 2 buah
2) Light Dependent Resistor 4 buah
3) Circuit Board dot Matrix 57 cm 1 buah
4) Baterai 9V 2 buah
5) Step down dc-dc converter 2 buah
6) Arduino
7) Liquid Cristal Displays (LCD) 16  2 (Tanpa I2C) 1 buah
8) Kabel penghubung male to male dan male to female
9) Resistor 220 Ohm 4 buah
Bahan untuk kerangka control :
1) Kayu
2) Karton Daluang
3) Lem
4) Paku
5) Kayu/sedotan
Alat tambahan :
1) Gunting
2) Gergaji
3) Selotip Hitam/cable tie
4) Solder
5) Lem tembak

Alat control luxmeter (Arduino 2)


1) Arduino
2) Liquid Cristal Displays (LCD) 16  2 (dengan I2C)
3) Sensor max 44009

IV. Prosedur Pengujian


A. Pengujian Ruang Tertutup
1) Persiapkan rangkaian control yang sudah di program (program terupload)

Gambar 7. Rangkaian Solar Tracker


Gambar 8. Rangkaian Luxmeter

2) Tempatkan rangkaian control pada ruangan gelap


3) Sorot rangkaian LDR menggunakan senter dengan arah tertentu
4) Catat data resistansi tiap LDR dan arah pergerakan servo untuk tiap nilai
intensitas cahaya
5) Buat data pengamatan

B. Pengujian Ruang Terbuka


1) Tempatkan dua buah solar panel dengan kapasitas 6V 1.2 W 200mA di tempat
yang berdekatan (ruang terbuka). Untuk solar panel pertama menggunakan alat
control Solar Tracker dan satu panel surya lainnya diletakkan tanpa
menggunakan alat traking.
2) Lakukan pengamatan selama sehari penuh dan ukur nilai arus dan tegangan
untuk setiap output solar panel yang terhubung ke resistor 220 Ohm.
3) Catat nilai arus, tegangan dan daya output panel surya, lakukan perbandingan
dari dua buah solar panel tersebut.
4) Buatlah grafik daya untuk dapat membandingkan kinerja solar tracker.

C. Perancangan Solar Tracker


1) Potong-potong duplex dengan berbagai ukuran.
2) Satukan potongan duplex-duplex tersebut menjadi bentuk dari prototype.
3) Pasang komponen-komponen pada rangka prototype.
V. Data Pengujian
1) Data Pengujian Tempat Tertutup

Data Pengujian Ruang Tertutup


Intensita
Nilai Resistansi Rata-Rata Servo 1 Servo 2
s Resistansi
LDR LDR
LDR LDR
Cahaya LDR LDR LDR LDR top, bottom,rig
left, right top,left
top bottom left Right bottom ht
(kOhm (kOhm (kOhm (kOhm (kOhm (kOhm (kOhm (kOhm up/dow left/righ
(Lux) ) ) ) ) ) ) ) ) n t
0 15 15 15 15 15 15 15 15 diam diam
20 2.081 2.090 2.145 2.179 2.086 2.162 2.113 2.135 up diam
35 1.669 1.715 1.760 1.776 1.692 1.768 1.715 1.746 up diam
50 1.512 1.460 1.489 1.493 1.486 1.491 1.501 1.477 up right
75 1.230 1.202 1.235 1.226 1.216 1.231 1.233 1.214 diam diam
100 1.059 1.045 1.054 1.052 1.052 1.053 1.057 1.049 diam right
120 0.953 0.967 0.965 0.958 0.960 0.962 0.959 0.963 diam diam
160 0.749 0.273 0.180 0.748 0.511 0.464 0.465 0.511 down left
180 0.654 0.323 0.649 0.32 0.4885 0.4845 0.6515 0.3215 diam right
200 0.598 0.221 0.212 0.56 0.4095 0.386 0.405 0.3905 down right
220 0.557 0.53 0.243 0.52 0.5435 0.3815 0.4 0.525 down left
240 0.452 0.449 0.45 0.21 0.4505 0.33 0.451 0.3295 down right
260 0.201 0.45 0.49 0.208 0.3255 0.349 0.3455 0.329 up right
280 0.351 0.352 0.348 0.346 0.3515 0.347 0.3495 0.349 diam diam
300 0.299 0.33 0.289 0.46 0.3145 0.3745 0.294 0.395 up left

2) Data Pengujian Tempat Terbuka

Data Pengujian Ruang Terbuka


Tanpa menggunakan solar tracker Menggunakan dual axis solar tracker
Jam Tegangan Arus Daya Tegangan Arus Daya
(Volt) (Ampere) (Watt) (Volt) (Ampere) (Watt)
7:00 2 0.09 0.18 3.3 0.11 0.363
8:00 2.5 0.1 0.25 4 0.13 0.52
9:00 2.7 0.1 0.27 4.4 0.14 0.616
10:00 3 0.11 0.33 5 0.15 0.75
11:00 3.2 0.11 0.352 5.8 0.18 1.044
12:00 5.5 0.17 0.935 6 0.2 1.2
13:00 4.4 0.14 0.616 6 0.2 1.2
14:00 4.2 0.13 0.546 5.3 0.17 0.901
15:00 3.9 0.12 0.468 4.7 0.16 0.752
16:00 3.6 0.12 0.432 4.5 0.14 0.63
17:00 3.2 0.11 0.352 4.5 0.14 0.63
Grafik Pengujian Solar Tracker
1.4
1.2

Daya Output (Watt)


1
0.8
0.6
0.4
0.2
0
7 9 11 13 15 17 19
Jam

Tanpa Solar Tracker Menggunakan Solar Tracker

VI. Analisis
Pada Laporan Praktikum DCS Pembangkit kali ini kelompok kami membuat
prototype untuk perancangan solar tracker. Solar tracker merupakan sebuah alat yang
dimana dapat mendeteksi arah cahaya matahari dan menggerakkan panel surya hingga
posisinya tegak lurus dengan cahaya matahari. Dirancangnya solar tracker ini yaitu
agar panel surya mendapatkan intensitas cahaya yang maksimal sehingga memiliki
effisiensi yang tinggi.

Pada perancangan solar tracker yang kami buat menggunakan Arduino Uno
sebagai komponen pusat kontrol agar seluruh komponen solar tracker dapat beroperasi
dengan code-code yang terdapat didalamnya. Untuk menggerakan panel surya
dibutuhkan actuator yaitu motor servo yang dapat bergerak secara veritkal maupun
horizontal sesuai dengan intensitas cahaya matahari yang didapat dari input komponen
LDR yang berupa intensitas cahaya matahari.

LDR merupakan Light Dependent Resistor yang dapat mendeteksi cahaya


matahari. Ketika LDR mendapatkan intensitas cahaya matahari maka nilai resistansi
LDR akan berkurang saat nilai intensitas cahaya matahari yang besar. Maka Komponen
LDR ini dipasang pada setiap sisi dari Panel surya untuk mendeteksi arah cahaya
mataharinya. Ketika salah satu LDR memiliki resistansi yang rendah maka panel surya
akan bergerak yang digerakan oleh motor servo untuk mengarahkannya ke LDR yang
memiliki resistansi rendah. Karena LDR yang memiliki resistansi rendah ini
mempunyai arah intensitas cahaya matahari yang tinggi.

Sebelum dibuatnya perancangan solar tracker ini, maka dilakukannya


pengujian pada LDR tersebut. Dilakukannya pengujian ini untuk menguji apakah LDR
tersebut bekerja sesuai fungsinya atau tidak berkerja sesuai fungsinya. Pengujian
tersebut dilakukan di tempat terbuka dan tempat tertutup. Pada tempat tertutup
dilakukan beberapa kondisi cahaya lampu dimulai dari cahaya lampu yang gelap hingga
cahaya lampu yang terang. Dari data yang didapatkan terlihat jika semakin besar atau
semakin terang cahaya lampu maka semakin kecil nilai resistansi LDR yang
didapatkan. Pada tempat terbuka dilakukan pengujian dari berbagai kondisi matahari.
Pada siang hari daya yang didapatkan meningkat tetapi ketika menjelang sore hari maka
daya yang didapatkan menurun. Setelah dilakukan pengujian pada setiap LDR, maka
diketahui LDR yang digunakan sudah bekerja sesuai fungsinya.

Selajutnya dilakukan perancangan prototype solar tracker yang menggunakan


komponen-komponen sederhana. Setelah semuanya terancang dan code sudah
dimasukan ke Arduino maka prototype solar tracker sudah terancang. Sehingga
dilakukan pengujian apakah prototype itu dapat beroperasi apa tidak. Dari pengujian
tersebut prototype solar tracker sudah dapat beroperasi dengan baik, dimana LDR
sudah dapat melacak arah dari cahaya matahari.

Setelah merancang, maka solar tracker ini dilakukan pengujian untuk melihat
efektifitas penggunaan control ini pada PLTS. Untuk pengujian awal, dilakukan di
dalam ruangan dengan menyorot sensor dengan cahaya dari arah tertentu dan mengukur
nilai resistansi dan intensitasnya. Dari data yang diperoleh, dengan menyorot dari arah
tertentu maka resistansi LDR yang dekat dengan cahaya nilainya lebih kecil. Ketika
nilai resistansi rata rata LDR top, bottom lebih kecil dibanding dengan rata – rata resistansi LDR
maka motor servo vertical akan bergerak ke bawah. Begitu pula bila nilai resistansi tara-
left, right
rata yang lebih kecil sebaliknya maka motor servo vertical akan menggerakkan panel ke atas.
Lalu, jika rata-rata resistansi LDR top,left lebih kecil dibanding dengan rata-rata resistansi LDR
bottom,right maka motor servo horizontal akan menggerakkan panel surya ke kiri. Bila nilai
resistansi yang lebih kecil sebaliknya, maka motor servo bergerak ke kanan. Jika seluruh
resistansi LDR bernilai sama maka motor servo akan diam dengan menganggap bahwa cahaya
telah tegak lurus dengan seluruh permukaan LDR.

Dari tabel percobaan di ruangan tertutup diperoleh data yang sesuai dengan prinsip
kerja yang diharapkan, dimana dengan mendatangkan cahaya dari arah tertentu maka servo
menggerakkan panel surya menuju arah cahaya hingga posisinya tegak lurus. Maka dengan itu,
dilakukan pembuktian dengan menguji solar tracker di tempat terbuka dan solar panel 6V 1.2
W 200mA yang terpasang di dua kondisi. Kondisi pertama yaitu panel diam tanpa
penggerak, sedangkan panel lainnya menggunakan solar tracker. Diperoleh data untuk
tiap jam dihasilkan nilai output tegangan dan arus lebih tinggi pada panel yang
menggunakan solar tracker. Sehingga daya output solar panel lebih optimal (hingga
daya maksimumnya) dibandingkan solar panel yang ditempatkan secara statis. Maka
dari kedua percobaan ini dapat dianalisis bahwa solar tracker ini bergerak mengikuti
pergerakan cahaya makahari dan mampu membuat daya output lebih tinggi
dibandingkan solar panel yang diam. Ini terlihat pada grafik bahwa dengan
menggunakan solar tracker diperoleh output daya yang lebih tinggi sepanjang adanya
matahari.

Keunggulan dari solar tracker berbasis Arduino ini yaitu dengan biaya pembuatan yang
relative murah maka dengan alat ini kita bisa memaksimalkan konversi energi surya ke
energi listrik dengan intensitas cahaya yang ada. Selain itu, dengan komponen yang
berdaya listrik rendah maka untuk menyuplai control tidak perlu menggunakan daya
yang banyak sehingga daya pemakaian sendiri pada PLTS relative rendah. Di sisi lain
juga dengan komponen yang kecil ini membuat solar tracker mudah diaplikasikan pada
PLTS. Kekurangannya yaitu daya tahan komponen yang rentan rusak terhadap air
sehingga untuk solar tracker ini harus sebisa mungkin dilindungi dari air.

VII. Kesimpulan
1. Solar tracker dibuat agar panel surya dapat mendapatkan intensitas cahaya matahari
yang maksimal, sehingga panel surya mendapatkan effisiensi yang tinggi.
2. LDR berfungsi untuk melacak arah cahaya matahari.
3. Prototype solar tracker digunakan untuk mempermudah pembuatan asli dari
perancangan solar tracker.
4. Dari solar tracker yang diuji, diperoleh bahwa solar tracker ini mampu mengikuti
cahaya dengan baik. Pada percobaan di luar ruangan, diperoleh bahwa daya output
solar panel yang dihasilkan jauh lebih baik dibandingkan dengan solar panel yang
tidak menggunakan tracking system.

VIII. Daftar Pustaka


Author. 2021. “Memanfaatkan Teknologi Solar Tracker untuk Pemasangan Panel
Surya”. Diakses pada tanggal 29 Maret 2022. Melalui Kumparan :
https://www.sanspower.com/solar-tracker-manfaatkan-teknologi-pemasangan-
panel-surya.html
Author. 2020. “Pengertian Motor Servo”. Diakses pada tanggal 29 Maret 2022. Melalui
Kumparan : https://sinaupedia.com/pengertian-motor-
servo/#1_Positional_rotation
Dermanto, Trikueni. 2014. “ Pengertian Motor Servo”. Diakses pada tanggal 2 April
2022. Melalui Kumparan : http://trikueni-desain-
sistem.blogspot.com/2014/03/Pengertian-Motor-Servo.html
Author. “BAB II Dasar Teori”. Diakses pada tanggal 2 April 2022. Melalui Kumparan
: https://eprints.utdi.ac.id/4940/3/3_143310018_BAB_II.pdf
Kho, Dickson. 2020. “Pengertian LDR (Light Dependent Resistor) dan Cara
Mengukurnya”. Diakses pada tanggal 2 April 2022. Melalui Kumparan :
https://teknikelektronika.com/pengertian-ldr-light-dependent-resistor-cara-
mengukur-ldr/
Kurniawan, Septian Ari dan Mohammad Taufik. 2021. “Rancang Bangun Solar
Tracker Sumbu Tunggal Berbasis Motor Stepper dan Real Time Clock”.
Diakses pada tanggal 2 April 2022. Melalui Kumparan :
https://ejournal.gunadarma.ac.id/index.php/tekno/article/view/3685/2205
Taryana, Kodrat Wirawan Fausi, Teguh Arfianto, dan Nandang. 2018. “Perancangan
dan Realisasi Solat Tracking System untuk Peningkatan Effisiensi Panel Surya
Menggunakan Arduino Uno”. Diakses pada tanggal 2 April 2022. Melalui
Kumparan :
http://telka.ee.uinsgd.ac.id/index.php/TELKA/article/view/v4n1y18p7

IX. Program Arduino


1) Arduino 1 (Solar Tracker)
#include <LiquidCrystal.h>
#include <Servo.h>

void UpDown();
void LeftRight();
Servo servo1;
Servo servo2;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {

lcd.begin(16,2);
lcd.print("servo1 ");
lcd.setCursor(0,1);
lcd.print("servo2 ");
servo1.attach(9);
servo2.attach(10);

servo1.write(90);
servo2.write(90);
}

void loop(){

int sensorTop = analogRead(A0);


int sensorBottom = analogRead(A1);
int sensorLeft = analogRead(A3);
int sensorRight = analogRead(A4);

int avgT=(sensorTop+sensorBottom)/2;
int avgB=(sensorLeft+sensorRight)/2;
int avgL=(sensorTop+sensorLeft)/2;
int avgR=(sensorBottom+sensorRight)/2;

if (avgT > avgB)


{
UpDown(sensorTop, sensorBottom);
}
if(avgT < avgB)
{
UpDown(sensorTop, sensorBottom);
}
if(avgL > avgR)
{
LeftRight(sensorLeft, sensorRight);
}
if(avgL < avgR)
{
LeftRight(sensorLeft, sensorRight);
}
delay(10);
}
void UpDown(int avgT, int avgB){
int pos1= servo1.read();

if(avgT < avgB){


pos1 = --pos1;
}
else
{
pos1 = ++pos1;
}
servo1.write(pos1);
lcd.setCursor(12,0);
lcd.print(pos1);
}
void LeftRight(int avgL, int avgR){
int pos2= servo2.read();
if(avgL < avgR)
{
pos2 = --pos2;
}
else
{
pos2 = pos2 + 1;
}
servo2.write(pos2);
lcd.setCursor(12,1);
lcd.print(pos2);
}

2) Arduino 2 (Luxmeter)
#include <Wire.h> // Memanggil library Wire
#include <Max44009.h> // Memanggil library MAX44009
#include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan modul I2C

Max44009 cahaya(0x4A); //Membuat variabel untuk MAX44009


LiquidCrystal_I2C lcd(0x27, 16, 4); // Mengatur alamat LCD dan dimensi LCD, yaitu
16 kolom dan 2 baris
String hasilCahaya; // Variabel untuk menyimpan hasil pengukuran yang memiliki
satuan unit cahaya lux (lx)
uint32_t lastDisplay = 0; // Membuat variabel unsigned integer 32 bit

void setup() {
Serial.begin(9600); //Menginisiasikan setup kecepatan komunikasi
Wire.begin(); // Menginisiasi Wire
Wire.setClock(100000); // Menginisiasikan frequency clock komunikasi I2C dalam
satuan Hertz
lcd.init();
lcd.backlight(); // Menghidupkan backlight
lcd.setCursor(3, 0); // Menempatkan posisi cursor pada baris 0 dan kolom 0
lcd.print("INTENSITAS"); // Menulis konten
lcd.setCursor(5, 1); // Menempatkan posisi cursor pada baris 1 dan kolom 0
lcd.print("CAHAYA"); // Menulis konten

delay(4000); // jeda 4 detik


lcd.clear();

void loop()
{
uint32_t interval = 1000; // Membuat variabel unsigned integer 32 bit
if (millis() - lastDisplay >= interval)
{
lastDisplay += interval;
float ukurCahaya = cahaya.getLux(); // Mendapatkan hasil pengukuran dari sensor
int err = cahaya.getError(); // Mendapatkan status error dalam pengukuran
intensitas cahaya
if (err != 0)
{
Serial.print("Error:\t"); // Menampilkan konten melalui serial monitor
Serial.println(err); // Menampilkan pesan error apabila pengukuran gagal
dilakukan
hasilCahaya = "Error " + String(err);
}
else
{
Serial.print("Cahaya:\t"); // Menampilkan konten melalui serial monitor
Serial.print(ukurCahaya); // Menampilkan konten hasil pengukuran melalui serial
monitor
Serial.println(" lx"); // Menampilkan satuan unit hasil pengukuran
hasilCahaya = String(ukurCahaya) + " lx"; // Menempatkan hasil pengukuran
pada variabel
}

lcd.setCursor(3, 0); // Menempatkan posisi cursor pada baris 0 dan kolom 0


lcd.print("MONITORING"); // Menulis konten pada LCD
lcd.setCursor(0, 1); // Menempatkan posisi cursor pada baris 0 dan kolom 0
lcd.print("RESULT: "); // Menulis konten pada LCD
lcd.setCursor(7, 1); // Menempatkan posisi cursor pada baris 1 dan kolom 0
lcd.print(hasilCahaya); // Menulis konten hasil pengukuran pada LCD
delay(1000);
lcd.clear(); // Menghapus konten LCD
}
}

I. Lampiran

Anda mungkin juga menyukai