{"id":20105150,"url":"https://github.com/kareemmoneeam/door-locker-security-system","last_synced_at":"2025-10-24T14:21:56.195Z","repository":{"id":227556623,"uuid":"771775725","full_name":"KareemMoneeam/Door-Locker-Security-System","owner":"KareemMoneeam","description":"This project implements a Door Locker Security System using two ATmega32 Microcontrollers with a frequency of 8Mhz.","archived":false,"fork":false,"pushed_at":"2024-03-13T23:45:30.000Z","size":660,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T04:44:56.240Z","etag":null,"topics":["avr-programming","embedded-c","embedded-systems"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KareemMoneeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-13T23:36:11.000Z","updated_at":"2024-03-13T23:41:59.000Z","dependencies_parsed_at":"2024-03-14T00:48:01.693Z","dependency_job_id":null,"html_url":"https://github.com/KareemMoneeam/Door-Locker-Security-System","commit_stats":null,"previous_names":["kareemmoneeam/door-locker-security-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KareemMoneeam%2FDoor-Locker-Security-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KareemMoneeam%2FDoor-Locker-Security-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KareemMoneeam%2FDoor-Locker-Security-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KareemMoneeam%2FDoor-Locker-Security-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KareemMoneeam","download_url":"https://codeload.github.com/KareemMoneeam/Door-Locker-Security-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241549064,"owners_count":19980474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avr-programming","embedded-c","embedded-systems"],"created_at":"2024-11-13T17:45:59.097Z","updated_at":"2025-10-24T14:21:56.080Z","avatar_url":"https://github.com/KareemMoneeam.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Door Locker Security System\n\nThis project implements a Door Locker Security System using two ATmega32 Microcontrollers with a frequency of 8Mhz. It is designed based on a layered architecture model with the following components:\n\n- **HMI_ECU (Human Machine Interface)**: Includes a 2x16 LCD and a 4x4 keypad for user interaction.\n- **Control_ECU**: Manages the system's processing and decisions, including password checking, door unlocking, and system alarm activation. It includes EEPROM, a buzzer, and a DC motor.\n\n## System Sequence\n\n1. **Create a System Password**: The user sets a password consisting of 5 numbers, which is saved in the EEPROM.\n2. **Main Options**: The LCD displays the main system options.\n3. **Open Door**: User enters the password to unlock the door. If the password matches, the DC motor rotates to unlock the door.\n4. **Change Password**: User can change the password by entering the current password and then entering a new one.\n5. **Password Matching Handling**: If the password does not match, the system asks the user to re-enter it. If the password is not matched for the third consecutive time, the system activates the buzzer and locks the system for a minute.\n\n## GPIO Driver\n\n- Uses the same GPIO driver implemented in the course.\n- Same driver used in both ECUs.\n\n## LCD Driver\n\n- Uses a 2x16 LCD.\n- Uses the same LCD driver implemented in the course with 8-bits or 4-bits data mode.\n- LCD is connected to the HMI_ECU.\n\n## Keypad Driver\n\n- Uses a 4x4 keypad.\n- Keypad is connected to the HMI_ECU.\n\n## DC Motor Driver\n\n- Uses the same DC Motor driver implemented in the fan controller project.\n- Motor is connected to the CONTROL_ECU.\n\n## EEPROM Driver\n\n- Uses the same external EEPROM driver controlled by I2C.\n- EEPROM is connected to the CONTROL_ECU.\n\n## I2C Driver\n\n- Uses the same I2C driver implemented in the course.\n- Used in the CONTROL_ECU to communicate with the external EEPROM.\n\n## UART Driver\n\n- Uses the same UART driver implemented in the course.\n- Same driver used in both ECUs.\n\n## Timer Driver\n\n- Uses the same driver in both ECUs.\n- Timer1 is used in the HMI_ECU for counting display message time and in the CONTROL_ECU for controlling the motor.\n\n## Buzzer Driver\n\n- Implements a full Buzzer driver.\n- Buzzer is connected to the CONTROL_ECU.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkareemmoneeam%2Fdoor-locker-security-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkareemmoneeam%2Fdoor-locker-security-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkareemmoneeam%2Fdoor-locker-security-system/lists"}