2-2 디지털 출력으로 LED 제어하기

공부하는 학생 A·2024년 1월 23일

아두이노 

목록 보기
8/74

아두이노는 디지털 출력과 아날로그 출력을 모두 사용할 수 있다.

회로 만들기

스케치 2-1 BasicBlink.pde LED 깜박이기

// the setup function runs once when you press rest or power the board
void setup(){
  // initialize digital pin LED_BUILTIN as an output
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs 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
}

스케치 2-1 설명

' // '

  • 문장의 제일 앞에 '//'로 표시된 부분은 설명문으로 스케치를 설명하는 역할이다. 이 부분은 코드가 실행되지 않는다.

void setup() { }

  • 프로그램 실행 초기에 한 번만 실행하는 부분이다. 일반적으로 핀 모드 설정이나 시리얼 통신 설정 등을 이곳에 입력한다.

void loop() { }

  • 프로그램의 메인 코드를 입력하는 부분이다. 계속 반복하는 명령을 입력한다.

pinMode(LED_BUILTIN, OUTPUT);

  • pinMode(핀 번호,모드)는 아두이노 핀의 모드를 설정한다.
  • 'LED_BUILTIN'는 아두이노 보드에 기본으로 설정된 핀 번호 13번 핀을 의미한다. 이 부분은 13으로 고쳐 적어도 된다.
  • 'OUTPUT'은 핀의 모드를 출력으로 설정한다는 의미이다. 즉 기본 설정 핀 13번의 모드를 출력으로 설정한다는 뜻이다.
  • 세미콜론(;)은 스케치를 작성할 때 한 문장이 마칠 때마다 반드시 적어주어야 한다. 한글을 적을 때도 문장이 끝나면 마침표(.)를 적어주는 것 처럼 하나의 코드가 마치는 것을 알리기 위해 세미콜론을 적는다. 세미콜론을 적지 않으면 스케치를 업로드 하거나 실행시킬 때 오류가 발생된다.

digitalWrite(LED_BUILTIN, HIGH);

  • digitalWrite(핀번호, 값);
  • 핀 모드가 설정되는 전류를 공급하여 디지털 데이터를 전달한다.
  • LED_BUILTIN는 기본 설정 핀 번호 13번을 말한다.
  • 값은 HIGH 또는 LOW를 설정할 수 있다. HIGH는 5V를 공급하여 LED가 빛이나게 하고 LOW는 OV를 전달하여 LED의 빛이 꺼지게 한다.

delay(1000);

  • delay(시간);
  • 괄호 안의 숫자 시간만큼 프로그램을 멈춘다. 매개변수의 숫자는 밀리세컨드(ms) 단위이므로 1000이면 1초이다. delay (500)이면 0.5초 동안 프로그램을 멈춘다. 만약 delay() 함수를 사용하지 않으면 명령어 실행이 너무 빨리 지나가서 정확한 결과를 확인하기 힘들다.

스케치 2-2 LED 깜박이기

void setup(){
  pinMode(13, OUTPUT); //핀 모드 출력으로 설정
}
void loop(){
  digitalWrite(13, HIGH);
  // LED 켜기
  delay(1000); // 1초간 기다리기
  digitalWrite(13, LOW);
  // LED 끄기
  delay(1000); // 1초간 기다리기
}

컴파일하기




보드와 포트 확인하기

업로드 하기

profile
Shine like a star, Just like a star

0개의 댓글