로보링크 서포터 사이트> 로보링크 쇼핑몰 바로가기>
아두이노 설치와 실행 코드론 아두이노 예제

윈도우 : 루트 디렉토리 바로 아래에 설치를 권장합니다. (예 : D:RBCodrone)
맥os : 패키지 처음 실행 시 Finder>다운로드>우클릭하여 실행을 권장합니다.

포트의 설치 여부는 장치 관리자>포트(COM&LPT) 탭에서 확인할 수 있습니다.
(맥의 경우 아두이노 실행>툴>포트 탭에서 확인 가능)

위의 다운로드에서 문제가 발생한 경우
웹사이트를 통해 USB드라이버를 직접 다운로드 할 수 있습니다.

구분 목차
라이브러리 코드론 라이브러리 설명
페어링 1) 가장 가까있는 CoDrone에 페어링 (NearbyDrone)
2) 최근에 페어링한 CoDrone에 페어링 (ConnectedDrone)
3) CoDrone 주소로 페어링 (AddresslnputDrone)
4) CoDrone 주소확인하기 (PrintDroneAddress)
5) 간편한 연결 (AutoConnect)
컨트롤 1) 이/착륙 (TakeOff-Landing)
2) 상승/하강 (ThrottleUp)
3) 전진/후진 (PitchUp)
4) 좌이동/우이동 (RollUp)
5) 좌회전/우회전 (YawUp)
6) 터틀턴 (Turn_Over)
7) 비행 조종 (Controller_Flight)
8) 주행 조종 (Controller_drive)
9) 배틀 (Controller_Flight_Battle)
10) 비행 조종 조이스틱 멈춤 (Controller_Flight_joyStop)
11) 입력한 높이로 이동 (Go To Height)
12) 입력한 각도로 회전 (Turn Degree)
LED
컨트롤
1) LED컨트롤 1 (LED_Color_01)
2) LED컨트롤 2 (LED_Color_02)
3) LED컨트롤 3 (LED_Color_03)
4) Led 디폴트 설정 (LedColorDefault)
데이터
수신
1) CoDrone 배터리 레벨체크 (LowBatteryCheck)
2) 비행 자세 정보 (SerialPrintAttitude)
3) RSSI 신호 세기 (RSSI_Polling)
4) 고도 값 표시 (DisplayLEDRangeSensor) - CoDrone Pro 전용
   (고도 값을 측정하는 센서가 추가로 장착)
5) 고도 값 표시 (SerialPrintRangeSensor) - CoDrone Pro 전용
   (고도 값을 측정하는 센서가 추가로 장착)
응용하기 1) 부메랑 턴 (V_Turn)
2) 원 돌기 (Circle_Turn)
3) 손바닥으로 점프 (hand_on)
4) 장애물 점프 (hurdle_jump)
5) 아날로그 센서 컨트롤 (Analog_Control)
6) 디지털 센서 컨트롤 (Button_Control)

예제에 사용된 자세한 함수에 관한 설명이 필요한 경우 아래 라이브러리 소개 페이지를 참고 바랍니다.


#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)

CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 위치의 드론과 연결

CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정 (비행 형태)

// 2초간 드론을 띄운후 착륙하기
if (PAIRING == true)                         // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);             // 이륙
delay(2000);                                    // 대기 시간
CoDrone.FlightEvent(Landing);             // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                            // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                           // 드론 플러그의 통신 개시 (115200bps)

CoDrone.AutoConnect(ConnectedDrone);     // 최근에 연결한 드론과 같은 어드레스 주소의 드론을 연결

CoDrone.DroneModeChange(Flight);           // 드론을 플라이트 모드로 설정합니다. (비행형)

// 2초간 드론을 띄운후 착륙하기
if (PAIRING == true)                                // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);                    // 이륙
delay(2000);                                           // 대기 시간
CoDrone.FlightEvent(Landing);                    // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일
void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)

//CoDrone.PrintDroneAddress();           // 최근에 연결한 드론의 어드레스 주소를 모니터로 출력합니다.

