DIY 드론 빌드: UART의 비밀을 풀다
드론을 처음 만들 때 플라이트 컨트롤러(FC)의 UART라는 단어를 마주했습니다. "이게 뭐지?"라는 궁금증이 시작이었고, GPS 모듈을 연결하면서부터 UART의 세계에 발을 들였습니다. 하지만 연결하고 설정하는 과정에서 자꾸만 새로운 의문이 생겨났습니다. 왜 TX와 RX를 교차로 연결해야 할까? RC 수신기는 왜 RX만 쓰지? UART 포트가 왜 모자라는 걸까? 이 글은 그런 미스터리를 하나씩 파헤쳐가는 여정입니다. 함께 풀어보며 드론의 숨겨진 통신 비밀을 알아가 봅니다. 첫 번째 미스터리: UART란 무엇인가? UART는 "Universal Asynchronous Receiver/Transmitter"의 약자입니다. 직역하면 "범용 비동기 수신/송신기"인데, 쉽게 말해 FC가 외부 장치와 데이터를 주고받게 해주는 통신 포트입니다. 드론에서 GPS, 텔레메트리, 수신기 같은 장치들을 연결할 때 꼭 거쳐야 하는 관문이죠. 처음엔 단순히 "선 연결하면 되겠지" 했지만, UART가 어떻게 작동하는지 알수록 그 단순함 뒤에 숨은 복잡함이 보였습니다. UART는 직렬 통신 방식으로 작동합니다. 데이터를 한 비트씩 순서대로 보내고 받는 구조인데, "비동기"라는 점이 핵심입니다. I2C나 SPI 같은 동기 통신은 클럭 신호로 타이밍을 맞추지만, UART는 클럭 없이 데이터를 보냅니다. 대신 Start Bit으로 시작을 알리고, Stop Bit으로 끝을 알려줍니다. 이 간단한 방식 덕분에 배선이 단순해지고, 설정만 잘 맞추면 다양한 장치와 통신할 수 있습니다. 예를 들어, GPS를 연결한다고 해봅시다. FC의 UART 포트에서 TX(송신) 핀을 GPS의 RX(수신)에, FC의 RX를 GPS의 TX에 연결합니다. 그러면 GPS가 위치 데이터를 FC로 보내고, FC는 그 데이터를 읽어 비행에 활용합니다. 이 교차 연결이 처음엔 어색했지만, UART가 데이터를 한 방향씩 주고받는 방식임을 ...