ADC - Sensor LDR Dengan LCD
(PENGAPLIKASIAN PADA KONTROL SUHU RUANGAN)
DAFTAR ISI
Sensor LDR (Light Dependent Resistor) adalah komponen elektronik yang dapat mengubah intensitas cahaya menjadi sinyal listrik. Untuk mengukur sinyal listrik tersebut, diperlukan ADC (Analog to Digital Converter) yang akan mengonversi sinyal analog menjadi digital sehingga dapat ditampilkan pada LCD. Proses kalibrasi sensor cahaya diperlukan untuk mendapatkan persamaan keluaran sensor LDR dengan intensitas cahaya yang diterima.
Dalam konteks ini, ADC akan membantu mengonversi sinyal analog dari sensor LDR menjadi nilai digital yang dapat ditampilkan pada LCD. Selain itu, penggunaan sensor LDR dan ADC juga penting dalam aplikasi seperti solar tracker untuk mengoptimalkan output daya dari panel surya
- Menyelesaikan tugas mengenai ADC- Sensor LDR dengan LCD dari Bapak Dr. Ir. Darwison, ST, MT
- Mengetahui dan memahami penggunaan ADC- Sensor LDR dengan LCD
- Mampu membuat rangkaian dari materi yang diberikan
- Resistor
-. LED
- Universal Asynchronous Receiver Transmitter (UART)
-DIP Switch
- SENSOR LDR
| Adapun spesifikasi atau karakteristrik umum dari sensor cahaya LDR adalah sebagai berikut : 1.Tegangan maksimum (DC): 150V 2.Konsumsi arus maksimum: 100mW 3.Tingkatan Resistansi/Tahanan : 10Ω sampai 4.100KΩ 4.Puncak spektral: 540nm (ukuran gelombang cahaya) 5.Waktu Respon Sensor : 20ms – 30ms Suhu operasi: -30° Celsius – 70° Celcius grafik respon sensor |
|
-SENSOR SUHU
Konfigurasi pin: · Pin-1 dan pin-8 adalah o / p dari komparator · Pin-2 dan pin-6 adalah pembalik i / id · Pin-3 dan pin-5 adalah non inverting i / id · Pin-4 adalah terminal GND · Pin-8 adalah VCC + · LM358 IC Pin Configuration · LM358 IC Pin Configuration · Fitur LM358 IC spesifikasi dari LM358 IC adalah Ini terdiri dari dua op-amp internal dan frekuensi dikompensasi untuk gain kesatuan Gain tegangan besar adalah 100 dB Lebar pita lebar adalah 1MHz Jangkauan pasokan listrik yang luas termasuk pasokan listrik tunggal dan ganda Rentang catu daya tunggal adalah dari 3V ke 32V Jangkauan pasokan listrik ganda adalah dari + atau -1.5V ke + atau -16V Penyaluran arus pasokan sangat rendah, yaitu 500 μA 2mV tegangan rendah i / p offset Mode umum rentang tegangan i / p terdiri dari ground Tegangan catu daya dan diferensial i / p tegangan serupa ayunan tegangan o / p besar. |
-SENSOR PIR
*Konfigurasi Pin:
1.Test Pin : Berfungsi mendeteksi adanya gerakan
2.GND : Sebagai penghubung sensor dengan grounding
3.Vcc : Penghubung sensor dengan tegangan
4.Out : Mengirimkan arus dari sensor ke rangkain
*Spesifikasi :
Vin : DC 5V - 9V
Radius : 180 derajat
Jarak deteksi : 5 - 7 meter
Output : Digital TTL
1. Universal Asynchronous Receiver Transmitter (UART)
UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.
1. Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.
3.2 Serial Peripheral Interface (SPI)
Serial Peripheral Interface ( SPI ) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega 328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroler.
MOSI : Master Output Slave Input Artinya jika dikonfigurasi sebagai master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai slave maka pin MOSI sebagai input.
MISO : Master Input Slave Output Artinya jika dikonfigurasi sebagai master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai slave maka pin MISO sebagai output.
SCLK : Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.
SS/CS : Slave Select/ Chip Select adalah jalur master memilih slave mana yang akan dikirimkan data.
Sinyal clock dialirkan dari master ke slave yang berfungsi untuk sinkronisasi. Master dapat memilih slave mana yang akan dikirimkan data melalui slave select, kemudian data dikirimkan dari master ke slave melalui MOSI. Jika master butuh respon data maka slave akan mentransfer data ke master melalui MISO.
3.3 Inter Integrated Circuit (I2C)Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya.
Pada I2C, data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi Stop. Kondisi start dimana saat pada SDA beralih dari logika high ke low sebelum SCL. Kondisi stop dimana saat pada SDA beralih dari logika low ke high sebelum SCL.
R/W bit berfungsi untuk menentukan apakah master mengirim data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave) ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telah diterima receiver.
2. Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.
Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :
A. BAGIAN-BAGIAN ARDUINO UNO
1. POWER USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.
2. POWER JACK
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
3. Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
4. Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
5. Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.
6. Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.
7. LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
B. BAGIAN-BAGIAN PENDUKUNG
1. RAM
RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).
2. ROM
ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.
3. DIP Switch
Kata DIP Switch berasal dari 2 kata dalam bahasa inggris, DIP dan Switch. DIP mempunyai kepanjangan dual in-line package sedangkan Switch sendiri memiliki arti saklar dalam bahasa kita. Sedangkan dual in line memiliki arti kurang lebihnya dalam bahasa Indonesia adalah "dua baris/garis dalam satu paket". Sehingga dapat kita artikan apa itu DIP Switch sebagai sekumpulan saklar manual dengan 2 baris/garis kaki yang terangkai dalam satu paket, dengan kata lain sekumpulan saklar dalam satu chip.
Fungsi DIP Switch
Pada dasarnya DIP Switch memiliki fungsi yang sama dengan fungsi saklar, apabila sobat belum tahu atau mungkin lupa silahkan sobat baca kembali artikel tentang Pengenalan Saklar Elektronik
Contoh Gambar DIP Switch
Ada tiga jenis atau tipe DIP Switch yang kerap digunakan yakni tipe Slide, tipe Rotary, dan tipe Rocker. Cara kerja DIP Switch tipe slide dan rocker sebenarnya sama, kita dapat merubah posisi switch dengan menggeser, mereka dibedakan dari hardwarenya saja. Tipe slide dan tipe rocker merupakan yg paling populer atau sering digunakan, contoh penggunaan tipe ini biasanya dapat kita temui pada rangkaian video card, ataupun RF transmitter (TX).
Siapkan segala komponen yang di butuhkanSusun rangkaian sesuai panduan
Input codingan arduinoHidupkan rangkaianApabila tidak terjadi eror, maka rangkaian selesai dibuat.
- Arduino Uno
- LCD
- Sensor LDR
- Sensor SUHU
- Sensor PIR
- Resistor
- IC L293D
- Motor
b.) Hardware dan diagram blok [back]
c.) Rangkaian Simulasi dan Prinsip Kerja [back]
Aplikasi pada rangkaian di bawah merupakan program untuk mengontrol suhu ruangan dengan menggunakan sensor LM35, sensor LDR, dan sensor PIR. Program ini bekerja dengan menggunakan prinsip ADC (Analog to Digital Converter) pada sensor LM35 dan sensor LDR untuk mengubah sinyal analog menjadi sinyal digital yang dapat dibaca oleh mikrokontroler. Kemudian, nilai suhu dan nilai cahaya yang terbaca akan ditampilkan pada LCD. Sedangkan, sensor PIR digunakan untuk mendeteksi gerakan manusia dalam ruangan.
Dalam program ini, jika nilai suhu yang terbaca pada LCD menunjukkan suhu > 25 derajat Celsius maka motor akan berputar ke kiri. Sedangkan, jika terdeteksi gerakan manusia oleh sensor PIR, maka motor akan berputar ke kanan. Program ini dapat diaplikasikan dalam suatu kasus pengendalian suhu ruangan pada suatu gedung atau ruangan tertentu. Misalnya, pada ruangan server yang memerlukan suhu yang stabil dan terkontrol agar perangkat-perangkat di dalamnya tidak mengalami kerusakan.
Simulasi ADC (Analog to Digital Converter) pada program ini mengacu pada proses konversi sinyal analog yang dihasilkan oleh sensor suhu LM35 dan sensor LDR menjadi sinyal digital yang dapat dibaca oleh mikrokontroler. Pada program tersebut, nilai suhu yang terbaca oleh sensor LM35 dan nilai cahaya yang terbaca oleh sensor LDR dikonversi menjadi nilai digital menggunakan fungsi analogRead().
Nilai digital yang dihasilkan kemudian ditampilkan pada LCD. Proses konversi sinyal analog ke sinyal digital ini penting karena mikrokontroler hanya dapat memproses sinyal digital. Dengan adanya ADC, mikrokontroler dapat membaca dan memproses data yang berasal dari sensor-sensor analog.
Hal ini memungkinkan penggunaan berbagai macam sensor analog dalam aplikasi yang dikendalikan oleh mikrokontroler. Dalam konteks program tersebut, simulasi ADC memungkinkan mikrokontroler untuk memantau dan mengontrol suhu ruangan berdasarkan nilai yang terbaca oleh sensor LM35, serta untuk mengontrol pencahayaan ruangan berdasarkan nilai yang terbaca oleh sensor LDR.
Selain itu, sensor PIR juga digunakan untuk mendeteksi keberadaan manusia dalam ruangan, yang dapat digunakan untuk mengaktifkan atau menonaktifkan perangkat-perangkat tertentu.
d.) Flowchart dan Listing Program [back]
#include <LiquidCrystal.h> //Deklarasi library LCD
#define LM35 A0 //Deklarasi pin A0 untuk LM35
#define PIR_PIN 8 //Deklarasi pin 8 untuk sensor PIR
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Deklarasi pin 2-7 untuk LCD
int nilaiSuhu, in1 = 9, in2 = 10; //Deklarasi variabel nilaiSuhu
int ldrPin = A1; // Sensor LDR terhubung ke pin analog A1
bool displaySuhu = true; // Variable to track which value to display
void setup() { //Semua kode dalam fungsi ini dieksekusi sekali
pinMode(LM35, INPUT); //Deklarasi pin A0 sebagai INPUT
pinMode(PIR_PIN, INPUT); //inisialisasi pin sensor PIR sebagai input
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(ldrPin, INPUT); // inisialisasi pin LDR sebagai input
lcd.begin(16, 2); //Dimensi LCD yang digunakan
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
if (displaySuhu) {
nilaiSuhu = ((5 * analogRead(LM35) * 100.00) / 1024); //Mencari nilai Suhu
lcd.clear(); //Menghapus layar LCD
lcd.setCursor(0, 0); //Menentukan posisi kursor pada awal penulisan
lcd.print("Sensor Suhu"); //Menampilkan text pada LCD
lcd.setCursor(0, 1); //Menentukan posisi kursor pada awal penulisan
lcd.print(nilaiSuhu); //Menampilkan nilaiSuhu pada LCD
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
} else {
int ldrValue = analogRead(ldrPin); // membaca nilai sensor LDR
int pirValue = digitalRead(PIR_PIN); // membaca nilai sensor PIR
lcd.clear(); //Menghapus layar LCD
lcd.setCursor(0, 0); //Menentukan posisi kursor pada awal penulisan
lcd.print("Sensor LDR"); //Menampilkan text pada LCD
lcd.setCursor(0, 1); //Menentukan posisi kursor pada awal penulisan
lcd.print(ldrValue); //Menampilkan nilai LDR pada LCD
lcd.setCursor(8, 0); //Menentukan posisi kursor pada awal penulisan
lcd.print("Sensor PIR"); //Menampilkan text pada LCD
lcd.setCursor(8, 1); //Menentukan posisi kursor pada awal penulisan
lcd.print(pirValue); //Menampilkan nilai PIR pada LCD
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
displaySuhu = !displaySuhu; // Switch the display value for the next iteration
delay(1000); // Delay to allow time to read the display
}
Tidak ada komentar:
Posting Komentar