Wonseok Kwak

CoDroneFlightTest

1 #include <CoDrone.h> // 코드론을 사용하기 위한 헤더파일 1 #include <CoDrone.h> // 코드론을 사용하기 위한 헤더파일
2 2
3 void setup() 3 void setup()
4 -{ 4 +{
5 CoDrone.begin(115200); // 드론 플러그의 통신 개시 (115200bps) 5 CoDrone.begin(115200); // 드론 플러그의 통신 개시 (115200bps)
6 -
7 CoDrone.AutoConnect(NearbyDrone); // 가장 가까운 위치의 드론과 연결 6 CoDrone.AutoConnect(NearbyDrone); // 가장 가까운 위치의 드론과 연결
8 - 7 + CoDrone.DroneModeChange(Flight); // 드론을 플라이트 모드로 설정합니다. (비행형)
9 - CoDrone.DroneModeChange(Flight); // 드론을 플라이트 모드로 설정 (비행 형태)
10 -
11 - // 2초간 드론을 띄운후 착륙하기
12 - if (PAIRING == true) // 연결(페어링)이 성공한 경우에만 실행
13 - {
14 - CoDrone.FlightEvent(TakeOff); // 이륙
15 - delay(2000); // 대기 시간
16 - CoDrone.FlightEvent(Landing); // 서서히 착륙
17 - }
18 } 8 }
19 9
20 void loop() 10 void loop()
21 { 11 {
12 + byte bt1 = digitalRead(11); // ■ □ □ □ □ □ □ 밑면 적외선 센서를 입력으로 사용
13 + byte bt4 = digitalRead(14); // □ □ □ ■ □ □ □ 밑면 적외선 센서를 입력으로 사용
14 + byte bt8 = digitalRead(18); // □ □ □ □ □ □ ■ 밑면 적외선 센서를 입력으로 사용
15 +
16 + if (bt1 && !bt4 && !bt8) // 밑면 센서 가장 끝 11번 센서에 손을 대면 실행합니다.
17 + {
18 + CoDrone.FlightEvent(Stop); // 드론을 정지시킵니다.
19 + }
20 +
21 + if (!bt1 && !bt4 && bt8) // 밑면 센서 가장 끝 18번 센서에 손을 대면 실행합니다.
22 + {
23 + CoDrone.FlightEvent(Landing); // 드론을 착륙시킵니다.
24 + }
25 +
26 + if (PAIRING == true) // 연결(페어링)이 성공한 경우에만 실행
27 + {
28 + YAW = -1 * CoDrone.AnalogScaleChange(analogRead(A3)); // 아날로그 3번 핀의 값을 YAW 값으로 사용합니다. - 좌우회전
29 +
30 + THROTTLE = CoDrone.AnalogScaleChange(analogRead(A4)); // 아날로그 4번 핀의 값을 THROTTLE 값으로 사용합니다. - 승하강
31 +
32 + ROLL = -1 * CoDrone.AnalogScaleChange(analogRead(A5)); // 아날로그 5번 핀의 값을 ROLL 값으로 사용합니다. - 좌우이동
33 +
34 + PITCH = CoDrone.AnalogScaleChange(analogRead(A6)); // 아날로그 6번 핀의 값을 PITCH 값으로 사용합니다. - 전후진
35 +
36 + CoDrone.Control(SEND_INTERVAL); // 제어 신호를 보냅니다. 통신이 안정하게 가도록 시간을 두고 보냄 (최소 50ms)
37 + }
22 } 38 }
......