digitalRead()


[디지털입출력]


사용법

int digitalRead(  int PinNumber) :  (반환값과 매개변수의 값의 정보는 확실하지 않음)


매개변수

PinNumber : 읽으려고하는 디지털 핀번호


반환

HIGH or LOW


설명

지정된 디지털핀의 값을 읽습니다.


사용 예제


int nLedPin = 13;    // LED 핀번호

int nInPin = 1;

 

void setup()

{

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

pinMode ( nInPin , INPUT);    // nInPin 번호를 디지털 입력으로 설정

}

void loop()

{

int val = digitalRead ( nInPin );    // 입력 핀의 값을 읽기

digitalWrite ( nLedPin, val );        // 읽은 핀의 값대로 LED 출력으로 설정

}


주의 사항

핀이 연결이 되어있지 않다면 HIGH,LOW중 아무것이나 반환 할 수 있습니다.


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

[함수] pinMode()  (0) 2018.12.17
[함수] digitalWrite()  (0) 2018.12.15
[함수] delayMicroseconds()  (0) 2018.12.10
[함수] delay()  (0) 2018.12.09
[함수] micros()  (0) 2018.12.07

delayMicroseconds()


[시간]


사용법

void delayMicroseconds( unsigned int )


매개변수

unsigned int: 멈추고싶은 시간(단위는 마이크로초:100만분에1초 : 1/ 1000000초 )


반환

없음


설명

매게변수로 정한 시간만큼 멈춘다. 

(단위 마이크로초 : 1초 = 1000ms(밀리리세컨초:천분에1초) , 1ms = 1000(마이크로초:100만분에1초 ) )


사용 예제


int LedPin = 13;    // LED 핀번호


void setup()

{

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

}

void loop()

{

digitalWrite ( LedPin, LOW );        // LED 끔

delayMicroseconds( 100 );                            // 1초(100 마이크로초) 기다림

digitalWrite ( LedPin, HIGH );        // LED 켬

delayMicroseconds( 100 );                            // 1초(100 마이크로초) 기다림

}


주의 사항

delayMicroseconds()는 3 마이크로초 이상에서 정확하게 동작합니다. 작은 동작시간은 확실하게 수행한다고 보장은 하지 않습니다.

delayMicroseconds()는 인터럽터를 비활성화 하지않습니다. (delay()와 동일합니다.)(과거에는 비활성화 0018버전 이전) 

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

[함수] digitalWrite()  (0) 2018.12.15
[함수] digitalRead()  (0) 2018.12.12
[함수] delay()  (0) 2018.12.09
[함수] micros()  (0) 2018.12.07
[함수] randomSeed()  (0) 2018.12.05

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

+ Recent posts