[아두이노] 4. LED 신호등
이번에는 세 개의 LED를 On, Off 하는 것을 해 봅시다.
세 개의 저항과 세 개의 LED와 네 개의 MM연결 선이 필요합니다.
빨간색은 Digital 13번, 녹색은 Digital 12번, 노란색은 Digital 8번과 연결하세요.
GROUND도 연결하세요.
여기에서 사용할 함수는 다음과 같습니다.
pinMode(핀번호, 핀모드)
digitalWrite(핀번호, HIGH 혹은 LOW)
먼저 세 개의 LED 핀을 매크로 상수로 정의하세요.
#define LED_RED 13
#define LED_GREEN 12
#define LED_YELLOW 8
setup 함수에서는 pinMode 함수를 이용하여 각 핀을 출력 모드로 사용하는 것을 설정하세요.
void setup() {
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
}
LED를 켜는 TurnOn 함수를 추가하세요. 함수 내부에서는 digitalWrite 함수를 이용하여 해당 핀의 값을 HIGH로 출력하세요.
0.9초 대기하게 합시다.
void TurnOn(int led_pin){
digitalWrite(led_pin, HIGH);
delay(900);
}
LED를 끄는 TurnOff 함수를 추가하세요. 함수 내부에서는 digitalWrite 함수를 이용하여 해당 핀의 값을 LOW로 출력하세요.
0.1초 대기하게 합시다.
void TurnOff(int led_pin){
digitalWrite(led_pin, LOW);
delay(100);
}
LED를 켰다가 끄는 TurnOnOff 함수를 추가하세요. 앞에서 작성한 TurnOn과 TurnOff를 호출합니다.
void TurnOnOff(int led_pin){
TurnOn(led_pin);
TurnOff(led_pin);
}
loop 함수에서는 RED=>GREEN=>YELLOW
순서로 LED를 켰다가 끄는 TurnOnOff 함수를 호출하세요.
void loop() {
TurnOnOff(LED_RED);
TurnOnOff(LED_GREEN);
TurnOnOff(LED_YELLOW);
}
다음은 전체 코드입니다.
//rgy_led
#define LED_RED 13
#define LED_GREEN 12
#define LED_YELLOW 8
void setup() {
pinMode(LED_RED, OUTPUT);//출력 모드로 설정
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
}
void TurnOn(int led_pin){
digitalWrite(led_pin, HIGH);//HIGH값 출력
delay(900);
}
void TurnOff(int led_pin){
digitalWrite(led_pin, LOW);//LOW값 출력
delay(100);
}
void TurnOnOff(int led_pin){
TurnOn(led_pin);
TurnOff(led_pin);
}
void loop() {
TurnOnOff(LED_RED);
TurnOnOff(LED_GREEN);
TurnOnOff(LED_YELLOW);
}
저장을 선택하고 확인을 선택하여 컴파일을 수행한 후에 업로드를 하여 확인하세요.
'프로그래밍 기술 > 아두이노 ' 카테고리의 다른 글
[아두이노] 5. 두 개의 LED 동시 제어하기 (0) | 2018.03.21 |
---|---|
[아두이노] 3. 첫 번째 스케치 (0) | 2018.03.17 |
[아두이노] 2. 아두이노 IDE 프로그램 설치 (0) | 2018.03.17 |
[아두이노] 1. 아두이노 우노 R3 소개 (0) | 2018.03.17 |