Tugas Pendahuluan 2





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





Sebelum menjalankan rangkaian, compile terlebih dahulu listing program pada arduino IDE dan pastikan kembali file .HEX pada arduino diproteus sesuai dengan yang ada di hasil compiling arduino IDE.


Pada rangkaian diatas adalah jika rangkaian dijalankan dan maka belum ada LED yang hidup dan sesuatu yang ditampilkan pada LCD. Jika tombol pada keypad ditekan maka itu akan menghasilkan penjelasan angka pada LCD dan menghidupkan LED. Program arduino uno ini dibuat agar mengeluarkan hasil seperti berikut:
 
1 => LED1 => Tombol: 1
2 => LED2 => Tombul: 2
3 => LED3 => Tombol: 3
4 => LED4 => Tombol: 4
5 => LED3 4 => Tombol: 5
6 => LED2 3=> Tombol: 6
7 => LED1 2 => Tombol: 7
8 => LED1 2 3 => Tombol: 8
9 => LED1 2 3 4=> Tombol: 9
0 => Tidak ada LED Hidup => Tombol: 0
* => Tidak ada LED Hidup => Tombol: *
# => Tidak ada LED Hidup => Tombol: #








#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"

Tidak ada komentar:

Posting Komentar

  PRATIKUM SISTEM DIGITAL TAHUN 2022 OLEH : Tyas Ananda Putri 2010952036 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS ANDALAS PADANG 2021