본문 바로가기

공대생 주석마루/아두이노 UNO

(6) millis 함수

-millis 함수란 작동 시간 경과를 수시로 확인하는 함수이다.

milli + s(밀리초)의 개념

delay 함수를 중복 사용하면 두 개의 개별 제어를 동시에 수행하지 못하는데

delay와 millis 를 사용함으로써 동시에 개별 제어를 가능하게 한 경우이다.

구성품은 

아두이노 우노, 버튼, LED, 저항, 연결선, 브렛보드 이다.


코드는

unsigned long pre;
boolean ont = false;

void setup() {
  // put your setup code here, to run once:
pinMode(3,OUTPUT);
pinMode(7,INPUT_PULLUP);
pinMode(12,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
unsigned long con = millis();

  if(con>pre+1000)
  {
    if(ont)
    {
      digitalWrite(12,HIGH);
    }
    else
    {
      digitalWrite(12,LOW);
    }
  ont=!ont;
  con=pre;
  }

int red = digitalRead(7);
digitalWrite(2,red);
delay(100);
}

첫번쨰 제어는

pre는 초기시간, con은 millis 함수로 측정한 시간으로

둘 다 큰 변수이므로 unsigned long의 변수형 사용

ont는 블루LED의 점등 상황으로

true(1), false(0)의 논리변수형 boolean 사용

if 함수로 첫 점등 시간을 설정

다음 if / else 함수로 각각 점등 조건 / 멸등 조건 설정

12번핀을 통해 출력

 

두번째 제어는

2번핀을 출력

7번핀을 입력으로 두고

레드LED를 버튼을 이용해 점멸


회로도



동영상




'공대생 주석마루 > 아두이노 UNO' 카테고리의 다른 글

(8) tone함수로 연주하기  (0) 2018.02.26
(7) 인터럽트 Interrupt  (0) 2018.02.25
(5) 아날로그 출력  (0) 2018.02.23
(4) 아날로그 입력  (0) 2018.02.23
(3) Blink 풀업저항  (0) 2018.02.21