Senin, 04 Maret 2024

TP 1 - MODUL 1




Kondisi
[Kembali]
Percobaan 4 - Kondisi 7:

Sertakan Touch sensor, mode diatur dengan keypad,
tampilan mode pada LCD dan mode dapat diatur ketika Touch sensor berlogika HIGH

Rangkaian Simulasi [Kembali]






Listing Program [Kembali]
#include <Keypad.h>
#include <LiquidCrystal.h>

// Deklarasi pin keypad
const byte ROWS = 4; // Jumlah baris keypad
const byte COLS = 3; // Jumlah kolom keypad
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; // Pin baris keypad
byte colPins[COLS] = {5, 4, 3}; // Pin kolom keypad
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

// Deklarasi pin sensor touch
const int touchPin = 12;

// Deklarasi pin LCD
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

void setup() {
  Serial.begin(9600); // Inisialisasi komunikasi serial
  pinMode(touchPin, INPUT); // Mengatur pin sensor touch sebagai input
  lcd.begin(16, 2); // Mengatur jumlah kolom dan baris LCD
}

void loop() {
  int touchValue = digitalRead(touchPin); // Membaca nilai sensor touch

  // Jika sensor touch aktif (HIGH)
  if (touchValue == HIGH) {
    char key = keypad.getKey(); // Membaca tombol yang ditekan pada keypad
   
    // Jika tombol ditekan
    if (key) {
      lcd.clear(); // Membersihkan tampilan LCD
      lcd.setCursor(0, 0); // Mengatur posisi kursor di baris 1 kolom 1
      lcd.print("Tombol: "); // Menampilkan teks "Tombol: " di LCD
      lcd.print(key); // Menampilkan tombol yang ditekan di LCD
    }
  } else {
    // Jika sensor touch tidak aktif (LOW), tampilkan pesan
    lcd.clear(); // Membersihkan tampilan LCD
    lcd.setCursor(0, 0); // Mengatur posisi kursor di baris 1 kolom 1
    lcd.print("Sentuh sensor"); // Menampilkan pesan di LCD
    lcd.setCursor(0, 1); // Mengatur posisi kursor di baris 2 kolom 1
    lcd.print("untuk akses"); // Menampilkan pesan di LCD
  }
}

Video [Kembali]






Prinsip Kerja [Kembali]
Pada rangkaian ini, sensor sentuhan berfungsi sebagai input, keypad berfungsi sebagai output, dan LCD berfungsi sebagai output. Ketika keypad ditekan, keypad akan menampilkan tulisan pada LCD, dan ketika sensor sentuhan berlogika 1, LCD akan hidup.

    Ketika program diunggah ke Arduino, layar LCD akan menampilkan "Mode Tekanan" sesuai dengan logika sentuhan sentuhan. Jika sensor sentuhan memiliki logika tinggi, maka mode itu akan ON, dan jika sensor memiliki logika rendah, maka mode itu akan OFF. Setelah itu, program akan terus berjalan dalam loop utama, menunggu input dari pengguna. Jika pengguna memasukkan karakter dari keypad, karakter tersebut akan ditampilkan di layar LCD. Ini memungkinkan pengguna memasukkan karakter satu per satu.

Link Download [Kembali]
Download Source Code
Download Datasheet LED klik disini
Datasheet Resistor download file
Datasheet Arduino UNO download file

Tidak ada komentar:

Posting Komentar