Skip to main content

Turn on the light and fan with the keypad | Menyalakan lampu dan kipas dengan keypad | Arduino


Kali ini kita akan membuat rangkaian arduino dengan menggunakan Keypad dan Relay. Rangkaian yang kita buat adalah mengatur tombol di keypad untuk menyalakan perngkat elektronik yang ada di rumah, misalnya Lampu, kipas angin dan lain-lain.

Dengan mengatur tombol di keypad, tombol angka yang ada di keypad dapat kita fungsikan sebagai tombol atau saklar untuk menyalakan peralatan elektronik di rumah. Untuk mengatur tombol-tombol untuk menyalakan apa-apa saja tentunya kita atur pada coding.
Misal: Tombol 1 kita atur untuk menyalakan lampu, tombol 2 kita atur sebagai tombol untuk menyalakan kipas angin dan seterusnya. Untuk rangkaian ini tentunya kita membutuhkan relay sebagai saklarnya.

Untuk lebih lengkapnya rangkaian dan cara pembuatan dapat dilihat pada video berikut ini.

Mudah-mudahan video ini bermanfaat dan dapat dikembangkan menjadi lebih baik lagi.


Silahkan copy Code dibawah ini:

#include <Keypad.h>

int relay_a=10;  // Pin Relay Lampu
int relay_b=11;  // Pin Relay Kipas

const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad
 
// Create keypad object
Keypad mykey = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
 
void setup()
{
  pinMode(relay_a, OUTPUT);
  pinMode(relay_b, OUTPUT);
  Serial.begin(9600);
}
 
void loop()
{
  char keypressed = mykey.getKey();
  if (keypressed == '1')
  {
    digitalWrite(relay_a,LOW);            // Relay ON
     Serial.println("Lampu Hidup 10 Detik"); 
     delay(10000);
   }
  
  else {

    digitalWrite(relay_a, HIGH);          // Relay off
    Serial.println("Lampu Mati");
  delay(1);
  }

  if (keypressed == '2')
  {

    digitalWrite(relay_b,LOW);           // Relay ON
     Serial.println("Kipas Hidup 10 Detik"); 
     delay(10000);
   }
  
  else {

    digitalWrite(relay_b, HIGH);          // Relay off
    Serial.println("Kipas Mati");
  delay(1);
  }
}


 

Comments