-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 |