프로그래밍 기술/아두이노

[아두이노] 4. LED 신호등

언제나휴일 2018. 3. 21. 16:05
반응형

[아두이노] 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);
}
 

저장을 선택하고 확인을 선택하여 컴파일을 수행한 후에 업로드를 하여 확인하세요.


반응형