MODUL4
PROJECT DEMO
a. praktikan dapat menerapkan sebuah sistem menggunakan mikrokontroller.
b. praktikan dapat mengkombinasikan berbagai macam output, akumulator,
display, dan berbagai media output lainnya menjadi sebuah alat.
c. praktikan dapat merancang suatu sistem menjadi sebuah alat.
TUJUAN ALAT:
a. merancang ruangan yang mempertahankan intensitas cahaya didalamnya.
b. merancang ruangan yang dapat mengatur intensitas cahayanya secara otomatis.
c. otomatisasi lampu untuk mempertahankan intensitas cahaya dalam ruangan.
2. DAFTAR KOMPONEN [kembali]
1. LDR (Light Dependent Resistor)
2. arduino:
3. LCD 16 X 2:
4. BUZZER:
5. LED
3. LANDASAN TEORI [kembali]
1. 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.
1. 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.
Prinsip kerja LDR sangat sederhana tak jauh berbeda dengan variable
resistor pada umumnya. LDR dipasang pada berbagai macam rangkaian
elektronika dan dapat memutus dan menyambungkan aliran listrik
berdasarkan cahaya. Semakin banyak cahaya yang mengenai LDR maka nilai
resistansinya akan menurun, dan sebaliknya semakin sedikit cahaya yang
mengenai LDR maka nilai hambatannya akan semakin membesar. 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.
LDR (Light Dependent Resistor) yang merupakan Komponen Elektronika
peka cahaya ini sering digunakan atau diaplikasikan dalam Rangkaian
Elektronika sebagai sensor pada Lampu Penerang Jalan, Lampu Kamar Tidur,
Rangkaian Anti Maling, Shutter Kamera, Alarm dan lain sebagainya.
bagian-nagian LDR:
grafik respon LDR:
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 :
Microcontroller
ATmega328P
|
Operating Voltage 5 V
|
Input Voltage (recommended) 7 – 12 V
|
Input Voltage (limit) 6 – 20 V
|
Digital I/O Pins 14
(of which 6 provide PWM output)
|
PWM Digital I/O Pins 6
|
Analog Input Pins 6
|
DC Current per I/O Pin 20 mA
|
DC Current for 3.3V Pin 50 mA
|
Flash Memory 32 KB of which 0.5 KB
used by bootloader
|
SRAM
2 KB
|
EEPROM
1 KB
|
Clock Speed
16 MHz
|
POWER USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.
POWER JACK
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.
Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.
Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
Digunakan untuk mengulang program Arduino dari awal atau Reset.
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.
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.
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.
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.
LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk
menampilkan
output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada
sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal
cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah
filter polarisasi (polarizing filter).
Gambar
Penampang komponen penyusun LCD
Keterangan:
1.
Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
2.
Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
3.
Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
4.
Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
5.
Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
6.
Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata
pengamat.
Sebuah
citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang
menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah
memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol
tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan
data melalui pin-pin input yang sudah tersedia.
Kaki-kaki
yang terdapat pada LCD
4. BUZZER:
Buzzer Listrik adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Pada umumnya, Buzzer yang merupakan sebuah perangkat audio ini sering digunakan pada rangkaian anti-maling, Alarm pada Jam Tangan, Bel Rumah, peringatan mundur pada Truk dan perangkat peringatan bahaya lainnya. Jenis Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric, hal ini dikarenakan Buzzer Piezoelectric memiliki berbagai kelebihan seperti lebih murah, relatif lebih ringan dan lebih mudah dalam menggabungkannya ke Rangkaian Elektronika lainnya. Buzzer yang termasuk dalam keluarga Transduser ini juga sering disebut dengan Beeper.
Piezoelectric Buzzer adalah jenis Buzzer yang menggunakan efek Piezoelectric untuk menghasilkan suara atau bunyinya. Tegangan listrik yang diberikan ke bahan Piezoelectric akan menyebabkan gerakan mekanis, gerakan tersebut kemudian diubah menjadi suara atau bunyi yang dapat didengar oleh telinga manusia dengan menggunakan diafragma dan resonator.
Piezo Buzzer dapat bekerja dengan baik dalam menghasilkan frekuensi di kisaran 1 – 5 kHz hingga 100 kHz untuk aplikasi Ultrasound. Tegangan Operasional Piezoelectric Buzzer yang umum biasanya berkisar diantara 3Volt hingga 12 Volt.
komponen buzzer:
Buzzer Listrik adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Pada umumnya, Buzzer yang merupakan sebuah perangkat audio ini sering digunakan pada rangkaian anti-maling, Alarm pada Jam Tangan, Bel Rumah, peringatan mundur pada Truk dan perangkat peringatan bahaya lainnya. Jenis Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric, hal ini dikarenakan Buzzer Piezoelectric memiliki berbagai kelebihan seperti lebih murah, relatif lebih ringan dan lebih mudah dalam menggabungkannya ke Rangkaian Elektronika lainnya. Buzzer yang termasuk dalam keluarga Transduser ini juga sering disebut dengan Beeper.
Piezoelectric Buzzer adalah jenis Buzzer yang menggunakan efek Piezoelectric untuk menghasilkan suara atau bunyinya. Tegangan listrik yang diberikan ke bahan Piezoelectric akan menyebabkan gerakan mekanis, gerakan tersebut kemudian diubah menjadi suara atau bunyi yang dapat didengar oleh telinga manusia dengan menggunakan diafragma dan resonator.
Piezo Buzzer dapat bekerja dengan baik dalam menghasilkan frekuensi di kisaran 1 – 5 kHz hingga 100 kHz untuk aplikasi Ultrasound. Tegangan Operasional Piezoelectric Buzzer yang umum biasanya berkisar diantara 3Volt hingga 12 Volt.
komponen buzzer:
5. LED:
LED adalah suaatu semikonduktor yang memancarkan cahaya, LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n)
dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED
terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus
listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED
diberikan arus terbalik, hanya akan ada sedikit arus yang melewati LED.
Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.
6. Serial Peripheral Interface (SPI)
7. NRF24L01
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.
Cara Kerja Komunikasi SPI
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.
Module Wireless nRF24L01 merupakan module yang
mempunyai fungsi untuk komunikasi jarak jauh atau nirkabel yang
memanfaatkan gelombang RF 2.4 GHz yang biasanya diaplikasikan untuk
Scientific , Industrial, maupun Medical.
Pada modul ini menggunakan antarmuka SPI (Serial Parallel Interface) untuk
berkomunikasi dengan mikrokontroler dalam hal ini Arduino. Tegangan
operasional normal untuk mengakses module ini yaitu 3.3Vdc, yang
biasanya dibantu dengan regulator AMS1117.
Module nRF24L01 memiliki perangkat keras yang berupa baseband logic
Enhanced ShockBurst dan protocol accelerator yang memungkinan untuk
berkomunikasi dalam kecepatan tinggi.
Selain itu, module ini juga memiliki fitur true ULP solution, yang
berfungsi sebagai penghemat konsumsi daya sehingga hemat energi. Dan
bisa digunakan juga sebagai pembuatan perangkat fitnes dan olahraga,
pendukung PC, mainan anak-anak, piranti perangkat untuk permainan, dan
lainnya.
Kesimpulan dari beberapa fitur Modul Wireless RF nRF24L01 :
- Data rate mencapai 2Mbps
- Penanganan transaksi paket otomatis
- Beroperasi pada pada pita ISM 2.4 GHZ
- Konsumsi daya yang rendah
- Penanganan paket data otomatis
Pin Out dari Modul Wireless RF nRF24L01
5. LISTING PROGRAM [kembali]
PROGRAM MASTER:
//Master
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
byte pin[]={3};
int data[1];
int val = 0;
int vel = 1;
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
pinMode(3,OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}
void loop(void) {
vel=map(analogRead(1), 0,1023, 255, 1);
Serial.println(val);
{
if (vel>120){
digitalWrite(3,vel);
}
else{
digitalWrite(3,LOW);
}
}
int nilai = analogRead(0);
val = map(nilai, 1023, 0,1, 255);
Serial.println(val);
if (val <80 ) {
data[0] = 0;
radio.write(data, 1);
}
if (val < 120) {
data[0] = 1;
radio.write(data, 1);
}
if (val >=120 ) {
data[0] = 2;
radio.write(data, 1);
}
}
PROGRAM SLAVE:
//SLAVE
#include <SPI.h>
#include <nRF24L01.h> /
#include <RF24.h>
#include <Servo.h>
#include<LiquidCrystal.h>
LiquidCrystal lcd (2,3,4,5,6,7);
RF24 radio(9, 10);
int data[1];
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A4,OUTPUT);
lcd.begin(16,2);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
}
void loop(void) {
if (radio.available()) {
bool selesai = false;
while (!selesai) {
radio.read(data, 1);
Serial.println(data[0]);
if (data[0] == 2) {
digitalWrite(A0,HIGH);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
digitalWrite(A3,LOW);
digitalWrite(A4,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("SANGAT GELAP");
}
if (data[0] == 1) {
digitalWrite(A0,HIGH);
digitalWrite(A1,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A3,LOW);
digitalWrite(A4,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("GELAP");
}
if (data[0] == 0) {
digitalWrite(A0,HIGH);
digitalWrite(A1,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A3,HIGH);
digitalWrite(A4,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("SANGAT GELAP");
}
delay(100);
}
}
Serial.println("No radio available");
}
6. RANGKAIAN SIMULASI [kembali]
7. FOTO ALAT [kembali]
8. VIDEO RANGKAIAN [kembali]
9. VIDEO ALAT [kembali]
10. ANALISA [kembali]
pada modul 4 yaitu tentang memdemokan alat yaitu tentang pengaturan intensitas cahaya ruangan menggunakan LDR.
rangkaian ini menggunakan 2 arduino, 2 LDR, 2 modul NRF24L01, 5 LED, 1 LCD 16x2, dan jumper.
pronsip kerja rangakaian:
LDR (LDR 1) akan diletakkan di luar ruangan dimana ia akan membaca intensitas cahaya yang ada di luar ruangan tersebut. nilai intensitas cahaya yang diterima oleh LDR aka mempengaruhi resistansi LDR tersebut. akibatnya tegangan yang di lewatkan oleh LDR akan berubah sesuai dengan perubahan resistansi LDR akibat intensitas cahaya yang ia terima. dimana tegangan yang dilewatkan oleh LDR akan dibaca oleh pin analog 1 arduino master. pada semua pin analog arduino terdapat ADC yang berguna untuk mengubah data analog menjadi data digital. data digital yang dihasilkan oleh LDR 1 akan memiliki rentang 0 sampai dengan 1024. data yang dapat diolah oleh mikro prosesor hanya pada rentang 0 sampai dengan 255 oleh karena itu, data dari LDR tadi dilakukan mapping yaitu untuk mengubah nilai dari rentang 0 sampai 1024 menjadi rentang 0 sampai 255. hasil mapping ini akan di beri nama variabel val. mikro prosessor akan mengolah data yaitu saat nilai val < 80 maka akan menghasilkan nilai data '1', saat nilai val >80 namun <100 maka akan menghasilkan nilai data '2', saat nilai val >100 namun <120 maka akan menghasilkan nilai data '3', saat nilai val > 120 maka akan menghasilkan nilai data '4'. nilai-nilai data yang telah dihasilkan akan dikirimkan ke modul NRF24L01.
setelah data sampai pada modul NRF24L01 yang terhubung dengan arduino master maka NRF24L01 akan mentransmisikan data tersebut secara nirkabel atau wireless. dengan terlebih dahulu melakukan seting pada NRF25L01 yang terhubung dengan arduino master sebagai pengirim data. setelah data dikirimkan oleh NRF24L01 pengirim maka data tersebut akan diterima oleh NRF24L01 penerima, yaitu NRF24L01 yang terhubung dengan arduino slave.
melalui arduino slave dilakukan seting NRF24L01 sebagai penerima data, sehingga ia akan menerima data yang ditransmisikan oleh NRF24L01 pengirim. data yang telah diterima oleh NRF24L01 penerima akan di lanjutkan kepada arduino slave. pada arduino salve akan membaca data yang ia terima dalam bentuk karakter (char) dan diberlakukan dalam kode case. saat nilai case '1' maka arduino slave akan menghidupkan 1 LED dan akan ditampilkan pada LCD statment "diluar terang". saat nilai case '2' maka arduino slave akan menghidupkan 2 LED dan akan ditampilkan pada LCD statment "diluar redup". saat nilai case '3' maka arduino slave akan menghidupkan 3 LED dan akan ditampilkan pada LCD statment "diluar gelap". saat nilai case '4' maka arduino slave akan menghidupkan 5 LED dan akan ditampilkan pada LCD statment "diluar sangat gelap". hal ini sesuai dengan prpgram yang diset pada arduino salve.
saat intensitas yang diterima oleh LDR 1 tinggi. maka nilai resistansinya akan rendah. sehingga nilai tegangan yanng ia lewatkan akan bernilai maksimum. akibatnya adalah data analog yang diterima arduino master bernilai maksimal. lalu dilakukan mapping "val = map(analogRead(0), 0,1023, 255, 1);" artinya adalah saat nilai yang masuk tinggi maka nilai val yang dihasilkan adalah nilai terkecil. maka saat nilai val minimum maka arduino master akan mengirimkan data '1' kepada NRF pengirim. lalu NRF pengirim akan mentransmisikan nilai data tersebut. setelah ditransmisikan oleh NRF pengirim maka data tersebut akan diterima oleh NRF penerima. setelah diterima oleh NRF penerima data tersebut akan diteruskan kepada arduinno slave. saat nilai dat atau case yang masuk pada arduino slave adalah '1' maka arduino 1 akan menghidupkan 1 LED saja dan LED yang lainnya akan mati. lalu pada LCD akan ditampilkan statment " diluar terang".
untuk kondisi lainnya memiliki alur yang sama namun dengan nilai yang berbeda sesuai dengan program yang telah di setting.
untuk mendeteksi keadaan intensitas didalam ruangan maka dipasang sebuah LDR didalam ruangan yaitu LDR 2. LDR 2 terhubunng kepada arduino master. saat keadaan di dalam ruangan terang, maka resistansi LDR yang dihasilkan akan kecil dan tegang yang dihasilkan bernilai tertinggi lalu dialkukan mapping " vel=map(analogRead(1), 0,1023, 255, 1);" akibatnya saat nilai yang masuk maksimal maka nilai yang diproses bernilai minimal. saat nilai vel yang diperoleh >120 maka buzzer akan aktif. nilai dari LDR2 langsung di olah oleh arduino master.
PROGRAM MASTER:
//Master
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
byte pin[]={3};
int data[1];
int val = 0;
int vel = 1;
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
pinMode(3,OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}
void loop(void) {
vel=map(analogRead(1), 0,1023, 255, 1);
Serial.println(val);
{
if (vel>120){
digitalWrite(3,vel);
}
else{
digitalWrite(3,LOW);
}
}
int nilai = analogRead(0);
val = map(nilai, 1023, 0,1, 255);
Serial.println(val);
if (val <80 ) {
data[0] = 0;
radio.write(data, 1);
}
if (val < 120) {
data[0] = 1;
radio.write(data, 1);
}
if (val >=120 ) {
data[0] = 2;
radio.write(data, 1);
}
}
PROGRAM SLAVE:
//SLAVE
#include <SPI.h>
#include <nRF24L01.h> /
#include <RF24.h>
#include <Servo.h>
#include<LiquidCrystal.h>
LiquidCrystal lcd (2,3,4,5,6,7);
RF24 radio(9, 10);
int data[1];
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A4,OUTPUT);
lcd.begin(16,2);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
}
void loop(void) {
if (radio.available()) {
bool selesai = false;
while (!selesai) {
radio.read(data, 1);
Serial.println(data[0]);
if (data[0] == 2) {
digitalWrite(A0,HIGH);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
digitalWrite(A3,LOW);
digitalWrite(A4,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("SANGAT GELAP");
}
if (data[0] == 1) {
digitalWrite(A0,HIGH);
digitalWrite(A1,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A3,LOW);
digitalWrite(A4,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("GELAP");
}
if (data[0] == 0) {
digitalWrite(A0,HIGH);
digitalWrite(A1,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A3,HIGH);
digitalWrite(A4,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("SANGAT GELAP");
}
delay(100);
}
}
Serial.println("No radio available");
}
6. RANGKAIAN SIMULASI [kembali]
7. FOTO ALAT [kembali]
8. VIDEO RANGKAIAN [kembali]
9. VIDEO ALAT [kembali]
10. ANALISA [kembali]
pada modul 4 yaitu tentang memdemokan alat yaitu tentang pengaturan intensitas cahaya ruangan menggunakan LDR.
rangkaian ini menggunakan 2 arduino, 2 LDR, 2 modul NRF24L01, 5 LED, 1 LCD 16x2, dan jumper.
pronsip kerja rangakaian:
LDR (LDR 1) akan diletakkan di luar ruangan dimana ia akan membaca intensitas cahaya yang ada di luar ruangan tersebut. nilai intensitas cahaya yang diterima oleh LDR aka mempengaruhi resistansi LDR tersebut. akibatnya tegangan yang di lewatkan oleh LDR akan berubah sesuai dengan perubahan resistansi LDR akibat intensitas cahaya yang ia terima. dimana tegangan yang dilewatkan oleh LDR akan dibaca oleh pin analog 1 arduino master. pada semua pin analog arduino terdapat ADC yang berguna untuk mengubah data analog menjadi data digital. data digital yang dihasilkan oleh LDR 1 akan memiliki rentang 0 sampai dengan 1024. data yang dapat diolah oleh mikro prosesor hanya pada rentang 0 sampai dengan 255 oleh karena itu, data dari LDR tadi dilakukan mapping yaitu untuk mengubah nilai dari rentang 0 sampai 1024 menjadi rentang 0 sampai 255. hasil mapping ini akan di beri nama variabel val. mikro prosessor akan mengolah data yaitu saat nilai val < 80 maka akan menghasilkan nilai data '1', saat nilai val >80 namun <100 maka akan menghasilkan nilai data '2', saat nilai val >100 namun <120 maka akan menghasilkan nilai data '3', saat nilai val > 120 maka akan menghasilkan nilai data '4'. nilai-nilai data yang telah dihasilkan akan dikirimkan ke modul NRF24L01.
setelah data sampai pada modul NRF24L01 yang terhubung dengan arduino master maka NRF24L01 akan mentransmisikan data tersebut secara nirkabel atau wireless. dengan terlebih dahulu melakukan seting pada NRF25L01 yang terhubung dengan arduino master sebagai pengirim data. setelah data dikirimkan oleh NRF24L01 pengirim maka data tersebut akan diterima oleh NRF24L01 penerima, yaitu NRF24L01 yang terhubung dengan arduino slave.
melalui arduino slave dilakukan seting NRF24L01 sebagai penerima data, sehingga ia akan menerima data yang ditransmisikan oleh NRF24L01 pengirim. data yang telah diterima oleh NRF24L01 penerima akan di lanjutkan kepada arduino slave. pada arduino salve akan membaca data yang ia terima dalam bentuk karakter (char) dan diberlakukan dalam kode case. saat nilai case '1' maka arduino slave akan menghidupkan 1 LED dan akan ditampilkan pada LCD statment "diluar terang". saat nilai case '2' maka arduino slave akan menghidupkan 2 LED dan akan ditampilkan pada LCD statment "diluar redup". saat nilai case '3' maka arduino slave akan menghidupkan 3 LED dan akan ditampilkan pada LCD statment "diluar gelap". saat nilai case '4' maka arduino slave akan menghidupkan 5 LED dan akan ditampilkan pada LCD statment "diluar sangat gelap". hal ini sesuai dengan prpgram yang diset pada arduino salve.
saat intensitas yang diterima oleh LDR 1 tinggi. maka nilai resistansinya akan rendah. sehingga nilai tegangan yanng ia lewatkan akan bernilai maksimum. akibatnya adalah data analog yang diterima arduino master bernilai maksimal. lalu dilakukan mapping "val = map(analogRead(0), 0,1023, 255, 1);" artinya adalah saat nilai yang masuk tinggi maka nilai val yang dihasilkan adalah nilai terkecil. maka saat nilai val minimum maka arduino master akan mengirimkan data '1' kepada NRF pengirim. lalu NRF pengirim akan mentransmisikan nilai data tersebut. setelah ditransmisikan oleh NRF pengirim maka data tersebut akan diterima oleh NRF penerima. setelah diterima oleh NRF penerima data tersebut akan diteruskan kepada arduinno slave. saat nilai dat atau case yang masuk pada arduino slave adalah '1' maka arduino 1 akan menghidupkan 1 LED saja dan LED yang lainnya akan mati. lalu pada LCD akan ditampilkan statment " diluar terang".
untuk kondisi lainnya memiliki alur yang sama namun dengan nilai yang berbeda sesuai dengan program yang telah di setting.
untuk mendeteksi keadaan intensitas didalam ruangan maka dipasang sebuah LDR didalam ruangan yaitu LDR 2. LDR 2 terhubunng kepada arduino master. saat keadaan di dalam ruangan terang, maka resistansi LDR yang dihasilkan akan kecil dan tegang yang dihasilkan bernilai tertinggi lalu dialkukan mapping " vel=map(analogRead(1), 0,1023, 255, 1);" akibatnya saat nilai yang masuk maksimal maka nilai yang diproses bernilai minimal. saat nilai vel yang diperoleh >120 maka buzzer akan aktif. nilai dari LDR2 langsung di olah oleh arduino master.
Komentar :
Posting Komentar