Senin, 04 Maret 2024





Tugas Pendahuluan 2
== Percobaan 4 Kondisi 1 ==


  1. Membuka proteus
  2. Buka file proteus yang sudah disesuaikan dengan kondisi
  3. Running rangkaiannya
  4. Sesuaikan dengan kondisi yang diinginkan


Arduino Uno


LCD

Keypad





















#include <LettersKeypad.h>

#include <Keypad.h> 
#include <LiquidCrystal.h> 

// Penjelasan Keypad 
const byte ROWS = 4; 
const byte COLS = 3; 

// LCD dihubungkan dengan pin A0 hingga A5 pada Arduino
const int rs = A0, en = A1, d4 = A2, d5 = A3, d6 = A4, d7 = A5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); 

// Membuat objek LCD dengan pin yang telah ditentukan sebelumnya 
char hexaKeys[ROWS][COLS] = { 
  {'1', '2', '3'}, 
  {'4', '5', '6'}, 
  {'7', '8', '9'}, 
  {'*', '0', '#'} 
}; 

// Connections to Arduino 
byte rowPins[ROWS] = {9, 8, 7, 6}; 
byte colPins[COLS] = {5, 4, 3}; 

// Penjelasan LED pins
const int ledPins[] = {10, 11, 12, 13}; // Assuming LEDs are connected to digital pins 10 to 13

// Menentukan pin yang digunakan untuk mengontrol LED, di sini diasumsikan LED dihubungkan ke pin digital 10 hingga 13
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 
  
void setup() { 
  // Setup serial monitor 
  Serial.begin(9600); 
  lcd.begin(16, 2); 
  
  // Inisialisasi pin LED sebagai output
  for (int i = 0; i < 4; ++i) {
    pinMode(ledPins[i], OUTPUT);
  }

void loop() { 
  // Membaca tombol yang ditekan pada keypad 
  char customKey = customKeypad.getKey(); 
  if (customKey) { 
    
    lcd.clear();
    lcd.setCursor(0, 0); 
    lcd.print("Tombol: "); 
    lcd.print(customKey); 
    
    // Jika tombol ditekan, tampilkan tombol tersebut pada LCD dan aktifkan LED sesuai dengan kombinasi yang ditentukan
    switch (customKey) {
      case '1':
        activateLEDs(0, 0, 0, 1); // Turn on LED 4
        break;
      case '2':
        activateLEDs(0, 0, 1, 0); // Turn on LED 3
        break;
      case '3':
        activateLEDs(0, 1, 0, 0); // Turn on LEDs 3 and 4
        break;
      case '4':
        activateLEDs(1, 0, 0, 0); // Turn on LED 2
        break;
      case '5':
        activateLEDs(1, 1, 0, 0); // Turn on LEDs 2 and 4
        break;
      case '6':
        activateLEDs(0, 1, 1, 0); // Turn on LEDs 2 and 3
        break;
      case '7':
        activateLEDs(0, 0, 1, 1); // Turn on LEDs 2, 3, and 4
        break;
      case '8':
        activateLEDs(0, 1, 1, 1); // Turn on LED 1
        break;
      case '9':
        activateLEDs(1, 1, 1, 1); // Turn on LEDs 1 and 4
        break;
      case '0':
        activateLEDs(0, 0, 0, 0); // Turn on LEDs 1 and 3
        break;
      case '*':
        activateLEDs(0, 0, 0, 0); // Turn on LEDs 1, 3, and 4
        break;
      case '#':
        activateLEDs(0, 0, 0, 0); // Turn on LEDs 1 and 2
        break;
      default:
        // Matikan semua LED jika ada salah tekan
        activateLEDs(0, 0, 0, 0);
        break;
    }
  } 
}

// Mengaktifkan atau menonaktifkan LED berdasarkan kombinasi yang diberikan
void activateLEDs(int led1, int led2, int led3, int led4) {
  digitalWrite(ledPins[0], led1);
  digitalWrite(ledPins[1], led2);
  digitalWrite(ledPins[2], led3);
  digitalWrite(ledPins[3], led4);
}


Modul 1: Percobaan 4 Kondisi 1
"Sertakan dengan 4 LED dan tiap tombol keypad menghasilkan kombinasi LED serta keterangan kombinasi pada LCD"

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Muhammad Zaky Kurnia - Skyblue - Powered by Blogger - Designed by Johanes Djogan -