산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

라즈베리 파이에 센서 데이터 통합하기: GPS 및 MPU-9150 IMU 실전 가이드

요약

GPS 모듈과 MPU-9150 IMU를 라즈베리 파이의 I²C와 UART 인터페이스로 연결하고 실시간으로 정보를 처리해 자율 내비게이션에 활용하는 방법을 배웁니다.

키워드: I2C 통신, UART 통신, Adafruit Ultimate GPS Breakout, Sparkfun MPU-9150 Breakout, 라즈베리 파이 설정

소개

센서 데이터 획득은 모든 디지털 제어 시스템의 근간입니다. 임베디드 컨트롤러가 이 입력을 처리할 때 통신 인터페이스 선택이 중요해집니다. 로봇 내비게이션 프로젝트에서는 지속적인 GPS 위치 업데이트와 정확한 코스 측정이 필수적입니다. 이 튜토리얼은 GPS 모듈과 자력계를 라즈베리 파이에 배선하고 데이터를 원격으로 확인하며 제어 소프트웨어에 통합하는 방법을 보여줍니다.

목표

이 고급 튜토리얼은 라즈비안과 기본 bash 명령에 익숙하다고 가정합니다. 파이의 시리얼 인터페이스로 가속도계와 GPS 데이터를 읽고 센서를 배선하며 필요한 하드웨어 드라이버를 설정하는 과정을 안내합니다.

정보

하드웨어

MPU-9150은 MPU-6050(3축 자이로스코프 & 가속도계)과 AK8975 디지털 나침반을 결합한 멀티칩 모듈입니다. 저전력과 고성능으로 스마트폰과 태블릿에 널리 사용됩니다.

Adafruit Ultimate GPS는 MTK3339 칩 기반으로 10Hz 업데이트 레이트, 22위성 추적, 외부 안테나 포트를 제공합니다. 빨간 LED가 신호 상태를 표시: 탐색 중 1Hz 깜빡임, 고정 달성 시 15초 간격 깜빡임.

통신 표준

I²C는 양방향 라인 두 개(SDA & SCL)로 마스터(파이)와 여러 슬레이브를 연결하며 각 슬레이브는 고유 주소를 가집니다.

UART는 프로그래머 정의 보드레이트로 5~8비트 프레임으로 비동기 전송하며 별도 TxD와 RxD 라인이 필요합니다.

부품 목록

가정

절차

  1. 파이의 GPIO 핀 식별: UART는 GPIO 14(Tx) & 15(Rx); I²C는 GPIO 2(SDA) & 3(SCL).
  2. GPS 배선: GPS의 Tx를 파이 Rx에, Rx를 파이 Tx에 연결, Vin에 3.3V 또는 5V 공급, GND를 파이 그라운드에 연결.
  3. MPU-9150 배선: Vcc를 3.3V, GND를 그라운드, SDA를 GPIO 2, SCL을 GPIO 3에 연결.
  4. 파이에서 I²C 활성화:
    • sudo apt-get update && sudo apt-get install i2c-tools libi2c-dev 실행.
    • WiringPi 설치: git clone git://git.drogon.net/wiringPi && cd wiringPi && sudo nano /etc/modules에서 snd-bcm2835, i2c-bcm2708, i2c-dev 추가.
    • /boot/config.txt에 dtparam=i2c1=on과 dtparam=i2c_arm=on 추가 후 재부팅.
  5. MPU-6050 데모 설치:
    • git://github.com/richardghirst/PiBits.git 복제, MPU6050-Pi-Demo로 이동, libgtkmm-3.0-dev 설치.
    • I2Cdev.cpp와 setup-i2c.sh에서 /dev/i2c-0을 /dev/i2c-1로 변경.
    • make로 컴파일, ./setup-i2c.sh 실행, sudo i2cdetect -y 1로 확인.
    • ./demo_raw 실행해 원시 자이로와 가속도계 데이터 확인.
  6. GPS 데이터 획득 설정:
    • Adafruit의 GPS 데몬 가이드가 시작점이지만 커스텀 처리를 위해 오픈소스 libgps 라이브러리 사용.
    • git://github.com/wdalmut/libgps.git 복제, make && sudo make install로 컴파일.
    • 제공된 position_logger.c 예제로 테스트: gcc -o position_logger position_logger.c -lgps -lm으로 컴파일하고 ./position_logger 실행. 고정 획득 시 위도/경도가 10진수 도 단위로 출력.

결론

이 튜토리얼은 라즈베리 파이에서 두 가지 일반 센서의 하드웨어 배선, 통신 프로토콜 활성화, 기본 소프트웨어 설정을 다뤘습니다. 예제는 데이터 표시에 초점을 맞추지만 같은 원리를 정교한 내비게이션이나 제어 알고리즘에 센서 출력을 통합하는 데 확장할 수 있습니다. 각 센서 라이브러리 숙달과 탄탄한 C/C++ 개발 역량으로 더 복잡한 실시간 센서 융합이 가능해집니다.

참고문헌

제조공정

  1. 라즈베리 파이 다중 DS18B20 1-와이어 센서 연결으로 정확한 온도 모니터링
  2. 라즈베리 파이와 DS18B20을 이용한 전문적인 온도 모니터링
  3. 라즈베리 파이로 서버실 정확한 온도 모니터링하기
  4. 라즈베리 파이에서 PIR 모션 센서로 LED 제어하기
  5. 스마트 관수용 저가 라즈베리 파이 토양 수분 센서 만들기
  6. 라즈베리 파이 실시간 팬/틸트 얼굴 추적 – 실전 가이드
  7. 레고 마인드스톰 NXT 초음파 센서를 라즈베리 파이에 직접 연결하기
  8. HC-SR04 초음파 센서를 라즈베리 파이에 연결하기 – 실전 가이드
  9. 라즈베리 파이, DHT11, ThingSpeak로 첫 IoT 프로젝트 만들기
  10. 라즈베리 파이와 습도 센서로 자동 에어로포닉스 시스템 만들기