byte droneAddress[6] = {0xFC, 0xA6, 0x61, 0x78, 0xD5, 0xA4};
// 어드레스 주소를 입력 - PrintDroneAddress() 명령으로 확인)

CoDrone.AutoConnect(AddressInputDrone, droneAddress); // 입력한 어드레스 주소와 같은 드론과 연결

CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)

// 2초간 드론을 띄운후 착륙하기
if (PAIRING == true) // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.lightEvent(TakeOff);              // 이륙
delay(2000);                                    // 대기 시간
CoDrone.FlightEvent(Landing);             // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>            // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);          // 드론 플러그의 통신 개시 (115200bps)

CoDrone.PrintDroneAddress();   // 최근에 연결한 드론의 어드레스 주소를 시리얼 모니터로 출력
}

void loop()
{
}

- NearbyDrone, ConnectedDrone 방식이 혼합된 연결 방식입니다.
- 전원을 켤 때 스위치 상태에 따라 연결 방식이 정해집니다.

#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)

CoDrone.AutoConnect();                    // 딥스위치 3번의 상태에 따라 자동으로 드론 연결

CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정 (비행 형태)

CoDrone.FlightEvent(TakeOff);             // 이륙
delay(2000);                                    // 대기 시간
CoDrone.FlightEvent(Landing);             // 서서히 착륙
}

void loop()
{
}

#include <CoDrone.h>                      // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                     // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);      // 드론을 플라이트 모드로 설정합니다. (비행형)

if (PAIRING == true)                          // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);              // 이륙

delay(2000);                                     // 대기 시간

CoDrone.FlightEvent(Landing);              // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시
(115200bps)
CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 드론과 연결
CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)

if (PAIRING == true)                         // 연결(페어링)이 성공한 경우에만 실행
{
THROTTLE = 100                             // THROTTLE 값 입력 100 상승 –100 하강
CoDrone.Control();                           // 조종값 전송

delay(2000);                                   // 대기 시간 입력

CoDrone.FlightEvent(Stop);                // 정지
}
}

void loop()
{
}

#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)

if (PAIRING == true)                         // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);             // 이륙

delay(2000);                                    // 대기 시간

PITCH = 100;                                  // PITCH 값 입력
CoDrone.Control();                           // 조종값 전송

delay(500);                                     // 대기 시간

CoDrone.FlightEvent(Landing);            // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                      // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                     // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)

if (PAIRING == true)                          // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);              // 이륙

delay(2000);                                     // 대기 시간

ROLL = 100;                                    // Roll 값 입력
CoDrone.Control();                            // 조종값 전송
delay(1000);                                     // 대기 시간

CoDrone.FlightEvent(Landing);             // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)

if (PAIRING == true)                         // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);             // 이륙

delay(2000);                                    // 대기 시간

YAW = 100;                                    // Yaw 값 입력
CoDrone.Control();                            // 조종값 전송

delay(1000);                                    // 대기 시간

CoDrone.FlightEvent(Landing);             // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                     // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)

delay(300);                                      // 대기 시간

if (PAIRING == true)                         // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TurnOver);           // 뒤집기

delay(4000);                                    // 실행 시간

CoDrone.FlightEvent(Stop);                 // 멈춤
}
}

void loop()
{
}

#include <CoDrone.h> // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                    // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);   // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);     // 드론을 플라이트 모드로 설정합니다. (비행형)
}

