Senin, 04 Maret 2024



MODUL 1
PERCOBAAN 4 KONDISI 6

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]

Gambar Rangkaian Sebelum Disimulasikan








Gambar Rangkaian Setelah Disimulasikan

                                        





PRINSIP KERJA
    Pada praktikum memanfaatkan perangkat keras seperti Arduino, keypad, sensor sentuh, dan lampu LED. Perintah ini mengatur pin LED sebagai keluaran, sementara pin sensor sentuh diatur sebagai masukan dengan menarik ke atas. Ini berguna pada mikrokontroler dalam menerima masukan dari keypad dan mengatur pencahayaan LED. Input untuk Arduino adalah baris (ROWS) dan kolom (COLS) yang digunakan untuk menghubungkan keypad dengan Arduino. Keypad ini berfungsi untuk menginput informasi . Teks ini dikendalikan untuk memastikan mikrokontroler terus membaca input dari keypad dan memeriksa apakah sensor sentuh aktif secara berkelanjutan. Apabila sensor sentuh sedang aktif (dikenali sebagai tanda tinggi), maka program akan memeriksa input yang diterima dari keypad dan mengontrol penyalakan LED sesuai dengan input. Ketika tombol pada keypad ditekan, mikrokontroler akan membaca nilai tombol tersebut. Apabila angka (0-9) diketik, maka akan dimasukkan ke dalam kata sandi. Setelah itu, LED akan menyala sesuai dengan urutan angka yang diinputkan. Lampu LED yang tidak digunakan akan dimatikan. Akan tetapi, jika jumlah digit password mencapai 4, maka akan ada penundaan sebelum password di-setel ulang. Ketika tombol "#"" di klik, maka password akan kembali ke pengaturan awal dan semua lampu akan mati.

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

Mikro 2024 Modul  4 [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI     1. Pendahuluan     2. Tujuan     3. Alat dan Bahan     4. Dasar...