Teknik Elektro

Tugas Pendahuluan 2 Prak uP & uC Modul 1

RAISHA ADINI_2110953023
TUGAS PENDAHULUAN 2



MODUL 1
PERCOBAAN 4 KONDISI 5

1. Prosedur
[Kembali]

  • Rangkai semua komponen sesuai kondisi yang dipilih
  • buat program di aplikasi arduino IDE
  • setelah selesai masukkan program ke arduino di proteus
  • jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
  • Selesai

2. Hardware dan diagram blok [Kembali]
   a. hardware

                                                                        
1. Sensor touch
2. LED
3. Arduino Uno
4. Keypad 

  b. Digram Blok

3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Rangkaian Sebelum Simulasi



Rangkaian Setelah Simulasi

                                        
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 [Kembali]

a. 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);
  }
}

b. Flowchart








5. Kondisi [Kembali]

Kondisi  →Percobaan 4 Kondisi 6
        Sertakan Touch sensor dan 4 LED, saat Touch Sensor berlogika HIGH maka ketika keypad ditekan kombinasi LED hidup

6. Video Simulasi [Kembali]





7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet TOUCH SENSOR  klik disini
Download Datasheet Keypad klik disini

Tidak ada komentar:

Posting Komentar

Smart Smoking Room Encoder Decoder

KONTROL SMART SMOKING ROOM [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...