void loop()
{
byte bt1 = digitalRead(11);       // ■ □ □ □ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt4 = digitalRead(14);       // □ □ □ ■ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt8 = digitalRead(18);       // □ □ □ □ □ □ ■ 밑면 적외선 센서를 입력으로 사용

if (bt1 && !bt4 && !bt8)          // 밑면 센서 가장 끝 11번 센서에 손을 대면 실행합니다.
{
CoDrone.FlightEvent(Stop);        // 드론을 정지시킵니다.
}

if (!bt1 && !bt4 && bt8)           // 밑면 센서 가장 끝 18번 센서에 손을 대면 실행합니다.
{
CoDrone.FlightEvent(Landing);    // 드론을 착륙시킵니다.
}

if (PAIRING == true)                 // 연결(페어링)이 성공한 경우에만 실행
{
YAW = -1 * CoDrone.AnalogScaleChange(analogRead(A3));
// 아날로그 3번 핀의 값을 YAW 값으로 사용합니다. - 좌우회전

THROTTLE = CoDrone.AnalogScaleChange(analogRead(A4));
// 아날로그 4번 핀의 값을 THROTTLE 값으로 사용합니다. - 승하강

ROLL = -1 * CoDrone.AnalogScaleChange(analogRead(A5));
// 아날로그 5번 핀의 값을 ROLL 값으로 사용합니다. - 좌우이동

PITCH = CoDrone.AnalogScaleChange(analogRead(A6));
// 아날로그 6번 핀의 값을 PITCH 값으로 사용합니다. - 전후진

CoDrone.Control(SEND_INTERVAL);
// 제어 신호를 보냅니다. 통신이 안정하게 가도록 시간을 두고 보냄 (최소 50ms)
}
}

#include <CoDrone.h>                    // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                   // 드론 플러그의 통신 개시 (115200bps)


CoDrone.AutoConnect(NearbyDrone);  // 가장 가까운 위치의 드론과 연결

CoDrone.DroneModeChange(Drive);    // 드론을 드라이브 모드로 설정합니다. (바퀴 주행형)
}

void loop()
{
byte bt1 = digitalRead(11);     // ■ □ □ □ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt4 = digitalRead(14);     // □ □ □ ■ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt8 = digitalRead(18);     // □ □ □ □ □ □ ■ 밑면 적외선 센서를 입력으로 사용

if (PAIRING == true)              // 연결(페어링)이 성공한 경우에만 실행
{
THROTTLE = CoDrone.AnalogScaleChange(analogRead(A4));
// 아날로그 4번 핀의 값을 THROTTLE 값으로 사용합니다. - 전후 이동

ROLL = -1 * CoDrone.AnalogScaleChange(analogRead(A5));
// 아날로그 5번 핀의 값을 ROLL 값으로 사용합니다. - 좌우 이동

CoDrone.Control(SEND_INTERVAL);
// 제어 신호를 보냅니다. 통신이 안정하게 가도록 시간을 두고 보냄(최소 50ms)

}
}

#include <CoDrone.h>                         // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                        // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);       // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);         // 드론을 플라이트 모드로 설정 (비행형태)

CoDrone.BattleBegin(FREE_PLAY);   // 팀 선택 : TEAM_RED/ TEAM_BLUE/ TEAM_GREEN/ TEAM_YELLOW/ FREE_PLAY
}

void loop()
{
CoDrone.BattleReceive();               // IR-Data 수신

byte bt1 = digitalRead(11);            // ■ □ □ □ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt4 = digitalRead(14);            // □ □ □ ■ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt8 = digitalRead(18);            // □ □ □ □ □ □ ■ 밑면 적외선 센서를 입력으로 사용

if (bt1 && !bt4 && !bt8)               // 밑면 센서 가장 끝 11번 센서에 손을 대면 실행합니다.
{
CoDrone.FlightEvent(Stop);             // 드론을 긴급 정지시킵니다.
}

if (!bt1 && !bt4 && bt8)               // 밑면 센서 가장 끝 18번 센서에 손을 대면 실행합니다.
{
CoDrone.BattleShooting();              // 무기를 발사합니다.
CoDrone.ButtonPreesHoldWait(18);  // 버튼을 뗄때까지 기다립니다. (연속적인 발사를 막습니다.)
}

if (!bt1 && bt4 && !bt8)                // 밑면 가운데 센서에 손을 대면 실행합니다.
{
CoDrone.FlightEvent(Landing);          // 드론을 서서히 착륙 시킵니다.
}

YAW = -1 * CoDrone.AnalogScaleChange(analogRead(A3));
// 아날로그 3번 핀의 값을 YAW 값으로 사용합니다. - 좌우회전

THROTTLE = CoDrone.AnalogScaleChange(analogRead(A4));
// 아날로그 4번 핀의 값을 THROTTLE 값으로 사용합니다. - 승하강

ROLL = -1 * CoDrone.AnalogScaleChange(analogRead(A5));
// 아날로그 5번 핀의 값을 ROLL 값으로 사용합니다. - 좌우이동

PITCH = CoDrone.AnalogScaleChange(analogRead(A6));
// 아날로그 6번 핀의 값을 PITCH 값으로 사용합니다. - 전후진

CoDrone.Control(SEND_INTERVAL);
// 제어 신호를 보냅니다. 통신이 안정하게 가도록 시간을 두고 보냄 (최소 50ms)
}

