From fbac23480776e21cd65ec84a4f795a061ddeed62 Mon Sep 17 00:00:00 2001 From: seo Date: Sun, 7 Jun 2026 01:22:04 +0900 Subject: [PATCH] =?UTF-8?q?README=20=ED=95=9C=EA=B8=80=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=20=EC=84=A4=EB=AA=85=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 62 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index ec38194..70cdbd4 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,55 @@ # Auto_Seat -## Overview +## 개요 -- Type: Arduino project -- Source directory: `Auto_Seat` -- Files: 3 -- Related classification: AutoSeat_UL, Auto_Seat_LL 계열과 관련된 자동 시트 프로젝트입니다. -- Report/reference file: `report.html` +차량 시트 자동 제어 프로젝트입니다. EEPROM 설정, 점화/주차 조건, 릴레이 출력, 자동 보정, 시리얼 명령 처리를 포함합니다. -## Arduino Sketches +분류: AutoSeat_UL, Auto_Seat_LL과 같은 자동 시트 제어 계열의 기준 프로젝트입니다. -- `Auto_Seat.ino` +## 코드 구성 요약 -## Root Files +- 분석한 파일 수: 3 +- 사용 라이브러리/include: EEPROM.h +- 코드에서 확인되는 주요 모듈: EEPROM, Serial +- 코드에서 확인되는 핀/입출력 단서: ignitionPin:INPUT, parkingPin:INPUT, seatRelayD8:OUTPUT, seatRelayD9:OUTPUT -- `Auto_Seat.ino` -- `report.html` -- `upload.ps1` +## 파일별 설명 -## Notes +### `Auto_Seat.ino` -- This repository is intended to be stored as a private project repository on `git.chaegeon.com`. -- Sensitive configuration may exist in source files and is kept private by repository visibility. -- Exact duplicate top-level project folders were checked before repository preparation. +- 역할: Arduino의 `setup()`/`loop()`를 포함한 실행 스케치입니다. +- include/의존성: EEPROM.h +- 주요 함수: applySeatAction, clampPosition, getTargetForConfirmedMode, handleRelativeStep, handleSerial, isSeatCommandBusy, loadSettings, loop, measurement, normalizeMotionState, printIntro, printStatus, processSerialCommand, readUint16, registerIgnitionOffUse, requiresParkingForCommand, saveCurrentPositionCommand, seat, setRelay, setup, startAutoCalibration, startDownEdgeMargin, updateAutoCalibration, updateConfirmedDriveMode, updateDebugOutput, updateManualStepStatus, updateMovement, updateRelayOutput, writeUint16 +- 주요 전역값/설정값: AUTO_CALIBRATION_DELAY_MS=300000UL, AUTO_CALIBRATION_DOWN_MS=6000UL, AUTO_CALIBRATION_UP_MS=7000UL, DEBUG_INTERVAL_MS=1000UL, DOWN_EDGE_MARGIN_MS=300UL, DOWN_SPEED_DEN=10, DOWN_SPEED_NUM=11, DRIVE_CONFIRM_MS=80UL, EEPROM_MAGIC_ADDR=0, EEPROM_MAGIC_VALUE=0x64, IGNITION_STABILIZE_MS=1000UL, MANUAL_STEP_MS=500, PARK_CONFIRM_MS=250UL, PARKING_OFF_THRESHOLD=940, PARKING_ON_THRESHOLD=950, RELAY_DEADTIME_MS=120UL, SEAT_HARD_LIMIT_UP_MS=6000, USES_BEFORE_AUTO_CALIBRATION=10 +- 핀/입출력 설정: ignitionPin:INPUT, parkingPin:INPUT, seatRelayD8:OUTPUT, seatRelayD9:OUTPUT +- 입출력/통신 호출: analogRead, digitalRead, EEPROM.read, EEPROM.update, Serial.available, Serial.begin, Serial.print, Serial.println + +### `report.html` + +- 역할: 프로젝트 보고서 또는 설명을 담은 HTML 문서입니다. +- include/의존성: - +- 주요 함수: - +- 주요 전역값/설정값: - +- 핀/입출력 설정: - +- 입출력/통신 호출: EEPROM.update + +### `upload.ps1` + +- 역할: 업로드/자동화에 사용되는 PowerShell 스크립트입니다. +- include/의존성: - +- 주요 함수: - +- 주요 전역값/설정값: - +- 핀/입출력 설정: - +- 입출력/통신 호출: - + +## 동작 흐름 + +1. `setup()`에서 시리얼, 센서, 통신 모듈, LCD/릴레이/핀 모드 등 초기 설정을 수행합니다. +2. `loop()`에서 센서 측정, 입력 확인, 상태 계산, 출력 제어, 통신 전송 또는 화면 갱신을 반복합니다. +3. 보조 함수들은 측정값 변환, 값 변화 감지, 릴레이/모터 제어, 시간 표시, 네트워크 응답 같은 세부 동작을 나눠 담당합니다. + +## 빌드 및 사용 메모 + +- Arduino IDE 또는 PlatformIO에서 폴더명과 같은 대표 스케치를 열어 빌드합니다. +- 코드에 포함된 네트워크 주소, Wi-Fi 정보, DB 정보, 장치 핀 번호는 실제 하드웨어 구성에 맞춰 확인해야 합니다. +- 민감한 값이 코드에 포함될 수 있으므로 저장소는 private로 유지합니다.