티스토리 뷰

목차
1. 보드선택
2. 포트셋업
3.회로 구성
4. 기본 LED 코드 실행

1.보드선택

아두이노 보드에는 여러 종류가 있지만 여러 복잡한 설명은 다 제외하고 저는 초보자들이 많이 사용하는

아두이노 우노 보드를 선택하였습니다. 아래 그림과 같이 아두이노 우노 보드를 구매할 때 제공되는 mini USB 케이블을 컴퓨터 USB 포트에 연결하였습니다.

 

케이블을 보드에 연결 한 후 아두이노 IDE 프로그램을 실행 시킵니다. 

Tools -> Board -> Arduino AVR Borads -> Arduino Uno를 선택합니다.

2.포트선택

보드를 선택 한 이후 컴퓨터와 연결된 USB  포트를 선택해줍니다. 제 피씨의 경우에는 COM5가 잡혔습니다.

Tools -> Port -> COM5

 

3. 회로 구성

아래 그림과 같이 녹색 LED를 빵판에 연결하고 + 핀을 2번핀에, - 핀을 GND에 연결 하였습니다. LED의 긴 다리가 +이고 짧은 다리가 - 입니다. 정확한 명칭은 +는 anode, -는 cachod입니다. 빵판의 연결 구조에 대해 설명하겠습니다. 아래 그림과 같이 +(전원), -(그라운드) 라인이 일열로 연결되어 있으며 1-30까지  a-e 가 연결된 30개의 라인이 있습니다.

4. 기본 LED 코드 실행

이제 코드를 실행하기 위한 준비는 끝났습니다. 아두이노의 기초라고 할 수 있는 LED 컨트럴 코드를 실행하고 bread board(빵판) 에 회로를 구성하여 어떻게 동작하는지 보겠습니다. 아래와 같이 아두이노에 기본적으로 붙어있는 LED를 실행하는 코드(Blink)가 있지만 저는 출력 핀을 변경하여 녹색 LED로 테스트 해봤습니다.

 

아래는 Blink 소스코드입니다. 참고하시기 바랍니다.

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000); // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000); // wait for a second
}

 이제 본격적으로 LED 컨트럴을 해보겠습니다. 아래는 LED를 컨트럴 하기 위한 소스코드입니다. 직접 설정한 'LED' 같은 변수는 대소문자를 구분하지만 HIGH, LOW, OUTPUT 같이 아두이노 프로그램에서 지정된 커맨드는 대문자로 써야합니다. 코드 설명은 주석에 달아놓았습니다.


int LED = 2; // LED를 아두이노 우노 보드 2번 핀에 연결
// 리셋을 누르거나 보드에 전원을 공급하면 setup 함수는 한 번만 실행됩니다.
void setup() {
  // LED핀을 출력으로 설정.
  pinMode(LED, OUTPUT);
}
// loop 함수는 무한대로 반복
void loop() {
  digitalWrite(LED, HIGH); // LED 핀을 high로 (LED on)
  delay(1000); // 1000ms(1s)기다림
  digitalWrite(LED, LOW); // LED 핀을 low로 (LED on)
  delay(1000); // 1000ms(1s)기다림
}

코드를 복사해서 창에 넣으셨으면 아래 그림과 같이 컴파일 버튼을 누릅니다. 이후에 옆에 있는 업로드 버튼을 누릅니다.

프로그램 업로드 후에 아래 영상과 같이 녹색 LED가 1초 간격으로 on/off를 반복합니다. 반복하는 시간에 변화를 주고 싶다면  delay(100-2000 사이의 값)으로 변경후에 테스트 해보시면 좋을것 같습니다.

아이들에게 직접 회로구성과 소스코드 변경을 경험하게 했더니 더욱 흥미를 느끼고 더 많은 프로젝트를 하고 싶어하는 모습을 보여줬습니다. 다음 포스팅부터 회로를 조금씩 응용하여 진행해 보겠습니다.