#include <CoDrone.h>                       // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                      // BLE보드의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);      // 드론을 플라이트 모드로 설정한다. (비행형)
}
void loop()
{
byte bt1 = digitalRead(11);                   // ■ □ □ □ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt4 = digitalRead(14);                   // □ □ □ ■ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt8 = digitalRead(18);                   // □ □ □ □ □ □ ■ 밑면 적외선 센서를 입력으로 사용

if ((analogRead(A4) < 50) && (analogRead(A6) < 50))   // 조이스틱 양쪽을 아래로 내리면 실행한다.
{
CoDrone.FlightEvent(Stop);                                      // 드론을 정지시킨다.
}

if (PAIRING == true)                                              // 연결(페어링)이 성공한 경우에만 실행
{
YAW = -1 * CoDrone.AnalogScaleChange(analogRead(A3));
// 아날로그 3번 핀의 값을 YAW 값으로 사용한다. - 좌우회전

THROTTLE = CoDrone.AnalogScaleChange(analogRead(A4));
// 아날로그 4번 핀의 값을 THROTTLE 값으로 사용한다. - 승·하강

ROLL = -1 * CoDrone.AnalogScaleChange(analogRead(A5));
// 아날로그 5번 핀의 값을 ROLL 값으로 사용한다. - 좌우이동

PITCH = CoDrone.AnalogScaleChange(analogRead(A6));
// 아날로그 6번 핀의 값을 PITCH 값으로 사용한다. - 전·후진

CoDrone.Control(SEND_INTERVAL);
// 제어 신호를 보낸다. 통신이 안정하게가도록 시간을 두고 보냄(최소 50ms)
}
}

#include <CoDrone.h>                       // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                      // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);      // 드론을 플라이트 모드로 설정한다. (비행형)
CoDrone.GoToHeight(800);                  // 800mm(80cm) 높이로 이동(입력 범위 : 1 ~ 2000 (단위: mm))
delay(1000);                                     // 1초 기다리기

CoDrone.FlightEvent(Landing);              // 착륙
}

void loop()
{
}

#include <CoDrone.h>                       // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                      // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);      // 드론을 플라이트 모드로 설정한다. (비행형)

CoDrone.FlightEvent(TakeOff);              // 이륙
delay(3000);                                     // 3초 기다리기

CoDrone.TurnDegree(90);                    // 오른쪽으로 90도 방향 회전
delay(1000);                                     // 1초 기다리기

CoDrone.FlightEvent(Landing);              // 착륙
}

void loop()
{
}

#include <CoDrone.h>                    // 코드론을 사용하기 위한 헤더파일

byte modeTime = 7;                          // 모드 시간 변수
int delayTime = 1000;                        // 대기 시간 변수

void setup()
{
CoDrone.begin(115200);                     // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결
}

void loop()
{
CoDrone.LedColor(ArmDimming, Yellow, modeTime);
// 노랑색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime); // 대기 시간 입력

CoDrone.LedColor(ArmDimming, Cyan, modeTime);
// 하늘색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime); // 대기 시간 입력
}

#include <CoDrone.h>                    // 코드론을 사용하기 위한 헤더파일

byte modeTime = 7;                          // 모드 시간 변수
int delayTime = 1000;                        // 대기 시간 변수

void setup()
{
CoDrone.begin(115200);                      // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);     // 가장 가까운 위치의 드론과 연결
}

void loop()
{
CoDrone.LedColor(ArmDimming, 255, 0, 0, modeTime);
// 입력된 R,G,B 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력

CoDrone.LedColor(ArmDimming, 0, 255, 0, modeTime);
// 입력된 R,G,B 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력

CoDrone.LedColor(ArmDimming, 0, 0, 255, modeTime);
// 입력된 R,G,B 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력

CoDrone.LedColor(ArmDimming, 0, 0, 0, modeTime);
// 입력된 R,G,B 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력
}

