Limetime's TimeLine
article thumbnail
반응형

아두이노에 내장되어 있는 LED를 깜빡여보자.

※ 아두이노 Sketch는 설치되어 있다고 가정한다.(https://downloads.arduino.cc/arduino-1.8.19-windows.exe) 그리고 사용할 아두이노는 Uno Board 이다.

 

컴퓨터와 아두이노를 연결하고 시리얼 포트도 맞춰주자.

Sketch에서 '파일 - 예제 - 01.Basics - Blink'를 선택하고 업로드를 해보자.

 

그러면 위와 같이 L 부분에 불빛이 1초 간격으로 깜빡깜빡할 것이다.

코드를 한 번 살펴보자!

// 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
}
  • setup 함수는 아두이노가 제일 처음이자 마지막으로 실행하는 함수이다.
  • loop 함수는 계속 반복 실행하는 함수이다.
  • pinMode 함수는 주어진 핀 번호를 입력으로 사용할지, 출력으로 사용할지 등 모드를 정해주는 함수이다.
  • digitalWrite 함수는 주어진 핀 번호에 HIGH(1) 또는 LOW(0) 신호를 줄 수 있다.                      
  • delay 함수는 다음 함수를 실행하기 까지 지연을 주는 함수이다. 단위는 ms이다.

그러면 위의 코드를 분석해보자면, LED_BUILTIN(상수)의 핀 모드는 출력으로 주고, 1초(1000ms)마다 내장 LED가 깜빡이게 한다고 볼 수 있다. 

그렇다면, 이번에는 외부 LED를 깜빡여보자.

* LED는 긴 발이 양극(+), 짧은 발이 음극(-)이다.

* LED는 5V 전압을 바로 받으면 타버린다. 그러므로 1K옴짜리 저항을 꽂아줘야 한다. 양극에 꼽든, 음극에 꼽든 상관없다.

GND는 LED의 음극(-)에, 13번 핀은 LED 양극(+)에 저항을 연결한채로 연결하면 된다.

 

아까 전 코드를 그대로 사용했다. 단, delay 함수의 시간을 0.1초(100ms)로 지정하여 더 빠르게 깜빡거린다.

 

※ 의문. 핀 번호를 LED_BUILTIN이라고 지정했는데, 왜? 13번 핀에도 작용할까?

실제로 13번 핀을 제외한 12번, 11번 등에 꽂으면 작동을 하지 않는다. 이에 대한 답은 Blink 주석을 보면 된다.

우노 보드의 경우, LED_BUILTIN 핀은 digital Pin 13번으로 지정되어 있다고 나온다.

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!