TP 2 MODUL 1

    [KEMBALI KE MENU SEBELUMNYA]  




Sertakan Touch sensor dan 4 LED , saat Touch Sensor berlogika HIGH maka ketika keypad ditekan kombinasi LED hidup
(P4K6)


1. Prosedur  [back]

Langkah-langkah percobaan :

1. Rangkai semua komponen sesuai kondisi yang dipilih

2. buat program di aplikasi arduino IDE

3. setelah selesai masukkan program ke arduino di proteus

4. jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi

5. Selesai


2. Hardware dan diagram blok [back]

  • 1. Sensor touch

    2. LED

    3. Arduino Uno

    4. Keypad 







3. Rangkaian Simulasi dan Prinsip Kerja  [back]




RANGKAIAN AWAL








 Prinsip Kerja

    Sistem ini menggunakan mikrokontroler Arduino, keypad, sensor sentuh, dan LED. Pin untuk LED diatur sebagai OUTPUT, sedangkan pin untuk sensor sentuh diatur sebagai INPUT_PULLUP. Hal ini berfungsi pada mikrokontroler dalam menerima input dari keypad dan mengontrol LED. Keypad dihubungkan dengan Arduino menggunakan baris (ROWS) dan kolom (COLS) sebagai input. Keypad ini digunakan untuk memasukkan data seperti angka dan karakter khusus.

Sistem ini sudah diatur agar mikrokontroler secara terus menerus membaca input dari keypad dan memeriksa apakah sensor sentuh aktif. Jika sensor sentuh aktif (dibaca sebagai HIGH), maka program akan memeriksa input dari keypad dan menangani aktivasi LED berdasarkan input yang diberikan.    

    Setiap kali tombol pada keypad ditekan, nilai tombol tersebut dibaca oleh mikrokontroler. Jika tombol yang ditekan adalah angka (0-9) maka angka tersebut ditambahkan ke dalam password. Selanjutnya LED akan dinyalakan sesuai dengan urutan angka yang dimasukkan. LED yang tidak terpakai akan dimatikan. Namun jika panjang password mencapai 4 digit, maka akan ditambahkan delay sebelum password di-reset. Saat tombol "#" ditekan, password di-reset dan semua LED dimatikan.



4. Flowchart dan Listing Program  [back]
Flowchart :









  • LISTING PROGRAM 
#include <Keypad.h>

// Constants for row and column sizes
const byte ROWS = 4;
const byte COLS = 4;

// Array to represent keys on keypad
char hexaKeys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

// Connections to Arduino for LED
const byte LED_Pins[4] = {A0, A1, A2, A3};
const byte touchPin = 13;

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

// Create keypad object
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

// Variables to track password entry
String password = "";
int passwordIndex = 0;

void setup() {
  // Setup LED pins as OUTPUT
  for (int i = 0; i < 4; i++) {
    pinMode(LED_Pins[i], OUTPUT);
  }

  // Setup touch sensor pin as INPUT
  pinMode(touchPin, INPUT_PULLUP);

  // Setup serial monitor
  Serial.begin(9600);
}

void loop() {
  // Get key value if pressed
  char customKey = customKeypad.getKey();

  // Check if touch sensor is activated
  if (digitalRead(touchPin) == HIGH) {
    // Handle LED activation based on keypad input
    if ((customKey >= '0' && customKey <= '9') || customKey == '#') {
      if (customKey == '#') {
        // Reset password and turn off all LEDs if '#' key is pressed
        password = "";
        passwordIndex = 0;
        for (int i = 0; i < 4; i++) {
          digitalWrite(LED_Pins[i], LOW);
        }
      } else {
        // Append key to password
        password += customKey;

        // Increment password index
        passwordIndex++;

        // Activate LEDs sequentially
        for (int i = 0; i < passwordIndex; i++) {
          digitalWrite(LED_Pins[i], HIGH);
        }

        // Turn off any remaining LEDs from previous passwords
        for (int i = passwordIndex; i < 4; i++) {
          digitalWrite(LED_Pins[i], LOW);
        }

        // If password length is 4
        if (passwordIndex == 4) {
          // Add delay after all LEDs are activated
          delay(500);

          // Reset password and password index
          password = "";
          passwordIndex = 0;
        }
      }
    }
  }

  if (customKey) {
    // Print key value to serial monitor
    Serial.print("Tombol : ");
    Serial.println(customKey);
  }
}



5. Kondisi  [back]
  
Sertakan Touch sensor dan 4 LED , saat Touch Sensor berlogika HIGH maka ketika keypad ditekan kombinasi LED hidup

6. Video Simulasi  [back]






7. Download File  [back]
HTML klik
Simulasi klik
Video Simulasi klik
Listing Program klik





Tidak ada komentar:

Posting Komentar