μ•ˆλ…•ν•˜μ„Έμš”. λΈ”λ‘œκ·Έ 첫 κΈ€μ΄λ„€μš”.

이 λΈ”λ‘œκ·ΈλŠ” 곡뢀 λ…ΈνŠΈμ™€ 같이 μ œκ°€ κ³΅λΆ€ν•˜λ©΄μ„œ 팁과 ν•„μš”ν•œ 뢀뢄을 점점 μ μ–΄λ‚΄λ €κ°ˆ μ˜ˆμ •μž…λ‹ˆλ‹€.

λ°”λ‘œ μ‹œμž‘ν•˜κ² μŠ΅λ‹ˆλ‹€!

 

μ•„λ‘μ΄λ…ΈλŠ” ꡐ윑용 λͺ©μ μœΌλ‘œ λ§Œλ“€μ–΄μ§„ C++ 기반의 언어라고 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 

μ΄ˆλ“±ν•™μƒλΆ€ν„° λ‚˜μ΄λΆˆλ¬Έν•˜κ³  μ‰½κ²Œ μ ‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

저도 아두이노λ₯Ό 처음 μ‚¬μš©ν•  λ•Œ 예제λ₯Ό λ”°λΌν•˜κ³  LEDλ₯Ό μ λ©Έν•˜κ³  μŠ€μœ„μΉ˜λ₯Ό 눌러보고 μ•„μ£Ό μ‹ κΈ°ν–ˆλ˜ 기얡이 λ‚©λ‹ˆλ‹€.

 

ν•˜μ§€λ§Œ 예제λ₯Ό λ”°λΌν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œλŠ” μ œκ°€ μ›ν•˜λŠ” 것을 λ§Œλ“€ 수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

μ €λŠ” ν•™λΆ€ μ—°κ΅¬μƒμœΌλ‘œ ν‰μ†Œμ™€ 같이 아두이노λ₯Ό 돌리고 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ—¬λŸ¬ μ„Όμ„œλ₯Ό λΆ™μ—¬ delay()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•œλ²ˆμ— μ—¬λŸ¬ μž‘λ™μ„ ν•˜λ €κ³  ν–ˆμœΌλ‚˜ κ³„μ†ν•΄μ„œ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.

제 λ’€λ‘œ ν•˜λ“œμ›¨μ–΄ 박사과정 쀑이신 μ„ λ°°λ‹˜κ»˜μ„œ delay()ν•¨μˆ˜μ™€ millis()ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œλ €μ£Όμ…¨μŠ΅λ‹ˆλ‹€. 

 

delay(1000)은 1μ΄ˆλ™μ•ˆ λ©ˆμΆ˜λ‹€λŠ” λœ»μž…λ‹ˆλ‹€.  μ’€ 더 생각을 ν•΄λ³΄μ•˜μ£ . 1μ΄ˆλ™μ•ˆ λ©ˆμΆ˜λ‹€. 1μ΄ˆλ™μ•ˆ 아무 λ™μž‘μ„ ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

μ œκ°€ 3ν•™λ…„ λ•Œ 컴퓨터 κ΅¬μ‘°μ‹œκ°„μ— 배운 ν•˜λ‚˜μ˜ cpuλŠ” ν•˜λ‚˜μ˜ λͺ…령밖에 μˆ˜ν–‰ν•  수 μ—†λ‹€κ³  λ°°μ› μŠ΅λ‹ˆλ‹€.

 

delay(1000)λΌλŠ” λœ»μ€ cpuκ°€ 1μ΄ˆλ™μ•ˆ 아무 λ™μž‘μ„ ν•  수 μ—†λ‹€λŠ” λœ»μž…λ‹ˆλ‹€. 

 

ν•˜λ“œμ›¨μ–΄μ—μ„œ 1μ΄ˆλŠ” 맀우 κΈ΄ μ‹œκ°„μž…λ‹ˆλ‹€.

저희 컴퓨터 ꡬ쑰 μ‹œκ°„ λ•Œ κ΅μˆ˜λ‹˜μ€ ITμ—μ„œ 일주일은 λ¬΄ν•œμ˜ μ‹œκ°„μ΄λΌκ³  λ§μ”€ν•˜μ…¨λ˜κ²Œ 기얡이 λ‚˜λ„€μš”! 

 

 