#include <CoDrone.h>                    // 코드론을 사용하기 위한 헤더파일

byte modeTime = 7;                          // 모드 시간 변수
int delayTime = 1000;                        // 대기 시간 변수

byte color0[] = {255, 0, 0}; //color0 색상 배열 (R,G,B)
byte color1[] = {0, 255, 0}; //color1 색상 배열 (R,G,B)
byte color2[] = {0, 0, 255}; //color2 색상 배열 (R,G,B)
byte color3[] = {0, 0, 0}; //color3 색상 배열 (R,G,B)

void setup()
{
CoDrone.begin(115200);                      // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NeardbyDrone);   // 가장 가까운 위치의 드론과 연결
}

void loop()
{
CoDrone.LedColor(ArmDimming, color0, modeTime);
// color0에 입력된 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력

CoDrone.LedColor(ArmDimming, color1, modeTime);
// color1에 입력된 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력

CoDrone.LedColor(ArmDimming, color2, modeTime);
// color2에 입력된 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력

CoDrone.LedColor(ArmDimming, color3, modeTime);
// color3에 입력된 색으로 밝기 제어하여 천천히 깜빡이며 modeTime 따라 동작합니다.

delay(delayTime);                               // 대기 시간 입력
}

#include <CoDrone.h>                    // 코드론을 사용하기 위한 헤더파일

byte mode1 = ArmHold;
byte color1[] = {0, 0, 255};                  //color1 색상 배열 (R,G,B)
byte modeTime1 = 255;                     // 모드 시간 변수

byte mode2 = EyeHold;
byte color2[] = {255, 255, 0};                //color2 색상 배열 (R,G,B)
byte modeTime2 = 255;                      // 모드 시간 변수

void setup()
{
CoDrone.begin(115200);                       // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);      // 가장 가까운 위치의 드론과 연결
CoDrone.LedColorDefault(mode1, color1, modeTime2, mode2, color2, modeTime2);
// color에 입력된 색, mode와 modeTime에 따라 동작합니다.
}

void loop()
{
}

#include <CoDrone.h>                      // 코드론을 사용하기 위한 헤더파일
byte level = 50;                                // 이곳에서 설정한 값이 배터리 기준 값이 됨

void setup()
{
CoDrone.begin(115200);                     // 드론 플러그의 기능 개시
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결
CoDrone.LowBatteryCheck(level);          // 만약 배터리가 입력한 기준 값 보다 작다면 부저를 울려서 알려줌
}

void loop()
{
}

#include <CoDrone.h>

void setup()
{
CoDrone.begin(115200);
CoDrone.AutoConnect(NearbyDrone);
delay(500);
}

void loop()
{
AttitudeToSerialMonitor();
delay(500);
}

void AttitudeToSerialMonitor()
{
//---------------------------------------------------------------------------------------------//
CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
delay(100);
CoDrone.Request_DroneAttitude();

long oldTime = millis();
boolean attitudeSuccess = false;
CoDrone.receiveAttitudeSuccess = 0; //receiveAttitudeSuccess flag init

while (attitudeSuccess == false) //receiveAttitudeSuccess check
{
CoDrone.Receive();
if (CoDrone.receiveAttitudeSuccess == 1) attitudeSuccess = true;
if (oldTime + 1000 < millis()) break;
}

//---------------------------------------------------------------------------------------------//
if (attitudeSuccess == true)
{
CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(300);

Serial.println("");
Serial.println("--------- Now attitude -----------");
Serial.print("ROLLt");
Serial.println(AttitudeROLL);
Serial.print("PITCHt");
Serial.println(AttitudePITCH);
Serial.print("YAWt");
Serial.println(AttitudeYAW);
delay(500);
}
//---------------------------------------------------------------------------------------------//
}

#include <CoDrone.h>                      // 코드론을 사용하기 위한 헤더파일

