아두이노 예제 프로그램 중에서 가장 기본이 되는 Blink 프로그램을 검토해 보자. 이 프로그램의 목적은 아두이노 보드의 Built-In LED를 일정한 시간 간격으로 on OFF를 반복하는 프로그램이다.
Built-In LED란 이미 아두이노 보드에 LED를 고정 배선하여 프로그램 업로딩 시 빠른 속도로 Blinking 시켜 업로딩 중임을 나타내 주는 역할을 하며 일단 업로딩이 완료되면 LED가 꺼지게 된다. LED는 아두이노 우노 보드의 경우 13번 디지털 핀과 연결이 되어 있으며 업로딩 완료 후에는 프로그램에서 필요 시 별도의 LED 배선 없이도 13번 핀을 사용할 수 있다.
Blink 예제 프로그램에서는 LED_BUILTIN이라는 정수형 변수를 사용하는데 이 변수는 아두이노 보드 별로 정해져 있다. 우노의 경우는 13번이다. 아두이노 메가라든지 타 아두이노 우노 보드에서는 번호가 다를 수 있다. NodeMCU 보드의 경우에는 D2가 Built-In LED임에도 불구하고 LED_BUILTIN이라는 변수를 인식하지 못하는 사례를 확인하였다.
LED와 300옴 저항을 직렬 연결한 후 3.3V를 가하는 회로이다. 대략 LED에 2V 정도의 전압이 가해진다. 300옴 저항을 넣는 이유는 LED에 흐르게 되는 전류의 크기를 적당하게 조절하기 위함이다. 적절한 크기의 저항이 연결되지 않는 경우에는 LED에 흐르는 전류가 커져 타버릴 수도 있음에 주의하자.
실제 BLINK 프로그램에서는 LED_BUILTIN을 한번 확인해 본 후 5번 디지털 핀 번호를 5번으로 바꾸어 아래의 그림과 같은 디지털 듀티(Duty) 신호를 발생시키기로 하자. LED의 on OFF 시간 간격은 1초와 0.1초 두 가지로 한다.
아울러 LED 양단에 갈색과 핑크색 배선이 나가는데 이들은 시간에 따라 변동되는 LED 양단의 전압을 스마트 폰에서 실시간으로 모니터링이 가능한 아두이노 NodeMCU Webserver Scope에서 사용하기로 하자.
Blink_LED_01
/* 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(5, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(5, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
}
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
NodeMCU 1.0 WiFi Webserver에 의한 스마트폰 다음지도 마커표시 보완 (0) | 2017.02.16 |
---|---|
HTML SVG 그래픽 언어로 프로그램한 Arduino NodeMCU Scope에 의해 아날로그 파형 및디지털 듀티 신호 real time 측정 (0) | 2017.02.15 |
HTML SVG 그래픽 언어 사용 NodeMCU WiFi Webserver 코딩에 의한 가변저항 전압 스마트폰 실시간 모니터링 프로그램 (0) | 2017.02.12 |
아두이노 NodeMCU 웹서버가 그려주는 HTML+SVG 아날로그 시계 출력예제 I (0) | 2017.02.12 |
대기압 측정센서 BMP180에 의한 NodeMCU보드의 I2C 센서 인터페이스 D1(GPIO5), D2(GPIO4) 검증 (0) | 2017.02.11 |