Skip to content

[마이크로프로세서2 텀프로젝트] Atmega128 2개를 이용한 스마트 도어락과 IoT 시스템

Notifications You must be signed in to change notification settings

StrongThrow/SmartDoorlock_IoTSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🔐 ATmega128 기반 스마트 도어락 & IoT 하우스 제어 시스템

2개의 ATmega128 MCU를 UART로 연결하여, 도어락 시스템과 스마트 하우스 제어 기능을 분리·통합한 프로젝트입니다.
비밀번호/RFID 기반 출입, EEPROM 사용자 설정 저장, 센서 기반 환경 제어, 릴레이를 통한 가전 제어,
PWM 제어를 통한 서보모터 자동창문 제어 등 다양한 임베디드 제어 기술을 활용하여
실제 모델하우스와 유사한 구조를 구현했습니다.


📽️ 시연 영상

🔗 유튜브 시연 영상 보러가기


📌 핵심 기술 요약

  • 🔁 MCU 통신: 2개의 ATmega128 UART 연결 (도어락 <-> 스마트홈 제어)
  • 📷 센서 활용: 조도, 가스, 수위, 초음파, 온습도 등 6종 이상
  • 🛡 출입 제어: EEPROM 기반 비밀번호, RFID 카드 등록/삭제 기능
  • 🔌 릴레이 제어: 가전제품 제어 (에어컨, 가습기 등)
  • 🔄 PWM 제어: 서보모터로 문/창문 자동 제어
  • ⚠️ Watchdog Timer: MCU 비정상 상태 복구
  • 인터럽트 처리: 버튼, 타이머 이벤트 등 안정적 시나리오 처리

🏗️ 프로젝트 구조

📁 document         - 개발 보고서 및 발표 자료
📁 mainCode
 ├── controlUnit.c - 스마트홈 제어부 코드
 ├── doorLock.c    - 도어락 처리 코드
 ├── RFIDControl.c/.h, UARTControl.c/.h, TWI.h - 각종 드라이버 모듈
📁 testCode         - 센서별 테스트 코드 모음

🔁 MCU 역할 분담 및 통신 구조

🧠 MCU 역할

  • 도어락 MCU

    • 사용자 입력, 비밀번호, RFID 처리
    • EEPROM 기반 사용자 설정 관리
    • 제어부 MCU와 UART 통신으로 명령 송신
  • 제어부 MCU

    • 센서 정보 수집 (조도, 가스, 수위, 온습도 등)
    • 액츄에이터 제어 (서보모터, 릴레이)
    • 환경 자동 제어 시나리오 실행

📡 UART 통신 프로토콜

데이터 패킷


🖼️ 시스템 구성도

[도어락 MCU]
  ├── 버튼 입력
  ├── RFID 인식
  └── EEPROM 저장
        │
       UART
        ↓
[제어부 MCU]
  ├── 센서 정보 수집
  ├── 릴레이/모터 제어
  └── 사용자 설정 자동 실행

🔎 흐름도

  • 도어락 흐름도
    도어락 흐름도

  • 제어부 회로도
    제어부 흐름도


🧾 회로도

  • 도어락 회로도
    도어락 회로도

  • 제어부 회로도
    제어부 회로도 1 제어부 회로도 2


⚙️ 개발 환경

개발환경

항목 내용
MCU ATmega128
언어 C
개발툴 Atmel Studio 7
디버깅 JTAGICE3
컴파일러 avr-gcc

👤 팀원

프로필 역할 담당 부분 기술 스택
강송구
강송구
팀장 HW & FW 설계/개발 ATmega128, UART, EEPROM, PWM, 센서제어 등

📌 프로젝트 핵심 요약

이 프로젝트는 단순한 센서제어를 넘어,
2개의 MCU가 통신하며 각자 역할을 분담하는 구조,
센서 수집 → 판단 → 액츄에이터 제어의 루프를 포함하는
실제 임베디드 제어 흐름을 완성도 있게 구현한 결과물입니다.

About

[마이크로프로세서2 텀프로젝트] Atmega128 2개를 이용한 스마트 도어락과 IoT 시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages