ESP32 활주로 접근등 데스크톱 장식품

wuhanqing Posted on 2026-02-25 29 Views


ESP32 활주로 접근등 데스크톱 장식품

본 프로젝트는 민간 항공 활주로 접근등(Approach Lighting System)을 고도의 사실성으로 재현한 데스크톱 지능형 장식품이다. ESP32 마이크로컨트롤러와 하드와이어드 시퀀셜 논리 회로(NE556+CD4017)를 결합하여 실제에 가까운 시각 효과를 구현하는 동시에, 전 세계 공항의 METAR 및 TAF 기상 보고를 실시간으로 수집·표시할 수 있다.


1. 초록

본 프로젝트의 목적은 장식성과 기능성을 동시에 갖춘 항공 테마형 데스크톱 장치의 설계 및 구현에 있다. 하드웨어 측면에서는 이중층 PCB 적층 구조를 채택하고, NE556 듀얼 타이머와 CD4017 카운터를 이용하여 20채널 러닝 라이트(일명 "토끼등")와 48채널 상시 점등 접근등을 혼합 구동하며, 조도와 점멸 주파수에 대한 하드웨어 조절 기능을 제공한다. 소프트웨어 측면에서는 MicroPython을 기반으로 개발을 수행하였고, ESP32의 Wi-Fi 기능을 활용하여 웹 기반 Wi-Fi 설정 및 항공 기상 데이터(METAR/TAF)의 실시간 수집을 구현하였다. 이 장치는 공항 활주로 말단의 시각적 미감을 재현함과 동시에, 항공 애호가에게 유용한 기상 모니터링 단말기로서의 역할도 수행한다.


2. 기능 특성

  • 모의 조명 효과:20개의 러닝 유도등(순차 점멸등을 모사)과 48개의 상시 점등 접근등으로 구성된다.
  • 하드웨어 상호작용
        - 왼쪽 노브:전체 전원 스위치 및 전 조명 전역 밝기 조절(PWM 디밍).
        - 오른쪽 노브:러닝 라이트의 이동 속도(점멸 주파수) 조절.
        - 베이스보드 버튼:버튼 한 번으로 WiFi 네트워크 설정 및 ICAO 코드 설정 모드 진입.
  • 지능형 정보 표시:0.96인치 OLED 화면에 지정 공항의 원문 METAR 및 TAF 보고를 5초 간격으로 순환 표시.
  • 편리한 네트워크 설정:핫스팟(AP) 방식의 네트워크 설정을 지원하며, 내장 웹 설정 페이지와 QR 코드 기반의 빠른 접속 기능을 제공한다.
  • 물리적 설계:이중층 PCB 구조(100mm x 80mm)를 적용하고, 전면 실크에는 공항 평면도와 무선 주파수표(TWR, GND, APP 등)를 통합 인쇄하였다.

3. 프로젝트 이미지

3.1 실물 사진

3.2 회로도

3.2.1 베이스보드 회로도

3.2.2 상부 보드 회로도

3.3 2D 프리뷰

3.3.1 베이스보드 2D 프리뷰

3.3.2 상부 보드 2D 프리뷰

3.4 회로 원리도


4. 사용 방법 및 동작 설명

4.1 초기 기동

  1. 전원 공급:Type-C 데이터 케이블을 사용하여 베이스보드 좌측 상단의 커넥터에 연결한다(5V/1A 이상의 전원 어댑터 사용을 권장).
  2. 전원 켜기:시계 방향으로 왼쪽 노브를 회전시키면, 빨간색 전원 표시 LED가 점등되고, 등 시스템이 초기 동작 상태로 진입한다.
  3. 조정
        - 왼쪽 노브를 회전하여 전체 조명의 전역 밝기를 조절한다.
        - 오른쪽 노브를 회전하여 활주로 등 러닝 효과의 점멸 및 이동 속도를 변경한다.

4.2 네트워크 설정 및 구성

