Page 55 - MDP2022-2
P. 55
teapotPacket[5] = fifoBuffer[5];
teapotPacket[6] = fifoBuffer[8];
teapotPacket[7] = fifoBuffer[9];
teapotPacket[8] = fifoBuffer[12];
teapotPacket[9] = fifoBuffer[13];
Serial.write(teapotPacket, 14);
teapotPacket[11]++; // packetCount, loops at 0xFF on purpose
#endif
// blink LED to indicate activity
blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState);
}
int pitchData = ypr[1] * 180 / M_PI; // 센서 pitch값을 저장할 pitchData 변수 설정
int rollData = ypr[2] * 180 / M_PI; // 센서 roll 값을 저장할 rollData 변수 설정
if (pitchData < -30) { // pitch값이 -30보다 작으면 우회전
mySerial.write('a'); Serial.write("bt Right \n ");
}
else if (pitchData > 30) { // pitch값이 30보다 크면 좌회전
mySerial.write('b'); Serial.write("bt Left \n ");
}
else if (30>pitchData>-30) { // pitch값이 30보다 작고 -30보다 크면 전진
mySerial.write('c'); Serial.write("bt go \n ");
}
else { // 위에 설정된 센서값이 없다면 정지
digitalWrite(5,0);
digitalWrite(6,0);
}
}
수신부 아두이노 코드
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); //블루투스의 Tx, Rx핀을 2번 3번핀으로 설정
void setup() { //setup문
// 시리얼 통신의 속도를 9600으로 설정
Serial.begin(9600);