4. PROYEK RELAY DENGAN ARDUINO
Relay serupa dengan saklar mekanik biasa, namun relay aktifasi pensaklarannya dikendalikan secara elektrik oleh Arduino. Terdapat dua jenis relay yang banyak di pasaran, yaitu bentuk modul relay dengan driver sebagai penguatan (Gambar 4.1 — Sambar 4.3) dan relay tanpa driver (Gambar 4.4).
Gambar 4.5. Skema Driver Relay Tunggal Gambar 4.6. Skema Driver Relay Ganda
Proyek ini bertujuan untuk menghidupkan lampu bertegangan 220 volt secara otomatis ketika kondisi pencahayaan lingkungan sekitarnya berkurang dengan menggunakan sensor LDR (Light Dependent Resistor) atau Photoresistor dan sebaliknya. Disaat bersamaan Arduino akan menghidupkan dan mematikan LED mengikuti lampu 220 volt.
Sensor LDR merupakan resistor yang nilai tahanan/hambatannya sangat peka terhadap intensitas cahaya. Semakin banyak cahaya diterima oleh sensor maka semakin turun nilai resistansinya. Sebaliknya, jika cahaya yang diterima sensor sedikit (gelap) maka nilai hambatannya menjadi semakin besar, sehingga arus listrik yang mengalir akan terhambat. Hal ini akan memicu Arduino untuk mengaktfikan atau mematikan saklar relay.
Catatan:
Percobaan ini sangat berbahaya karena menggunakan tegangan 220 volt, sehingga harus berhati-hati saat mempraktikannya.
Bahan | Jumlah | Nilai | Keterangan |
Lampu 220 Volt | 1 pcs | ||
Jack Listrik | |||
LED 5MM | 1 pcs | ||
Resistor 1/4 watt | 1 pcs | 10 K Ohm | |
Resistor 1/4 watt | 1 pcs | 330 Ohm | |
Sensor LDR | 1 pcs | ||
Modul Relay 1 Channel | 1 pcs |
Diagram Sketch
Pada relay terdapat simbol NC (Normal Close), COM/C dan NO (Normal Open). NC berarti terjadi hubungan antara terminal NC dan COM/C ketika input Signal berlogika LOW. Sebaliknya NO artinya terjadi kontak antara terminal NO dan COM/C ketika input Signal berlogika HIGH.
Pin S/INPUT relay dihubungkan ke pin D8 Arduino, pin DC- relay dihubungkan ke ground Arduino, pin DC+ relay dihubungkan ke tegangan 5V Arduino. Terminal NO dan COM/C pada relay dihubungkan ke lampu danjack listrik 220 volt seperti tampak pada diagram sketch, terminal NC relay dibiarkan kosong. Salah satu kaki LDR dihubungkan dengan tegangan 5Volt dan satu kaki lainya dihubungkan dengan resistor IOK ohm ke ground dan juga dihubungkan ke pin AO Arduino.
int pinRelay = 8; // Pin S Relay ke Pin 8 Arduino
int pinLED=9; // Pin LED Resistor ke Pin 9 Arduino int pinLDR=A0; // pin LDR ke Pin AO Arduino (analog) int nilaiLDR =0; // Nilai Awal LDR dari intensitas cahaya yang diterima void setup(){ Serial.begin(9600); pinMode(pinLED,OUTPUT); pinMode(pinRelay,OUTPUT); pinMode(pinLDR, INPUT); void loop(){ nilaiLDR = analogRead(pinLDR); Serial.println(“Pembacaan LDR: “ + String(nilaiLDR)); // Ambang nilaiLDR bisa diganti antara rentang 0-1024 // tergantung tingkat kegelapan/pencahayaan yang diingingkan // sehingga memicu relay mengaktifkan lampu untuk menyala if (nilaiLDR <= 300) { digitalwrite(pinLED, HIGH); digitalwrite(pinRelay, HIGH); Serial.println(“LDR Gelap, maka LED dan Lampu Menyala”); } else { dgitalwrite(pinLED, LOW); digitalwrite(pinRelay, LOW); Serial.println(“. delay(1000); // Proses ditunda setiap 1 detik } |
Untuk membuktikan apakah sensor LDR berfungsi atau tidak, silahkan redupkan cahaya ruangan atau di atas sensor LDR diberi penutup kertas, sehingga intesitas cahaya berkurang. Jika nilai yang terbaca kurang dari 300 maka relay dan LED akan menyala
4.2 Menyalakan Kipas Dengan Sensor Temperatur LM35
Proyek ini bertujuan untuk menghidupkan dan mematikan kipas angin dengan relay yang dipicu oleh sesor temperatur udara LM35. Ketika nilai temperatur mencapai ambang batas atau lebih dari yang telah ditentukan. Proyek ini juga menampilkan besaran temperatur dalam satuan celcius dan farenheit untuk ditampilkan pada serial monitor secara realtime.
Kebutuhan Bahan
Diagram Sketch
Pin S/INPUT relay dihubungkan dengan pin D8 Arduino, pin DC- relay dihubungkan dengan ground Arduino, pin DC+ relay dihubungkan dengan tegangan 5V Arduino. Terminal NO dan COM/C relay dihubungkan ke lampu dan jack listrik 220 volt seperti tampak pada diagram sketch, terminal NC relay dibiarkan kosong.
Bila diperhatikan kaki sensor LM35 maka kaki nomor 1 (vs+) dihubungkan ke tegangan 5volt Arduino, kaki nomor 2 (Vout) dihubungkan ke pin AO Arduino dan kaki nomor 3 (GND) dihubungkan ke ground Arduino, seperti tampak pada Gambar 4.8.
Kode Program
int pinRelay = 8; // Pin S Relay ke Pin 8 Arduino
int pinLED = 9; // Pin LED Resistor ke Pin 9 Arduino int pinLM35 = A0; // pin LM35 ke Pin A0 Arduino (analog) void setup() { Serial.begin(9600); pinMode(pinLED, OUTPUT); pinMode(pinRelay, OUTPUT); pinMode(pinLM35, INPUT); } void loop(){ int suhucelcius = getTemperatureCel(pinLM35); int suhufarenheit = celsius_to_fahrenheit(suhucelcius); // Menampilkan nilai sensor LM35 Serial.println(“Temperatur Celcius: “ + String(suhucelcius) +“ – “ + “Faren-heit: “ + String(suhufarenheit)); delay(500); if(suhucelcius >= 34) { // Mengaktifkan relay ON dan menghidupkan kipas angin // jika temperatur lebih dari sama dengan 34 derajat celcius digitalWrite(pinLED, HIGH); digitalwrite(pinRelay, HIGH); } else { digitalwrite(pinLED, LOW); digitalwrite(pinRelay, LOW); } } } int getTemperatureCel(int pin) { int val = analogRead(pin); float mv=( val / 1024.0) * 5000; float cel=mv/10; return(cel); } int celsius_to_fahrenheit(float cel){ float farh =(cel *9)/5+32; return(farh); } |