자! κ·Έλ ‡λ‹€λ©΄ 본둠으둜 λ“€μ–΄κ°€μ„œ 그러면 μ–΄λ–»κ²Œ ν•œ λ²ˆμ— μ—¬λŸ¬κ°€μ§€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμ„κΉŒμš”.

 

λ°”λ‘œ 정닡은 millis() ν•¨μˆ˜μ— μžˆμŠ΅λ‹ˆλ‹€. 

 

millis() ν•¨μˆ˜λŠ” 아두이노 λ³΄λ“œμ—μ„œ ν”„λ‘œκ·Έλž¨μ΄ μ‹œμž‘λœ μ‹œμ λΆ€ν„° λ°€λ¦¬μ΄ˆ(ms) λ‹¨μœ„λ‘œ 카운트(증가) 된 값을 unsigned long νƒ€μž…μœΌλ‘œ λ°˜ν™˜ν•œλ‹€κ³  λ‚˜μ™€ 있

λ„€μš”!

μš°μ„  두 개의 λ³€μˆ˜λ₯Ό μ„ μ–Έν•΄μ£Όμ„Έμš”

 

       

void setup()에 μ„ μ–Έν•΄μ£Όμ„Έμš”. 
void roop()문에 이와 같이 μ„ μ–Έν•΄μ€λ‹ˆλ‹€.
κ°€μž₯ μ€‘μš”ν•œ λΆ€λΆ„μž…λ‹ˆλ‹€.  ν˜„μž¬μ‹œκ°„μ˜ μΉ΄μš΄νŠΈμ—μ„œ μ‹œμž‘μ‹œκ°„μ˜ 카운트λ₯Ό λΊΈ 값이 1μ΄ˆλ³΄λ‹€ 크면 if문을 μ‹€ν–‰ν•©λ‹ˆλ‹€. λ§Œμ•½ >= 10000이라면 10초λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

 

loop() ν•¨μˆ˜κ°€ λ°˜λ³΅λ˜λ©΄μ„œ ν˜„μž¬μ˜ λ°€λ¦¬μ΄ˆλ₯Ό millis() ν•¨μˆ˜λ‘œλΆ€ν„° 계속 μ—…λ°μ΄νŠΈν•˜λ©° 이전 λ°€λ¦¬μ΄ˆ κ°’κ³Ό 차이λ₯Ό λΉ„κ΅ν•˜λŠ” λ°©μ‹μœΌλ‘œ delay() ν•¨μˆ˜μ™€ λ˜‘κ°™μ€ κΈ°λŠ₯을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

 

마치 cpuλŠ” λΆ„λͺ… ν•œ κ°€μ§€μ˜ λ™μž‘μ„ ν•˜κ³  μžˆμ§€λ§Œ, μ•„λ‘μ΄λ…Έμ˜ 속도가 μƒλ‹Ήνžˆ 빨라 저희 λˆˆμ—λŠ” λ™μ‹œμ— μ›€μ§μ΄λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λŠ” κ²ƒμž…λ‹ˆλ‹€. 마치 λ„νŠΈ 맀트리슀의 μž”μƒνš¨κ³Όμ²˜λŸΌ!

 

delay()보닀 μ‚¬μš©ν•˜κΈ° μ–΄λ €μš΄κ±΄ λΆ„λͺ… ν•˜λ‚˜ μ—¬λŸ¬κ°€μ§€ λ™μž‘μ„ 쀄 λ•ŒλŠ” millis()ν•¨μˆ˜κ°€ μƒλ‹Ήνžˆ 효율적으둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

μ„ λ°°λ‹˜κ»˜μ„œλ„ delay()ν•¨μˆ˜λŠ” μ—†λ‹€κ³  μƒκ°ν•˜κ³  μ˜€λ‘œμ§€ millis()ν•¨μˆ˜λ§Œμ„ μ΄μš©ν•΄μ„œ κ³΅λΆ€ν•˜λΌκ³  ν•˜μ…¨λ˜ 기얡이 λ‚©λ‹ˆλ‹€!

μ—¬λŸ¬λΆ„λ“€λ„ μ΅œλŒ€ν•œ delay()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  millis()ν•¨μˆ˜λ₯Ό μ• μš©ν•˜λ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€!!

728x90
λ°˜μ‘ν˜•
18μ§„μˆ˜