Skip to content

Repository files navigation

EMG Dashboard

근전도(EMG) 센서를 PC에 연결했을 때, 실시간으로 들어오는 신호를 그래프와 막대로 보여주는 프로그램입니다.


이 프로그램으로 할 수 있는 것

  • 실시간 파형 보기
    센서에서 들어오는 채널별 신호를 시간에 따라 그래프로 확인할 수 있습니다.
    (연속선 모드 / 구간 막대 모드 중 선택 가능)

  • 채널별 세기 비교
    각 채널의 진폭(세기)을 막대 높이(0~100%)로 한눈에 비교할 수 있습니다.

  • 방향 벡터 보기
    채널별 신호 강도를 대각선 방향 벡터로 표시해, 패턴을 직관적으로 볼 수 있습니다.

  • 데이터 저장
    수신한 Raw·진폭·시간을 CSV 파일로 기록할 수 있습니다.

  • 4채널·6채널 모두 사용 가능
    별도 설정 없이, 한 줄에 숫자 4개를 보내는 센서는 4채널로, 6개를 보내는 센서는 6채널로 자동 인식합니다.
    데이터 전송 속도가 달라도, 화면에는 항상 최근 5초가 알맞게 표시되도록 자동으로 맞춰집니다.


필요한 것

  • PC (Windows / macOS / Linux)
  • Python 3 설치
  • EMG 센서 (또는 한 줄에 4개 또는 6개 숫자를 시리얼로 보내는 장치)
  • 센서와 PC를 연결하는 시리얼(COM) 포트

설치 및 실행

1. 터미널(명령 프롬프트)을 열고, 이 프로젝트가 있는 폴더로 이동합니다.

2. 가상환경을 만들고 활성화합니다.

python -m venv .venv
.venv\Scripts\activate

(macOS/Linux: source .venv/bin/activate)

3. 필요한 라이브러리를 설치합니다.

pip install PyQt6 pyqtgraph numpy pyserial

4. 프로그램을 실행합니다.

cd emg_dashboard
python main.py

5. 화면에서

  • 포트 목록에서 센서가 연결된 포트를 선택하고
  • START 버튼을 누르면 수신이 시작됩니다.
  • STOP 버튼으로 수신을 중지할 수 있습니다.

센서가 보내는 데이터 형식

  • 한 줄에 공백으로 구분된 숫자를 보내고, 줄 끝에 줄바꿈을 넣으면 됩니다.
    • 예 (4채널): 123 456 789 012 뒤에 줄바꿈
    • 예 (6채널): 100 200 300 400 500 600 뒤에 줄바꿈
  • 숫자가 한 줄에 4개면 4채널, 6개면 6채널로 자동 인식됩니다.

개발자용 문서

코드 구조, 모듈 역할, 설정값, 알고리즘 상세가 필요하면 아래 문서를 참고하면 됩니다.

문서 목적
MODULES.md 파일별 역할, 데이터 흐름, 모듈 구조
PROJECT_DOCUMENTATION.md 아키텍처, 설정값/용어/수식, 시그널·에러 처리 등 상세 참조

라이선스는 프로젝트 정책을 따릅니다.

About

PyQt6 기반 4ch/6ch EMG 실시간 시각화 대시보드

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages