delay()


[시간]


사용법

void delay ( unsigned long )


매개변수

unsigned long : 멈추고싶은 시간(단위는 밀리초 ) : 1초 1000분에1초


반환

없음


설명

매게변수로 정한 시간만큼 멈춘다. (단위 밀리초)


사용 예제


int LedPin = 13;    // LED 핀번호


void setup()

{

pinMode ( LedPin, OUTPUT );    // LED핀번호를 디지털 출력으로 설정

}

void loop()

{

digitalWrite ( LedPin, LOW );        // LED 끔

delay ( 1000 );                            // 1초(1000ms) 기다림

digitalWrite ( LedPin, HIGH );        // LED 켬

delay ( 1000 );                            // 1초(1000ms) 기다림

}


주의 사항

delay() 함수가 동작하는 동안에는 인터럽터를 제외한 아무것도 실행이 되지 않습니다.

모든 작업이 멈춥니다. LED를 켜고 다른작업을 하면서 일정시간이후에 LED를 끄고싶다면 delay()를 단순히 사용하면 안됩니다.

실제 사용에 있어서는 1초에한번씩 LED를 켰다끄면서 다른작업을 하기위해서는 다른 방법으로 진행합니다. (링크예정:멀티쓰레드구현)

'아두이노 코드 wiki' 카테고리의 다른 글

[함수] digitalRead()  (0) 2018.12.12
[함수] delayMicroseconds()  (0) 2018.12.10
[함수] micros()  (0) 2018.12.07
[함수] randomSeed()  (0) 2018.12.05
[함수] random()  (0) 2018.12.04

micros()


[시간]


사용법

unsigned long time= micros();


매개변수

없음


반환

unsigned long : 아두이노 보드가 시작한이후의 마이크로 초 수를 반환한다. 

16MHz 아두이노 보드에서는 4 마이크로 초까지 판단가능하기 때문에 4의 배수를 반환한다.

8MHz 아두이노 보드에서는 8마이크로 초까지 판단가능하기 때문에 8의 배수를 반환한다.


설명

아두이노보드가 시작된이후부터의 마이크로 초 를 반환한다. 대략 7시간 이후 0으로 초기화되며 반복 된다.


사용 예제


void setup()

{

Serial.begin ( 9600 );

}

void loop()

{

Serail.print( " CurItme : ");

curtime = micros();


Serail.Println ( curtime );

delay ( 100 );

}


주의 사항


'아두이노 코드 wiki' 카테고리의 다른 글

[함수] delayMicroseconds()  (0) 2018.12.10
[함수] delay()  (0) 2018.12.09
[함수] randomSeed()  (0) 2018.12.05
[함수] random()  (0) 2018.12.04
[함수] millis()  (0) 2018.12.03

randomSeed()


[랜덤]


사용법

randomSeed ( unsigned long )


매개변수

unsigned long : 특정한 랜덤 Seed값 


반환

없음


설명

난수값의 seed를 결정한다. 


사용 예제


void setup()

{

Serial.begin ( 9600 );

randomSeed ( analogRead ( 0 ) );    // 연결되지 않은 analog포트를 읽으면 0~1023중 아무값이나 반환된다.

}

void loop()

{

long randomNumber = 0;


randomNumber = random(100);    // 0부터 99까지의 랜던값을 반환한다.

Serail.print( " randomNumber : ");Serail.Println ( randomNumber );


randomNumber = random(100, 200); // 100부터 200 까지의 랜던값을 반환한다.

Serail.print( " randomNumber : ");Serail.Println ( randomNumber );


delay ( 100 );

}


주의 사항

동일한 범위로 random()함수를 호출한다면 매번 동일한 값이 동일한 순서대로 반환하게 된다.

만약에 random(100)으로 함수를 호출한다면 아두이노가 시작하고 나서 매번 똑같은순서의 값을 반환한다.

randomSeed()함수를 사용해야 그남아 랜덤의 역할을 할수있는 값을 random()을 반환해준다.



'아두이노 코드 wiki' 카테고리의 다른 글

[함수] delayMicroseconds()  (0) 2018.12.10
[함수] delay()  (0) 2018.12.09
[함수] micros()  (0) 2018.12.07
[함수] random()  (0) 2018.12.04
[함수] millis()  (0) 2018.12.03

random()


[랜덤]


사용법

randomSeed ( unsigned long max )

randomSeed ( unsigned long min, unsigned long max )


매개변수

unsinged long max : 얻고 싶은 랜던값보다 1큰값

unsinged long min, unsinged long max : 최소 랜던값과 얻고싶은 랜던값보다 1큰값


반환

long : 0 또는 min 에서 max-1 사이의 값을 반환한다.


설명

난수값을 만들어낸다.


사용 예제


void setup()

{

Serial.begin ( 9600 );

randomSeed ( analogRead ( 0 ) );    // 그남아 진정한 랜덤으로 값을 보여주기위한 작업 randomSeed부분을 참조 

}

void loop()

{

long randomNumber = 0;


randomNumber = random(100);    // 0부터 99까지의 랜던값을 반환한다.

Serail.print( " randomNumber : ");Serail.Println ( randomNumber );


randomNumber = random(100, 200); // 100부터 200 까지의 랜던값을 반환한다.

Serail.print( " randomNumber : ");Serail.Println ( randomNumber );


delay ( 100 );

}


주의 사항

동일한 범위로 random()함수를 호출한다면 매번 동일한 값이 동일한 순서대로 반환하게 된다.

만약에 random(100)으로 함수를 호출한다면 아두이노가 시작하고 나서 매번 똑같은순서의 값을 반환한다.

randomSeed()함수를 사용해야 매번 변하는 값을 사용할 수 있다.


'아두이노 코드 wiki' 카테고리의 다른 글

[함수] delayMicroseconds()  (0) 2018.12.10
[함수] delay()  (0) 2018.12.09
[함수] micros()  (0) 2018.12.07
[함수] randomSeed()  (0) 2018.12.05
[함수] millis()  (0) 2018.12.03

millis()


[시간]


사용법

unsigned long time= millis();


매개변수

없음


반환

unsigned long : 아두이노가 동작하고 난뒤 지난시간, 미리세컨드 단위 ( 1000ms = 1sec )


설명

아두이노보드가 시작된이후부터의 시간을 반환한다. 대략 50일 이후 0으로 초기화되며 반복 된다.


사용 예제


unsigned long curtime;

void setup()

{

Serial.begin ( 9600 );

}

void loop()

{

Serail.print( " CurItme : ");

curtime = millis();

Serail.Println ( curtime );

delay ( 100 );

}


주의 사항


'아두이노 코드 wiki' 카테고리의 다른 글

[함수] delayMicroseconds()  (0) 2018.12.10
[함수] delay()  (0) 2018.12.09
[함수] micros()  (0) 2018.12.07
[함수] randomSeed()  (0) 2018.12.05
[함수] random()  (0) 2018.12.04

+ Recent posts