NEW 트랙 오픈 중 · 초·중·고 맞춤형 코딩·메이킹 상시 상담, 성인 개인 맞춤형 생성형 AI 실무 아케데미, 대표자 및 실무자 AX 모델 컨설팅
← 목록으로 돌아가기
아두이노 메이킹

아두이노 millis() 이용한 12v LED바 2개 멀티태스킹 (C언어 이용)

작성자: 잡** 조회수: 1

12v LED바 2개를  제어하기 위하여 아두이노와 TIP120 트랜지스터를 이용하였습니다. 

두 개 LED가 서로 다른 동작을 할 수 있도록 하려고 millis() 함수를 이용하였습니다

 

 

led_bar.ino
void setup() {
  fading_setup();
  fading_setup2();
} 

void loop() {
  fading_loop();
  fading_loop2();
}

fading1.ino
int fading_ledPin = 9;
int fadeValue = 0;
int fadeDir = 1;
long fading_previousMillis = 0;
long fading_interval = 30;

void fading_setup() {
  pinMode(fading_ledPin, OUTPUT);
}

void fading_loop() {
  long currentMillis = millis();
  if(currentMillis - fading_previousMillis >= fading_interval) {
    fading_previousMillis = currentMillis;
    if(fadeDir == 1) {
      if(fadeValue <= 255) {
        fadeValue += 15;
        if(fadeValue > 255) {
          fadeValue = 255;
          fadeDir = 0;
        }
        delay(100);
      }
    } else {
      if(fadeValue >= 0) {
        fadeValue -= 15;
        if(fadeValue < 0) {
          fadeValue = 0;
          fadeDir = 1;
        }
        delay(100);
      }
    }
    analogWrite(fading_ledPin, fadeValue);    
  }
}

fading2.ino
int fading_ledPin2 = 10;
int fadeValue2 = 0;
int fadeDir2 = 1;
long fading_previousMillis2 = 0;
long fading_interval2 = 29;

void fading_setup2() {
  pinMode(fading_ledPin2, OUTPUT);
}

void fading_loop2() {
  long currentMillis2 = millis();
  if(currentMillis2 - fading_previousMillis2 >= fading_interval2) {
    fading_previousMillis2 = currentMillis2;
    if(fadeDir2 == 1) {
      if(fadeValue2 <= 255) {
        fadeValue2 += 8;
        if(fadeValue2 > 255) {
          fadeValue2 = 255;
          fadeDir2 = 0;
        }
        delay(100);
      }
    } else {
      if(fadeValue2 >= 0) {
        fadeValue2 -= 8;
        if(fadeValue2 < 0) {
          fadeValue2 = 0;
          fadeDir2 = 1;
        }
        delay(100);
      }
    }
    analogWrite(fading_ledPin2, fadeValue2);    
  }
}

 

📎 첨부파일 (1개)

클릭 시 원본 파일명으로 즉시 다운로드됩니다.

💬 응원 댓글 (0)

함께 보면 좋은 다른 작품·게시물