Skip to content

TimeGuard Access Shield is a password-controlled time-restricted machine access system built using the LPC2148 microcontroller. It displays real-time clock data, authenticates users via keypad, and allows editing of password and RTC settings through an interrupt-driven menu.

Notifications You must be signed in to change notification settings

morlabhaskar/Time-Guard-Access-Shield

Repository files navigation

πŸ›‘οΈ TimeGuard Access Shield β€” Password-Controlled Time-Restricted Machine Operation System

TimeGuard Access Shield is an embedded access-control system built using the LPC2148 microcontroller.
It combines secure password authentication, RTC-based scheduling, and an interrupt-driven configuration menu to ensure that only authorized users can operate a device β€” and only at allowed times.

<<<<<<< HEAD

Badges

MCU-LPC2148 ARM-Architecture Keypad-4x4 LCD-16x2 RTC Interrupts LED-Control Embedded-C Keil VSCode GCC Platform-ARM Real-Time

πŸ“Έ Project Images

d60065d294baca52b2d59971f610aee24066f479

Badges

MCU-LPC2148 ARM-Architecture Keypad-4x4 LCD-16x2 RTC Interrupts LED-Control Embedded-C Keil VSCode GCC Platform-ARM Real-Time

πŸŽ₯ Demo Video

Video

πŸ” Features

  • πŸ•’ Real-Time Clock Display (Time, Date, Day)
  • πŸ”‘ Password-Based Authentication (Changeable Password)
  • πŸ‘οΈ Password Show / Hide Feature using Eye Toggle
  • πŸšͺ Entry Access Only in Working Hours
  • βš™οΈ Admin Menu via EINT0 Interrupt
    • Change Date
    • Change Time
    • Change Password
    • Change Working Hours
  • ⚑ Edge-Triggered EINT0 Interrupt Handling
  • 🎨 LCD Custom Characters (Lock, Eye, Success, Warning)
  • ❌ Blocks login after 3 failed attempts
  • πŸ“Ÿ Full RTC configuration and live display

🧩 Hardware Requirements

  • LPC2129 / LPC2148 (or any LPC21xx)
  • 16x2 LCD (HD44780)
  • 4x4 Matrix Keypad
  • EINT0 External Interrupt Switch
  • RTC Module (DS1307 or compatible)
  • Power Supply 5V
  • Wires, Breadboard / PCB

πŸ“ Project Structure

/project
β”‚-- main.c
β”‚-- lcd.c / lcd.h
β”‚-- rtc.c / rtc.h
β”‚-- kpm.c / kpm.h
β”‚-- system_init.c
β”‚-- delay.c / delay.h
β”‚-- arduino.c
β”‚-- pin_connect_block.h
β”‚-- types.h

βš™οΈ Key Functionalities

1️⃣ Login Authentication

  • Accepts 4-digit password
  • Shows * by default
  • Eye button toggles Show / Hide
  • Supports backspace with C
  • Auto-block after 3 wrong attempts

2️⃣ Password Show / Hide Feature

A custom CGRAM eye icon is displayed at the right side.
Pressing the E key toggles:

  • πŸ‘οΈ Show Mode β†’ Displays actual digits
  • πŸ”’ Hide Mode β†’ Displays * for all digits (including previously entered ones)

This ensures full privacy during password entry.


3️⃣ Working Hours Access Control

System allows login only between Entry & Exit hours:

if ((EnHr <= cHour) && (ExHr >= cHour)) return 1;

4️⃣ Admin Menu (via EINT0 Interrupt)

When EINT0 switch is pressed, system shows:

1 – Change Date
2 – Change Time
3 – Change Password
4 – Employee Working Hours
5 – Exit

5️⃣ RTC Live Display

Continuously updates:

  • Time β†’ HH:MM:SS
  • Date β†’ DD/MM/YYYY
  • Day β†’ SUN to SAT

πŸš€ How to Use

▢️ Startup

  • Shows title screen
  • Shows RTC continuously
  • Press ENTRY switch β†’ Password Login Screen

▢️ Admin Mode

  • Press EINT0 button
  • Press 1 to open admin menu

πŸ›  Build & Flash

Use Keil uVision, Arm-GCC, FlashMagic.


πŸ“Έ LCD Icons (CGRAM)

  • Lock icon
  • Eye icon (show/hide)
  • Success tick
  • Warning sign
  • Clock icon

🏁 Conclusion

TimeGuard Access Shield ensures secure, reliable, and time-restricted machine operation β€” ideal for labs, workshops, and industrial environments.

About

TimeGuard Access Shield is a password-controlled time-restricted machine access system built using the LPC2148 microcontroller. It displays real-time clock data, authenticates users via keypad, and allows editing of password and RTC settings through an interrupt-driven menu.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages