MODUL 2
LAPORAN AKHIR 2
Jika
suhu yang terukur lebih atau sama dengan 30, maka disebut kondisi panas. Jika
tidak disebut kondisi aman. |
a. Arduino beserta kabel USB dan aplikasi Arduino IDE
Gambar 1. Arduino dan kabel USB |
b. Breadboard
Gambar 2. Breadboard |
c. Jumper Wire
Gambar 3. Jumper Wire |
d. LCD 16x2
Gambar 4. LCD 16x2 |
e. LM35 (Sensor Suhu)
Gambar 5. LM35 |
Rangkaian pada percobaan 2 terdiri dari Arduino UNO, LCD 16x2, LM35, breadboard, dan jumper wire.
- LM35 (Sensor Suhu) mempunyai 3 pin: pin VCC dihubungkan ke VCC pada breadboard, pin Output dihubungkan ke pin A0, dan pin GND dihubungkan ke GND pada breadboard.
- LCD 16x2 mempunyai 16 pin, yang digunakan pada rangkaian hanya 12 pin: pin VSS, pin V0 atau VEE, pin RW (Read/Write), pin K (Katoda) dihubungkan ke GND pada breadboard, pin VDD, pin A (Anoda) dihubungkan ke VCC pada breadboard, pin RS (Register Select) dihubungkan ke pin 2 pada Arduino, pin E (Enable) dihubungkan ke pin 3 pada Arduino, dan pin D4, D5, D6, D7 dihubungkan ke pin 4, 5, 6, 7 pada Arduino.
- Kemudian VCC pada breadboard dihubungkan ke VCC pada Arduino, dan GND pada breadboard dihubungkan ke GND pada Arduino.
- Kabel USB dihubungkan ke laptop.
Kemudian kita program Arduino melalui aplikasi Arduino UNO:
Gambar 7. Listing Program |
- #include <LiquidCrystal.h> menunjukkan penambahan library LCD.
- #define LM35 A0 menunjukkan pendeklarasian pin A0 untuk LM35.
- LiquidCrystal lcd(2, 3, 4, 5, 6 ,7); menunjukkan pendeklarasian pin 2, 3, 4, 5, 6, dan 7 untuk LCD.
- int nilaiSuhu; menunjukkan pendeklarasian nilaiSuhu dengan tipe data integer.
- void setup () menunjukkan kode dalam fungsi ini hanya dibaca satu kali.- pinMode(A0, INPUT); menunjukkan A0 sebagai input.- lcd.begin(16,2); menunjukkan LCD yang digunakan berukuran 16x2.
- void loop () menunjukkan semua kode dalam fungsi ini akan dibaca berulang. - nilaiSuhu=((5*analogRead(LM35)*100.00)/1024); menunjukkan rumus untuk mencari nilai suhu.- lcd.clear(); menunjukkan layar LCD dihapus.- lcd.setCursor(0,0); menunjukkan posisi kursor di kolom 1, baris 1.- lcd.print("LM35 Sensor Suhu"); menunjukkan perintah untuk memprint text.- lcd.setCursor(0,1); menunjukkan posisi kursor di kolom 1, baris 2.- lcd.print(nilaiSuhu); menunjukkan perintah untuk memprint nilaiSuhu.- if(nilaiSuhu>=30 menunjukkan kondisi jika nilai suhu lebih besar atau sama dengan 30, maka kode didalam kondisi if dieksekusi.lcd.setCursor(3,1); menujukkan posisi kursor di kolom 4, baris 2.lcd.print("Kondisi Panas"); menunjukkan perintah untuk memprint text.- else menunjukkan kondisi jika nilai suhu berada diluar kondisi if, maka kode didalam kondisi else dieksekusi.lcd.setCursor(3,1); menujukkan posisi kursor di kolom 4, baris 2.lcd.print("Kondisi Aman"); menunjukkan perintah untuk memprint text.- delay(100); menunjukkan jeda waktu 100 ms setelah dieksekusi.
Berdasarkan program diatas, suhu yang terukur di ruangan praktikum saat percobaan 2, maka pada layar LCD akan tampil:
LM35 Sensor Suhu
30 Kondisi Panas
a. Tuliskan dan jelaskan sintaks program yang digunakan untuk menampilkan suhu beserta kondisinya! Analisalah penggunannya? Contoh : Kita menginginkan pada suhu 28 derajat celcius, yang nantinya muncul adalah kondisi normal. Jadi, tuliskan sintask dan jelaskan programnya!
Jawab:
#include <LiquidCrystal.h> // Deklarasi library LCD
#define LM35 A0 // Deklarasi pin A0 untuk LM35
LiquidCrystal lcd(2,3,4,5,6,7); // Deklarasi pin 2-7 untuk LCD
int nilaiSuhu; // Deklarasi nilaiSuhu dengan tipe data integer
void setup() // Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(A0, INPUT); // pin A0 sebagai input
lcd.begin(16,2); // LCD berukuran 16x2
}
void loop() // Semua kode dalam fungsi ini dieksekusi berulang
{
nilaiSuhu=((5*analogRead(LM35)*100.00)/1024); // Rumus untuk mencari nilai suhu
lcd.clear(); // Menghapus layar LCD
lcd.setCursor(0,0); // Posisi kursor di kolom 1, baris 1
lcd.print("LM35 Sensor Suhu"); // Menampilkan text
lcd.setCursor(0,1); // Posisi kursor di kolom 1, baris 2
lcd.print(nilaiSuhu); // Menampilkan nilai suhu
if(nilaiSuhu<=28) // Kondisi jika suhu lebih kecil atau sama dengan 28
{
lcd.setCursor(3,1); // Posisi kursor di kolom 4, baris 2
lcd.print("Kondisi Normal"); // Menampilkan text
}
else // Kondisi jika suhu diluar kondisi if
{
lcd.setCursor(3,1); // Posisi kursor di kolom 4, baris 2
lcd.print("Kondisi Panas"); // Menampilkan text
}
delay(100); // Jeda waktu 100 ms setelah dieksekusi
}
b. Jika pada percobaan ini kita ingin menggunakan potensiometer, ke pin manakah output potensiometer itu dihubungkan pada LCD? Kenapa harus kita hubungkan ke pin tersebut? Apa fungsi pin tersebut?
Jawab:
Jika pada percobaan menggunakan potensiometer, maka pin output potensiometer dihubungkan ke pin V0 atau VEE pada LCD. Karena potensiometer dapat digunakan sebagai pengatur tingkat kecerahan atau kontras LCD. Pin V0 atau VEE tersebut juga berfungsi sebagai pengatur tingkat kecerahan atau kontras LCD.
No comments:
Post a Comment