void setup()
{

CoDrone.begin(115200);                     // 드론 플러그의 통신 개시 (115200bps)

CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결

CoDrone.DisplayRSSI();                       // 연결된 드론의 RSSI(신호세기) 값을 LED 불빛으로 표시
}

#include <CoDrone.h>                      // 코드론을 사용하기 위한 헤더파일

int scale = 200;                                // LED 불빛 한개의 기준 고도 200mm
int firstLEDpin = 11;                          // 스마트 보드의 LED 핀 시작 번호

void setup()
{
CoDrone.begin(115200);                     // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);    // 가장 가까운 위치의 드론과 연결

delay(500);

for (int thisPin = 11; thisPin <=1 8; thisPin++) {
pinMode(thisPin, OUTPUT);
}
for (int thisPin = 11; thisPin <=1 8; thisPin++) {
digitalWrite(thisPin, LOW);
}
}

void loop()
{
CoDrone.Request_Range();
long oldTime = millis();

while (CoDrone.receiveRangeSuccess) //receiveRangeSuccess check
{
CoDrone.Receive();
if (oldTime + 1000 < millis()) break;
}

if (CoDrone.receiveRangeSuccess == true)
{
int _sensor = CoDrone.sensorRange[5] / scale;

if (_sensor < 0 )_sensor=0 ;
if (_sensor > 7) _sensor = 7;
for (int thisPin = 11; thisPin <=1 8; thisPin++) {
digitalWrite(thisPin, LOW);
}

digitalWrite(firstLEDpin, HIGH);
for (int i = 1; i < _sensor ; i++)
{
digitalWrite(++firstLEDpin , HIGH);
}
}
}

#include <CoDrone.h>                        // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                       // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);      // 가장 가까운 위치의 드론과 연결
delay(500);
}
void loop()
{
RangeSensorToSerialMonitor();
}

void RangeSensorToSerialMonitor()
{
//---------------------------------------------------------------------------------------------//
CoDrone.Send_LinkModeBroadcast(LinkBroadcast_Active); //link module mode change => Active
delay(100);
CoDrone.Request_Range();

long oldTime = millis();
while (CoDrone.receiveRangeSuccess == false) //receiveRangeSuccess check
{
CoDrone.Receive();
if (oldTime + 1000 < millis()) break; //time out check
}
//---------------------------------------------------------------------------------------------//
if (CoDrone.receiveRangeSuccess == true)
{
CoDrone.Send_LinkModeBroadcast(LinkModeMute); //link module mode change => Mute
delay(300);

Serial.println("");
Serial.println("--------------- Sensor ---------------");
Serial.print("range tt");
Serial.print(CoDrone.sensorRange[5]);
Serial.println(" mm");
Serial.println("-------------------------------------- ");
delay(500);
}
//---------------------------------------------------------------------------------------------//
}

#include <CoDrone.h>                            // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                           // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);         // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);           // 드론을 플라이트 모드로 설정합니다. (비행형)

delay(300);                                            // 대기 시간

if (PAIRING == true)                                // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);                    // 이륙

delay(1000);                                           // 대기 시간

PITCH = 50;                                           // PITCH 값 입력
ROLL = 50;                                            // ROLL 값 입력
CoDrone.Control();                                  // 입력된 값으로 드론 동작

delay(1000);                                           // 대기 시간

PITCH = 50;                                           // PITCH 값 입력
ROLL = -50;                                           // ROLL 값 입력
CoDrone.Control();                                  // 입력된 값으로 드론 동작

delay(1000);                                           // 대기 시간

PITCH = -50;                                          // PITCH 값 입력
ROLL = -50;                                           // ROLL 값 입력
CoDrone.Control();                                  // 입력된 값으로 드론 동작

delay(1000);                                           // 대기 시간

PITCH = -50;                                          // PITCH 값 입력
ROLL = 50;                                            // ROLL 값 입력
CoDrone.Control();                                  // 입력된 값으로 드론 동작

delay(1000);                                           // 대기 시간

CoDrone.FlightEvent(Landing);                    // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                            // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                           // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);         // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);           // 드론을 플라이트 모드로 설정합니다. (비행형)

delay(300);                                            // 대기 시간

