Pin Map

pin map이란 하드웨어를 연결하기 위한 각각의 핀들이 가지는 고유한 번호와 위치를 나타낸 정보이다.

Arduino UNO R3

Arduino UNO R3

위의 이미지와 같이 자신이 사용하는 HW의 핀맵을 보고 회로를 구성하거나 코드를 작성한다.

아래와 같이 대부분의 HW들은 공식 홈페이지에서 datasheet를 제공하므로 아래 링크나 구글링을 통해 찾아보면 된다.

UNO R3 | Arduino Documentation

GPIO

GPIO란 General Purpose Input/Output 의 약자로 IC(Intergrated Circuit)에서 입출력이 가능한 핀을 말한다.

외부로부터 데이터를 읽는 입력 기능과 모터 제어, LED밝기 등을 제어하는 출력 기능을 가능케 한다.

디지털 GPIO 핀은 0 또는 5V의 디지털 값을 출력하고, 아날로그 GPIO 핀은 0V부터 5V까지의 연속적인 값을 출력한다. 주로 아날로그 GPIO 핀은 센서와의 연결에 사용된다.

아두이노 IDE와 개발 언어 에서 배웠던 함수들을 활용하여, 간단하게 LED를 켜고 끄는 예제를 해볼 수 있다.

#define LED 13 // 사용한 핀 번호에 맞게 LED를 지정.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);   // LED 핀을 출력으로 설정.
}

// loop 함수는 반복적으로 실행된다.
void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // LED를 켠다. (HIGH는 전압 레벨을 의미)
  delay(1000);                     // 1초(=1000ms) 기다린다.
  digitalWrite(LED_BUILTIN, LOW);  // LED를 끈다. (전압 레벨을 LOW로 만들어서)
  delay(1000);
}

이제 기본적인 사전 지식을 모두 갖추었고, 본격적으로 Flight Controller를 개발해보도록 한다.

Serial 통신( UART, I2C, SPI )