main
Player
개요
TFT LCD, SD 카드, DFPlayer Mini, 로터리 엔코더를 사용하는 음악 플레이어 UI 프로젝트입니다.
코드 구성 요약
- 분석한 파일 수: 1
- 사용 라이브러리/include: Adafruit_GFX.h, Adafruit_ILI9341.h, DFRobotDFPlayerMini.h, SD.h, SPI.h
- 코드에서 확인되는 주요 모듈: DFRobotDFPlayerMini, SD, SPI
- 코드에서 확인되는 핀/입출력 단서: ENCODER_KEY:INPUT_PULLUP, ENCODER_S1:INPUT_PULLUP, ENCODER_S2:INPUT_PULLUP, SD_CS:OUTPUT, TFT_CS:OUTPUT
파일별 설명
Player.ino
- 역할: Arduino의
setup()/loop()를 포함한 실행 스케치입니다. - include/의존성: Adafruit_GFX.h, Adafruit_ILI9341.h, DFRobotDFPlayerMini.h, SD.h, SPI.h
- 주요 함수: checkEncoder, drawVisualizer, drawVolumeBlink, formatTime, handleButton, handleSDError, handleSmartSelect, loop, onEncoderMove, playNextTrack, playTrack, readEncoder, renderVolumeText, setup, showSaveMsg, togglePause, updateProgressBar, updateTitleScroll, updateUI
- 주요 전역값/설정값: artistPixelWidth=0, artistScrollX=10, buttonActive=false, buttonPressTime=0, currentTrack=1, feedbackGiven=false, isPaused=true, isShuffle=false, isVolumeMode=false, isWaitingToPlay=false, lastEncoderMoveTime=0, lastReportedPos=0, modeChanged=false, pausedTime=0, shuffleChanged=false, songStartTime=0, totalTracks=0, volume=15
- 핀/입출력 설정: ENCODER_KEY:INPUT_PULLUP, ENCODER_S1:INPUT_PULLUP, ENCODER_S2:INPUT_PULLUP, SD_CS:OUTPUT, TFT_CS:OUTPUT
- 입출력/통신 호출: analogRead, attachInterrupt, digitalRead, digitalWrite
동작 흐름
setup()에서 시리얼, 센서, 통신 모듈, LCD/릴레이/핀 모드 등 초기 설정을 수행합니다.loop()에서 센서 측정, 입력 확인, 상태 계산, 출력 제어, 통신 전송 또는 화면 갱신을 반복합니다.- 보조 함수들은 측정값 변환, 값 변화 감지, 릴레이/모터 제어, 시간 표시, 네트워크 응답 같은 세부 동작을 나눠 담당합니다.
빌드 및 사용 메모
- Arduino IDE 또는 PlatformIO에서 폴더명과 같은 대표 스케치를 열어 빌드합니다.
- 코드에 포함된 네트워크 주소, Wi-Fi 정보, DB 정보, 장치 핀 번호는 실제 하드웨어 구성에 맞춰 확인해야 합니다.
- 민감한 값이 코드에 포함될 수 있으므로 저장소는 private로 유지합니다.
Description
Languages
C++
100%