Disusun oleh:
Wildan Fahmi Nikmatullah 11-2020-012
Riksa Habibilah 11-2020-032
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
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.
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