화면에 미연결 상태가 표시되거나 대상 공항을 변경할 필요가 있을 경우:

  1. 설정 모드 진입:베이스보드 우측 하단의 터치 버튼을 길게 누른다.
  2. QR 코드 스캔 연결:화면에 QR 코드와 IP 192.168.4.1이 표시된다.
  3. 동작:휴대전화로 WiFi METAR_Config에 연결한 후, QR 코드를 스캔하거나 브라우저에 IP를 수동 입력하여 설정 페이지에 접속한다。
  4. 설정 값 저장:WiFi SSID, 비밀번호 및 대상 공항의 4자리 ICAO 코드(예: 선양 타오셴 공항 ZYTX)를 입력하고 Save를 클릭한다. 이후 장치는 자동으로 재부팅되며 기상 데이터 수집을 시작한다.

5. 시스템 설계 원리

5.1 하드웨어 회로 설계

본 시스템은 "조명 효과는 하드 논리가 제어하고, 데이터 처리는 마이크로프로세서가 담당한다"는 역할 분담 구조를 채택하였다.

  • 핵심 논리 (NE556 + CD4017)
        - NE556 (Unit A):1kHz의 듀티비 가변 파형을 출력하며, 이를 PWM 디밍 신호로 사용하여 LED 양극에 인가한다.
        - NE556 (Unit B):3–100Hz 범위의 가변 주파수 구형파를 출력하며, 이를 CD4017의 클록 신호 입력으로 사용한다.
        - CD4017:10진 카운터로서, 출력단 Q0–Q9는 10세트의 MOSFET을 통해 20개의 러닝 라이트(두 개씩 병렬 구성)를 구동한다.
  • 시각 모사 알고리즘:러닝 라이트의 게이트(G) 단자는 CD4017의 시퀀스 제어를 받고, 양극은 PWM 디밍 제어를 받는다. PWM 주파수(1kHz)가 시퀀스 전환 주파수보다 충분히 높기 때문에, 속도 조절과 밝기 조절 효과를 상호 간섭 없이 중첩 구현할 수 있다.

5.2 소프트웨어 논리 구조

  • 개발 환경:MicroPython (Thonny 사용).
  • 데이터 수집urequests 모듈을 통해 항공 기상 API에 주기적으로 요청을 전송하여, 지정 ICAO 코드에 대응하는 JSON 데이터를 획득하고, 그 중 rawOb(METAR) 및 rawTAF(TAF) 문자열을 파싱한다.
  • 표시 제어ssd1306 드라이버를 사용하여 OLED를 제어하며, 문자 분할 알고리즘을 통해 장문의 보고문을 행 단위로 나누어 표시하고 자동 스크롤 전환을 구현한다.

6. 하드웨어 목록 (BOM)


(자세한 내용은 본 폴더의 BOM_TOTAL_PCB.xlsx 문서를 참조할 것.)


7. 오픈소스 복제 시 유의사항

본 프로젝트를 원활히 복제·구현하기 위해서는 다음의 공정 관련 세부 사항에 유의해야 한다.

7.1 하드웨어 및 납땜 요점

  • EDA 플랫폼:본 프로젝트는 JLCEDA(전문가 버전)을 기반으로 설계되었다. 원본 프로젝트 파일은 ProPrj_Runway_Approach_Light_2026-02-24.epro2이다.
  • 핀 정렬:기계적 호환성 문제를 방지하기 위해, 반드시 38핀 버전 ESP32 개발 보드(각 측면 19핀)를 사용해야 한다.
  • 납땜 공정:베이스보드 상의 논리 칩(NE556/CD4017)은 솔더 브리지 발생을 엄격히 방지해야 한다. MOSFET 드라이브 소자는 온도에 매우 민감(허용 온도 약 170℃)하므로 반드시 마지막 순서로 납땜해야 한다. 저온 납땜용 솔더의 사용을 권장하며, 단일 핀에 대한 납땜 시간은 3초를 초과하지 않도록 하여 열 축적으로 인한 소자의 브레이크다운 혹은 열 손상을 방지해야 한다.

7.2 툴체인 및 리소스 배치

본 프로젝트에 필요한 모든 소프트웨어 및 펌웨어는 tools 폴더에 저장되어 있으며, 구조는 다음과 같다.