if (PAIRING == true)
{
CoDrone.FlightEvent(TakeOff);                    // 이륙
delay(1000);                                           // 대기 시간

THROTTLE = 60;                                     // THROTTLE 값 입력
                                                          //90도 반원 회전 4번 반복
for(int i=0;i<4;i++)
{
THROTTLE = THROTTLE - 10;                    // THROTTLE 값 입력
YAW = -80;                                           // YAW 값 입력
ROLL = 50;                                            // ROLL 값 입력
CoDrone.Control();                                  // 조종값 전송

delay(1500);                                           // 대기 시간
}
CoDrone.FlightEvent(Stop);                        // 멈춤
}
}

void loop()
{
}

#include <CoDrone.h>                                // 코드론을 사용하기 위한 헤더파일

void setup()
{
CoDrone.begin(115200);                              // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);             // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);               // 드론을 플라이트 모드로 설정합니다. (비행형)

if (PAIRING == true)                                    // 연결(페어링)이 성공한 경우에만 실행
CoDrone.FlightEvent(TakeOff);                        // 이륙
delay(1000);                                               // 대기 시간

PITCH = 30;                                               // PITCH 값 입력
CoDrone.Control();                                       // 조종값 전송
delay(300);                                                 // 대기 시간

CoDrone.FlightEvent(Stop);                            // 서서히 착륙
}
}

void loop()
{
}

#include <CoDrone.h>                                // 코드론을 사용하기 위한 헤더파일

void setup() {
CoDrone.begin(115200);                              // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);             // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);               // 드론을 플라이트 모드로 설정합니다. (비행형)

delay(400);                                                // 대기 시간

if (PAIRING == true)                                   // 연결(페어링)이 성공한 경우에만 실행
{
CoDrone.FlightEvent(TakeOff);                       // 이륙

delay(1000);                                               // 대기 시간
                                                              // 상승
THROTTLE = 20;                                         // THROTTLE 값 입력
CoDrone.Control();                                      // 조종값 전송

delay(500);                                                // 대기 시간
                                                              // 전진
THROTTLE = 0;                                          // THROTTLE 전송
PITCH = 100;                                            // PITCH 전송
ROLL = -10;                                              // ROLL 전송
CoDrone.Control();                                      // 조종값 전송

delay(300);                                                // 대기 시간
                                                              // 제자리 비행
THROTTLE = 0;                                          // THROTTLE 전송
PITCH = 0;                                                // PITCH 전송
ROLL = 0;                                                 // ROLL 전송
CoDrone.Control();                                      // 조종값 전송
delay(500);                                                // 대기 시간

CoDrone.FlightEvent(Landing);                       // 착륙
}
}

void loop() {
}

#include <CoDrone.h>                         // 코드론을 사용하기 위한 헤더파일
void setup()
{
CoDrone.begin(115200);                        // 드론 플러그의 통신 개시 (115200bps)
CoDrone.AutoConnect(NearbyDrone);      // 가장 가까운 위치의 드론과 연결
CoDrone.DroneModeChange(Flight);        // 드론을 플라이트 모드로 설정합니다. (비행형)
}

void loop()
{
byte bt1 = digitalRead(11);                    // ■ □ □ □ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt4 = digitalRead(14);                    // □ □ □ ■ □ □ □ 밑면 적외선 센서를 입력으로 사용
byte bt8 = digitalRead(18);                    // □ □ □ □ □ □ ■ 밑면 적외선 센서를 입력으로 사용

int analogValue0 = analogRead(A0);        // 자기가 원하는 것과 연결가능
int analogValue1 = analogRead(A1);        // 자기가 원하는 것과 연결가능
int analogValue2 = analogRead(A2);        // 자기가 원하는 것과 연결가능

if (bt1 && !bt4 && !bt8)                       // 밑면 센서 가장 끝 11번 센서에 손을 대면 실행합니다.
{
CoDrone.FlightEvent(Stop);                     // 드론을 정지시킵니다.
}

if (bt4)                                               // 밑면 센서 중앙 14번 센서에 손을 대면 실행합니다.

{
THROTTLE = map(analogValue1, 0, 1023, -50, 200);                // 승하강
ROLL = map(analogValue0, 0, 1023, 100, 0) + map(analogValue2, 0, 1023, -100, 0); // 좌우이동
CoDrone.Control(SEND_INTERVAL); //제어 신호를 보냅니다. 시간을 두고 보냄 (최소 50ms)
}

if (bt8)                                               // 밑면 센서 가장 끝 18번 센서에 손을 대면 실행합니다.
{
THROTTLE = map(analogValue1, 0, 1023, -50, 200);                // 승하강
PITCH = map(analogValue0, 0, 1023, -100, 0) + map(analogValue2, 0, 1023, 100, 0); // 전후진
CoDrone.Control(SEND_INTERVAL); // 제어 신호를 보냅니다. 시간을 두고 보냄 (최소 50ms)
}
}

