아두이노로 LED 제어

학습 목표

실습준비물


1. 변수 사용하기

1.1 하드웨어 구성

1.2 변수 사용전 코드

1.3 변수

1.4 변수 사용 예제

1.5 매크로 사용하기


2. 함수 만들기

2.1 하드웨어 구성

2.2 함수 사용전 코드

2.3 함수

2.4 함수 사용 예제

  1. 공통적으로 반복되는 부분을 함수로 정의
  2. blink_ft() 함수를 loop() 에서 호출

3. FOR 문 활용하기

3.1 앞 예제의 문제점

3.2 for 문

3.3 for 문 적용 예제

/*
  for 문과  함수를 사용하여 4개의 LED를 순차적으로 깜박이기
*/
int k;

void setup() {
  for (k=8; k<12; k++) {
    pinMode(k, OUTPUT);
  } 
}

void loop() {
  for (k=8; k<12; k++) {
    blink_ft(k);
  }  
}

void blink_ft(int pin) { // 디지털입출력 핀 pin번을 1초 간격으로 on/off
  digitalWrite(pin, HIGH);
  delay(1000);
  digitalWrite(pin, LOW);
  delay(1000);
}

4. Array 문 활용하기

4.1 앞 예제의 문제점

4.2 배열 (Array)

4.3 배열문 적용 예제

/*
  배열, for 문, 함수를 사용하여 4개의 LED를 순차적으로 깜박이기
*/
int pinLED[] = {6,9,11,12};
int k;

void setup() {
  for (k=0; k<4; k++) {
    pinMode(pinLED[k], OUTPUT);
  } 
}

void loop() {
  for (k=0; k<4; k++) {
    blink_ft(pinLED[k]);
  }  
}

void blink_ft(int pin) { // 디지털입출력 핀 pin번을 1초 간격으로 on/off
  digitalWrite(pin, HIGH);
  delay(1000);
  digitalWrite(pin, LOW);
  delay(1000);
}

5. 실습 과제

하드웨어 구성

기본 시작 코드

int pinLED[] = {6,9,11,12};
int k;

void setup() {
  for (k=0; k<4; k++) {
    pinMode(pinLED[k], OUTPUT);
  } 
}

void loop() {
   // 이 부분에 코드를 추가 하세요. 
}

과제 세부 내용

  1. LED 4개가 모두에 켜졌다가 1초 후에 4개가 모두 꺼지도록 구성

    실행 동영상

  2. LED가 1개씩 오른쪽에서 왼쪽으로 순차적으로 켜지다가 4개가 다 켜지면, 오른쪽에서 왼쪽으로 순차적으로 1개씩 꺼지도록 구성

    실행 동영상

  3. LED가 1개씩 왼쪽에서 오른쪽으로 순차적으로 켜지다가 4개가 다 켜지면, 오른쪽에서 왼쪽으로 순차적으로 1개씩 꺼지도록 구성

    실행 동영상

  4. LED가 1개씩 오른쪽에서 왼쪽으로 순차적으로 1초 간격으로 켜졌다 꺼지도록 구성

    실행 동영상


6. 연습 과제

  1. 4개의 LED가 다음 그림과 같이 2개씩 번갈아가며 on/off 되는 스케치를 작성하여 보자

  2. 4개의 LED가 다음 그림과 같이 오른쪽에서 왼쪽으로 순차적으로 2개씩 on되는 스케치를 작성하여 보자.