tools/
├── 1-Thonny开发软件
├── 2-开发板CH340驱动
├── 3-ESP32-FLASH固件下载工具
└── 4-ESP32-MicroPython固件
    ├── esp32-20220618-v1.19.1.bin (推荐)
    ├── ESP32_GENERIC-20240602-v1.23.0.bin
    └── ESP32_GENERIC-20250415-v1.25.0.bin

펌웨어 설명:여러 버전의 펌웨어가 제공되지만, 호환성과 안정성을 보장하기 위해 v1.19.1 버전의 사용을 강력히 권장한다

7.3 핵심 개발 절차

  1. 하드웨어 자가 진단:모든 납땜을 완료한 후, 우선 전원을 인가하여 러닝 라이트와 상시 점등 그룹의 논리 동작이 정상인지 확인한다.
  2. 드라이버 설치:PC에 tools/2-开发板CH340驱动을 설치하여 장치가 정상적으로 인식되도록 한다.
  3. 펌웨어 플래싱tools/3-ESP32-FLASH固件下载工具를 사용하여 권장 MicroPython 펌웨어 버전을 ESP32에 굽는다.
  4. 환경 설정Thonny 소프트웨어를 설치 및 실행한 뒤, 인터프리터로 ESP32를 선택한다. 세부 설정 방법은 Bilibili의 "普中 ESP32 教程" 등 관련 동영상 자료를 참조할 수 있다.
  5. 코드 배포:Thonny를 통해 개발 보드에 접속하여, 프로젝트 소스 파일 METAR.py를 업로드하고 실행한다.
  6. 최종 조립:소프트웨어 동작이 정상임을 확인한 후, ESP32 모듈을 베이스보드의 핀 헤더에 삽입하고 전체 장치를 조립한 뒤, 최종 전원 인가 테스트를 수행한다.

8. 참고 문헌 및 기술 표준

8.1 국제 표준 및 산업 규범

  • 문헌명WMO-No.306_Vol_I.1_Manual_on_Codes.pdf
        - 발행 기관:World Meteorological Organization (WMO)
        - 핵심 연관성:본 프로젝트의 METAR/TAF 보고문 파싱 로직은 해당 매뉴얼에서 제시하는 FM 15 (METAR)FM 51 (TAF)의 필드 정의와 부호화 규칙을 엄격히 준수한다.
  • 문헌명ICAO_Annex_14_Vol_I_Aerodrome_Design_and_Operations.pdf
        - 발행 기관:International Civil Aviation Organization (ICAO)
        - 핵심 연관성:본 프로젝트의 조명 배치 및 러닝 라이트(Sequenced Flashing Lights)의 시퀀스 요구 사항은 동 표준의 Chapter 5.3.4에 제시된 접근등 시스템 관련 규정을 참조하였다.

8.2 주요 부품 데이터시트

  • 문헌명C7434190_555定时器-计时器NE556DR-MS规格书_WJ411490.pdf
        - 제조사:MSKSEMI (美森科)
        - 핵심 연관성:듀얼 555 타이머 기반 시정수 회로 설계에 활용되며, 시스템 디밍용 PWM 파형 생성 및 CD4017용 클록 펄스를 구현하는 데 사용된다.
  • 문헌명C7473153_计数器-分频器CD4017BM-MS规格书_WJ411742.pdf
        - 제조사:MSKSEMI (美森科)
        - 핵심 연관성:20채널 활주로 순차 점멸등(러닝 라이트)의 디코딩 카운트 로직 및 하드웨어 시프트 구동을 구현하는 데 사용된다.

9. 저자 정보 및 기술 지원

프로젝트 복제 과정에서 기술적인 어려움이 발생하거나, 본 프로젝트에 대한 개선 제안이 있을 경우 아래 연락처를 통해 문의하기 바란다.

9.1 저자 정보

9.2 기술 교류 그룹

  • QQ 그룹1087242118 (가입 시 "접근등"이라고 메모해 주시기 바랍니다)

9.3 프로젝트 데모 영상

https://www.bilibili.com/video/BV1fFtZz1Eyx

This author has not provided a description.
Last updated on 2026-02-25