#include <CoDrone.h>                             // 코드론을 사용하기 위한 헤더파일

int slowUp = 80;                                     // 천천히 올라가는 정도의 호버링 값
int slowDown = -100;                              // 천천히 내려가는 정도의 호버링 값
int slowTime = 10;                                  // 천천히 움직이는 속도 조절 : 커지면 천천히 올라감.

void setup()
{
CoDrone.begin(115200);

CoDrone.AutoConnect(NearbyDrone);          // 가장 가까운 드론과 연결
CoDrone.DroneModeChange(Flight);            // 드론을 플라이트 모드로 설정합니다. (비행형)

delay(300);

                                                           // 밑면 센서 모두 입력으로 사용
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
pinMode(14, INPUT);
pinMode(15, INPUT);
pinMode(16, INPUT);
pinMode(17, INPUT);
pinMode(18, INPUT);

delay(100);
}

void loop()
{
byte bt1 = digitalRead(11);
byte bt2 = digitalRead(12);
byte bt3 = digitalRead(13);
byte bt4 = digitalRead(14);                         //14 & 15
byte bt6 = digitalRead(16);
byte bt7 = digitalRead(17);
byte bt8 = digitalRead(18);

//*************************** Slow Up ***************************//
//■ □ □ □ □ □ □ 1 번째 센서에 손대면 천천히 상승
if (bt8 && !bt7 && !bt6 && !bt4 && !bt3 && !bt2 && !bt1)
{
THROTTLE = slowUp;
CoDrone.Control();
delay(slowTime);
THROTTLE = 0;
CoDrone.Control();
}

//*************************** Slow Down ***************************//
//□ □ □ □ □ □ ■ 7 번째 센서에 손대면 천천히 하강
else if (!bt8 && !bt7 && !bt6 && !bt4 && !bt3 && !bt2 && bt1)
{
THROTTLE = slowDown;
CoDrone.Control();
delay(slowTime);
THROTTLE = 0;
CoDrone.Control();
}

//**************************** STOP ******************************//
//□ □ □ ■ □ □ □ 밑몉 센서 4번째 감지시 Stop
else if (bt4)
{
CoDrone.FlightEvent(Stop);

}
//**************************** Control ******************************//
//□ ■ □ □ □ □ □ 밑면 2 번째 센서 감지시 전진
//Forward
else if (!bt8 && bt7 && !bt6 && !bt4 && !bt3 && !bt2 && !bt1)
{
PITCH = 40;
CoDrone.Control();
}
//□ □ □ □ □ ■ □ 밑면 6 번째 센서 감지시 후진
//Back
else if (!bt8 && !bt7 && !bt6 && !bt4 && !bt3 && bt2 && !bt1)
{
PITCH = -40;
CoDrone.Control();
}
//□ □ ■ □ □ □ □ 밑면 3 번째 센서 감지시 왼쪽
//Left
else if (!bt8 && !bt7 && bt6 && !bt4 && !bt3 && !bt2 && !bt1)
{
ROLL = -40;
CoDrone.Control();
}
//□ □ □ □ ■ □ □ 밑면 5 번째 센서 감지시 오른쪽
//Right
else if (!bt8 && !bt7 && !bt6 && !bt4 && bt3 && !bt2 && !bt1)
{
ROLL = 40;
CoDrone.Control();
}
delay(10);
}