반응형
이번 글에서는 LOLIN D32 개발 보드와 MPU-6050 센서를 활용하여 데이터를 수집하고, 이를 Processing에서 3D 그래픽으로 표현하는 방법을 소개합니다. 드론이나 로봇의 자세를 시각화하는 데 유용한 기술이며, 실시간 데이터를 활용하여 보다 직관적인 분석이 가능합니다.
준비물
- LOLIN D32 개발 보드
- MPU-6050 IMU 센서
- Processing (시각화 소프트웨어)
- Arduino IDE (ESP32 코드 작성)
데이터 송신 및 수신
LOLIN D32에서 MPU-6050 데이터를 읽고 Processing으로 전달하는 방식은 Serial 통신을 사용합니다. ESP32가 데이터를 가공한 후, Processing에서 이를 받아 3D로 표현하는 구조입니다.
Processing 코드 예시 (3D 시각화)
import processing.serial.*;
Serial port;
float roll, pitch, yaw;
String latestData = "";
void setup() {
size(600, 600, P3D);
port = new Serial(this, Serial.list()[1], 115200); // 포트 설정
port.bufferUntil('\n');
}
void draw() {
background(200);
lights();
translate(width/2, height/2 - 50, 0);
rotateY(radians(yaw));
rotateX(radians(-pitch));
rotateZ(radians(-roll));
fill(100, 200, 255);
stroke(0);
box(200, 20, 80);
// 데이터 표시
camera();
fill(0);
textAlign(LEFT, TOP);
textSize(16);
text("Roll: " + nf(roll, 1, 2) + "°\n" +
"Pitch: " + nf(pitch, 1, 2) + "°\n" +
"Yaw: " + nf(yaw, 1, 2) + "°", 20, height - 80);
}
void serialEvent(Serial port) {
String data = port.readStringUntil('\n');
if (data != null) {
data = trim(data);
String[] angles = split(data, ',');
if (angles.length == 3) {
roll = float(angles[0]);
pitch = float(angles[1]);
yaw = float(angles[2]);
latestData = data;
}
}
}
반응형
'ESP32' 카테고리의 다른 글
초소형 드론용 DC 모터 회로 구성 준비 부품 구매 정리 (0) | 2025.05.07 |
---|---|
MPU-6050 센서 LOLIN D32 연결해보기 (0) | 2025.04.30 |