Arduino Uno 연동
이 글에서는
GrowSpace UWB 리스너 또는 개발자 태그를 Arduino Uno와 연결하여, lep
명령어 기반으로 실시간 위치 데이터를 수신하는 방법을 안내합니다. Uno는 하드웨어 시리얼 포트가 하나뿐이므로, 소프트웨어 시리얼 방식인 AltSoftSerial을 사용해 데이터를 안정적으로 처리합니다.
준비물
GrowSpace 리스너 또는 개발자 태그 (GR-LST-1001 또는 GR-TGD-1001S)
Arduino Uno 보드
점퍼 와이어
USB 케이블 (PC 연결용)
Arduino IDE
AltSoftSerial 라이브러리 (소프트웨어 시리얼 통신용)
Arduino IDE 및 라이브러리 설치
Arduino IDE 설치
Arduino 공식 다운로드 링크에서 운영체제에 맞는 버전으로 설치하세요.
AltSoftSerial 설치
Arduino IDE 실행
상단 메뉴 → 스케치 > 라이브러리 포함하기 > 라이브러리 관리
AltSoftSerial 검색 후 최신 버전 설치
왜 AltSoftSerial이 필요한가요?
Arduino Uno는 USB 포트와 연결되는 기본 하드웨어 시리얼(Serial
) 포트가 하나만 있습니다. 하지만 GrowSpace UWB 장치는 115200bps의 고속 시리얼 통신을 필요로 하기 때문에, Uno의 기본 포트만으로는 PC와 장치 간 양방향 통신을 동시에 처리하기 어렵습니다.
일반 SoftwareSerial의 한계
고속 통신(115200bps)에서 오류 발생률이 높음
타이머와 충돌하여 millis(), delay() 등의 함수 사용에 제한
AltSoftSerial의 장점
내부 타이머를 기반으로 더욱 정확하고 안정적인 통신 제공
115200bps 이상의 고속 통신에서도 안정적인 수신 가능
사용 방식이 Serial과 유사해 구현이 쉬움
Uno에서는 RX: D8, TX: D9로 고정되어 충돌 최소화
따라서 Uno 보드에서 GrowSpace 장치를 안정적으로 연동하기 위해서는 AltSoftSerial 사용이 권장됩니다.
시리얼 핀 연결 (AltSoftSerial)
GrowSpace 장치와 Arduino Uno의 연결은 다음과 같습니다. Uno는 5V 장치와의 연결이 가능하므로, 우측 커넥터(5V 기반)를 사용합니다.
GrowSpace 장치 핀
Arduino Uno 핀
HV (5V)
5V
GND
GND
TXD
D8
RXD
D9
⚠️ TX ↔ RX는 반드시 교차 연결해야 합니다. 장치의 TX → Uno의 D8 (AltSoftSerial의 RX) 장치의 RX → Uno의 D9 (AltSoftSerial의 TX)


AltSoftSerial 기반 데이터 수신 예제 코드
#include <AltSoftSerial.h>
AltSoftSerial altSerial; // RX: D8, TX: D9
void setup() {
Serial.begin(115200); // USB 시리얼
altSerial.begin(115200); // GrowSpace 장치 시리얼
delay(100);
// 장치 리셋
altSerial.print("reset\r");
delay(1000);
// 버퍼 정리
while (altSerial.available()) {
altSerial.read();
}
// 위치 요청 시작
altSerial.print("lep\r");
}
void loop() {
while (altSerial.available()) {
char c = altSerial.read();
Serial.write(c); // PC에 출력
}
}
시리얼 모니터 설정 및 테스트
코드를 업로드한 후 Arduino Uno와 PC를 연결하세요.
Arduino IDE에서 도구 > 시리얼 모니터 열기
속도: 115200, 줄바꿈(Newline): 활성화
출력 예시 (개발자 태그 / 리스너 공통)
POS,0,0104,12.34,56.78,9.01,95,BC

또는
X: 12.34, Y: 56.78, Z: 9.01

GrowSpace 장치로부터 정상적으로 위치 데이터를 수신하면 위와 같은 값이 출력됩니다.
문제 해결 가이드
출력이 없을 경우
점퍼 와이어 연결 상태를 다시 확인하세요.
AltSoftSerial 라이브러리가 제대로 설치되었는지 확인하세요.
Uno 보드의 포트를 다시 선택하고, 보드 재부팅 후 재시도하세요.
보다 안정적인 통신이 필요한 경우
Arduino Mega 2560 보드를 사용하는 것을 권장합니다. Mega는 하드웨어 시리얼을 4개 지원합니다.
마무리
이 매뉴얼에서는 GrowSpace UWB 리스너 또는 개발자 태그를 Arduino Uno와 연결해 실시간 위치 데이터를 수신하는 방법을 살펴보았습니다. lep
명령어로 수신한 위치 정보는 다양한 실내 측위 프로젝트 및 RTLS 시스템에 적용할 수 있습니다.
Last updated