Senin, 04 Maret 2024

TP 2 - MODUL 1




Kondisi
[Kembali]
Percobaan 6 - Kondisi 7:

   Button 1 - 7 menampilkan “LEI” di kolom 1 ,button  8 membuat tulisan “LEI” dalam keadaan running text ke kanan

Rangkaian Simulasi [Kembali]




Video [Kembali]





Listning program [Kembali]
#include <LiquidCrystal.h>

// Pin untuk tombol
const int buttonPins[8] = {2, 3, 4, 5, 6, 7, 8, 9}; // Pin untuk tombol 1-8
const int numButtons = 8; // Jumlah tombol

// Pin untuk LCD
const int rs = A0, en = A1, d4 = A2, d5 = A3, d6 = A4, d7 = A5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // Inisialisasi LCD
  lcd.begin(16, 2);

  // Konfigurasi pin tombol sebagai input dengan pull-up resistor
  for (int i = 0; i < numButtons; i++) {
    pinMode(buttonPins[i], INPUT_PULLUP);
  }
}

void loop() {
  // Tombol mana yang ditekan
  int pressedButton = getPressedButton();
 
  // Jika tombol 1-7 ditekan, tampilkan "LEI" di baris pertama
  if (pressedButton >= 1 && pressedButton <= 7) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("LEI");
    delay(1000); // Delay untuk "LEI" diam
  }
  // Jika tombol 8 ditekan, "LEI" bergerak dari kanan ke kiri
  else if (pressedButton == 8) {
    scrollLEI();
  }
}

// Fungsi untuk menentukan tombol mana yang ditekan
int getPressedButton() {
  for (int i = 0; i < numButtons; i++) {
    if (digitalRead(buttonPins[i]) == LOW) {
      return i + 1; // Mengembalikan nomor tombol (mulai dari 1)
    }
  }
  return 0; // Jika tidak ada tombol yang ditekan
}

// Fungsi untuk membuat tulisan "LEI" bergerak dari kanan ke kiri
void scrollLEI() {
  for (int i = 0; i < 13; i++) {
    lcd.clear();
    lcd.setCursor(15 - i, 0); // Mulai dari ujung kanan layar
    lcd.print("LEI");
    delay(300); // Delay untuk gerakan "LEI" dari kanan ke kiri
  }
  delay(1000); // Delay setelah "LEI" bergerak
}

Link Download [Kembali]
Download Video 
Datasheet Arduino UNO 

Tidak ada komentar:

Posting Komentar