Skip to content

haedalprogramming/karma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

AeroSense - 대기환경 측정 드론 프로토타입

Team Karma의 대기환경 측정 드론 시스템

프로젝트 개요

AeroSense는 자동 비행 및 실시간 환경 데이터(미세먼지, 온습도, 기압) 측정이 가능한 드론 프로토타입입니다.

주요 기능

  • 🌫️ 미세먼지 측정: PM1.0, PM2.5, PM10 실시간 모니터링
  • 🌡️ 환경 센서: 온도, 습도, 기압 측정
  • 🚁 자동 비행: GPS 기반 자동 항법 및 위치 고정
  • 📡 실시간 전송: 지상 통제 시스템(GCS)으로 데이터 전송
  • 🛡️ 방진·방습: 야외 환경 대응 설계

프로젝트 구조

karma/
├── README.md                    # 프로젝트 메인 문서
├── instructions/
│   ├── roadmap.md              # 개발 로드맵
│   └── skillstacks.md          # 기술 스택
└── arduino/
    ├── AeroSense_Main.ino      # 메인 센서 시스템
    ├── AeroSense_Test.ino      # 센서 테스트 코드
    ├── README.md               # Arduino 사용 설명서
    └── WIRING.md               # 배선 가이드

시스템 아키텍처

[PMS7003 센서 #1] ─┐
                   ├─→ [Arduino Nano] ─→ [Pixhawk FC] ─→ [Telemetry] ─→ [Mission Planner]
[PMS7003 센서 #2] ─┘       ↑
                          │
                    [BME280 센서]

하드웨어 스택

비행 시스템

  • FC: Pixhawk (ArduPilot)
  • 프레임: 드론 프레임 (방진·방습 설계)
  • 동력: 모터, ESC, 프로펠러
  • 배터리: LiPo (2S~6S)
  • GPS: GPS 모듈

센서 시스템

  • 임무 컴퓨터: Arduino Nano (USB-C) x 3
  • 미세먼지: PMS7003 x 2
  • 환경: BME280 (온습도/기압)
  • 전원: Tarot UBEC 5V/3A x 3

통신

  • 영상 송수신 장비
  • 텔레메트리 모듈

소프트웨어 스택

임베디드

  • Arduino IDE (C/C++)
    • PMS7003 데이터 수집
    • BME280 센서 처리
    • Serial 통신 프로토콜
  • ArduPilot (Copter)
    • 비행 제어
    • 센서 데이터 통합

지상 통제

  • Mission Planner
    • 비행 임무 계획
    • 실시간 모니터링
    • 센서 데이터 시각화

Arduino 센서 시스템

설치 요구사항

Arduino IDE 라이브러리 매니저에서 설치:

  1. Adafruit BME280 Library by Adafruit
  2. Adafruit Unified Sensor by Adafruit

핀 배치

PMS7003 센서

PMS7003 #1: TX→D2, RX→D3, VCC→5V, GND→GND
PMS7003 #2: TX→D4, RX→D5, VCC→5V, GND→GND

BME280 센서 (I2C)

VCC→3.3V, GND→GND, SDA→A4, SCL→A5

Pixhawk 연결

Arduino TX(D1) → Pixhawk TELEM2 RX
Arduino RX(D0) → Pixhawk TELEM2 TX
GND → Common GND

빠른 시작

  1. 센서 테스트
# Arduino IDE에서 arduino/AeroSense_Test.ino 열기
# 보드: Arduino Nano, 속도: 9600 baud
# 업로드 후 시리얼 모니터로 센서 확인
  1. 메인 시스템 실행
# arduino/AeroSense_Main.ino 업로드
# 속도: 57600 baud
# Pixhawk와 연결하여 데이터 전송
  1. Mission Planner 설정
# TELEM2 포트: Serial 4, Baud: 57600
# 실시간 센서 데이터 수신 확인

자세한 내용은 arduino/README.mdarduino/WIRING.md를 참조하세요.

개발 로드맵

1단계: 기획 및 부품 준비 ✅

  • 설계 확정
  • 핵심 부품 조달

2단계: 하드웨어 조립 및 시스템 통합 🔄

  • 기체 조립 (담당: 장하랑)
  • 센서 모듈 제작 (담당: 김대경)
  • Pixhawk-Arduino 연동
  • 벤치 테스트

3단계: 초도 비행 및 기능 검증

  • 기본 비행 테스트
  • 자동 비행 안정화
  • 데이터 수집 검증

4단계: 시범 운용 및 데이터 검증

  • 실제 환경 테스트
  • 센서 정확도 보정
  • 내구성 평가

5단계: 자동 항법 임무 수행

  • 자동 항법 플랜 수립
  • 완전 자동화 비행
  • 실시간 모니터링

상세 로드맵은 instructions/roadmap.md를 참조하세요.

팀 구성

  • 장하랑 (대표): 드론 설계/조립, 기체 운용 및 비행 테스트
  • 김대경 (팀원): 센서 모듈 프로그래밍, 시스템 통합, 데이터 관리

데이터 프로토콜

센서 데이터는 다음 형식으로 Pixhawk에 전송됩니다:

$AS,PM1,PM2.5,PM10,TEMP,HUM,PRES*CHECKSUM

예시:

$AS,12,25,45,23.5,65.2,1013.2*A7

트러블슈팅

센서 읽기 실패

  • 전원 연결 확인 (5V, 3.3V)
  • TX/RX 핀 교차 연결 확인
  • 센서 웜업 대기 (30초)

Pixhawk 통신 오류

  • Baud Rate 57600 확인
  • GND 공통 연결 확인
  • TELEM2 포트 설정 확인

자세한 내용은 arduino/WIRING.md를 참조하세요.

라이선스

MIT License - Team Karma

문의

프로젝트 관련 문의사항은 이슈를 등록해 주세요.

About

대기환경 측정 드론 프로토타입

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages