Tugas Pendahuluan 2 (M1)

   

   [KEMBALI KE MENU SEBELUMNYA]




1. Prosedur  [back]
Langkah-langkah percobaan :
    1. Siapkan alat dan bahan yaitu dengan komponen yaitu Arduino Uno, keypad,          LCD, sensor infrared, dan buzzer.
    2. Rangkai sesuai gambar percobaan.
    3, Rancang kerja rangkaian sesuai kondisi.
    4. Jalankan simulasi.
    
2. Hardware dan diagram blok [back]
- Arduino Uno
- Keypad
- LCD
- Sensor Infrared
- Buzzer

  • Diagram Blok :



3. Rangkaian Simulasi dan Prinsip Kerja  [back]


  • Prinsip Kerja :
    Pada rangkain ini, menggunakan keypad, LCD, Infrared Sensor, Buzzer, dan Arduino uno sebagai mikrokontroller. Keypad dan LCD akan aktif apabila Sensor infrared berlogika HIGH. Dan keypad dapat digunakan memasukkan password dan diakhir memasukkan password dengan menekan tombol '#' pada keypad. Apabila password yang dimasukkan benar ('2905') maka pada output LCD akan menampilkan tulisan "Akses Diterima" dan pada saat password yang dimasukkan salah, maka output LCD akan menampilkan tulisan "Akses Ditolak" dan buzzer pada pin 12 Arduino akan berbunyi sebagai indikator password yang salah.


4. Flowchart dan Listing Program  [back]

  • Flowchart :



  • Listing Program :

#include <Keypad.h>
#include <LiquidCrystal.h>

String password = "2905";
String enteredPassword = "";

const byte ROWS = 4;
const byte COLS = 4;
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

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

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
const int infraPin = 13;
const int buzzer = 12;
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup() {
  pinMode(infraPin, INPUT);
  pinMode(buzzer, OUTPUT);
  Serial.begin(9600);
  lcd.begin(16, 2);
}

void loop() {
  int infraValue = digitalRead(infraPin);

  // Check if infrared sensor is active
  if (infraValue == HIGH) {
    // Clear the entered password
    enteredPassword = "";

    // Loop until a valid password is entered
    while (true) {
      char receivedKey = customKeypad.getKey();
      if (receivedKey) {
        // Check if the key is a numeric digit
        if (receivedKey >= '0' && receivedKey <= '9') {
          enteredPassword += receivedKey;
          lcd.setCursor(0, 0);
          lcd.print("Password: ");
          lcd.print(enteredPassword);
        } else if (receivedKey == '#') {
          // Check if the entered password matches the predefined password
          if (enteredPassword == password) {
            lcd.clear();
            lcd.setCursor(0, 0);
            lcd.print("Akses Diterima");
            digitalWrite(buzzer, LOW);
            delay(2000);
            digitalWrite(buzzer, HIGH); // Matikan buzzer setelah beberapa waktu
            break; // Break out of the loop if access granted
          } else {
            lcd.clear();
            lcd.setCursor(0, 0);
            lcd.print("Akses Ditolak");
            digitalWrite(buzzer, HIGH); // Aktifkan buzzer saat akses ditolak
            delay(5000);
            lcd.clear();
            break; // Break out of the loop if access denied
          }
        }
      }
    }
  }
}

   
5. Video Demo  [back]



6. Kondisi  [back]

Percobaan 4 (Keypad dan LCD) Kondisi 4 :
    Sertakan sensor IR, mode diatur dengan keypad, tampilan mode pada LCD dan ketika sensor IR berlogika HIGH maka buzzer akan hidup.

  
7. Video Simulasi  [back]



8. Download File  [back]
Download Video percobaan Di Sini
Download Rangkaian percobaan Di Sini
Download Library Arduino Uno Di Sini
Download Library Infrared Sensor Di Sini
Download Datasheet LCD Di Sini
Download Datasheet Arduino Uno Di Sini
Download Datasheet Infrared Sensor Di Sini
Download Datasheet Keypad Di Sini
Download HTML Di Sini

Tidak ada komentar:

Posting Komentar