쓰레기 개발자

Turtlebot4에 TOF 센서 연결하는법 - 1 본문

인턴

Turtlebot4에 TOF 센서 연결하는법 - 1

공덕동 불닭주먹 2025. 2. 6. 18:03
  • GPIO란 General-Purpose Input/Output의 약자로 직역하면 범용 입출력 핀이다. 싱글보드 컴퓨터나 마이크로컨트롤러(MCU)에서 외부장치(센서, 모니터 등)와 상호작용 할 수 있게 제공되는 디지털 핀이다. 전기 신호로 입력을 받을수도 있고, 출력으로 전송도 할 수 있다.
  • I2C란 IC 사이에 통신 링크를 제공하는 양방향 2와이어 직렬 버스이다. 쉽게 말해 선 두개로 직렬 통신하는 프로토콜이다. 선의 종류는 SDA와 SCL이 있다.
    1. SDA : 데이터를 주고 받음
    2. SCL : 타이밍 동기화를 하기 위함
 
TOF 센서를 I2C를 통해 라즈베리파이의 GPIO의 남는 USER-PORT에 연결하여 TOF 센서 데이터를 파일로 저장 & 시각화를 하려고 한다.

 

- 사용할 수 있는 GPIO 확인

 

아래 명령어로 I2C 연결 디바이스 주소를 확인하는 패키지를 설치한다.
sudo apt update
sudo apt install i2c-tools
그 후에 다음 명령어로 I2C 어댑터의 리스트를 확인한다.
sudo i2cdetect-l
다음과 같이 두개가 뜨는것을 볼 수 있다.
i2c-1 (1번 버스), bcm2835는 Broadcom SoC 칩셋에서 제공하는 I2C 컨트롤러이다. Raspberry Pi 4에서 기본적으로 사용되는 I2C 버스이다.
i2c-3 (3번 버스), 300000002.i2c는 펌웨어가 할당한 시스템 장치이므로 여기에 TOF는 연결하면 안된다.
다음 명령어로 1, 3번 버스에 뭐가 있는지 확인한다.
sudo i2cdetect -y 1
sudo i2cdetect -y 3
터틀봇에선 다음과 같이 뜬다.
다른 센서는 이미 연결이 되어 있으니 TOF는 i2c 1번 버스로 할당된 GPIO 2번(SDA)과 3번(SCL)에 연결하면 된다. (공식문서 참고)
** GPIO 0번과 1번은 EEPROM 통신용이므로 사용하면 내부 저장장치와 충돌할 가능성 있음 **
위 사진은 TOF 센서인 VL53L7CX이다. 이제 Turtlebot4의 2x20 RPi Connector Pinout을 기준으로 꽂을 위치를 잡으면
Turtlebot4 (2*20)
TOF 센서
Pin # 1
VIN
GND 아무곳에나
GND
Pin # 3
SDA
Pin # 5
SCL
위와 같이 연결하면 된다. ** GPIO # 가 아닌 Pin # **
하지만 터틀봇에는 2x12 User I/O Pinout가 있다. 모든 USER_PORT는 2*12 보조 커넥터로 라우팅 돼있다고 공식 문서에서 설명한다.
위 사진을 참고하여 2*12 User I/O Pin에 꽂으려면 다음과 같이 꽂으면 된다.
Turtlebot4 (2*12)
TOF 센서
Pin # 1
VIN
GND 아무곳에나
GND
Pin # 3
SDA
Pin # 5
SCL
반응형