๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[์•„๋‘์ด๋…ธ] ๋””์ง€ํ„ธ ์‹ ํ˜ธ & ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป IoT (Embedded)/Arduino

[์•„๋‘์ด๋…ธ] ๋””์ง€ํ„ธ ์‹ ํ˜ธ & ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ

์ง•์ง•์•ŒํŒŒ์นด 2023. 4. 1. 15:50
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” ์—˜๋ฆฌ์Šค IoT 1๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-)>

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!)

 

๐Ÿฅ‘ ๋””์ง€ํ„ธ ์‹ ํ˜ธ

: digitalWrite (๋ณด๋‚ด๊ธฐ), digitalRead (๋ฐ›๊ธฐ) ๋กœ ๋””์ง€ํ„ธ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š”๋‹ค 

 

๐Ÿฅ‘ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ ์ฝ๊ธฐ

์ฝ์–ด์˜จ ๊ฐ’ = analogRead(์—ฐ๊ฒฐ๋œ ํ•€);

: 0~5V ์‚ฌ์ด์˜ ๊ฐ’์„ 1024 ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์ •๋„๋ฅผ ํ‘œํ˜„

 

๐Ÿฅ‘ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ ์ถœ๋ ฅํ•˜๊ธฐ 

analogWrite(ํ•€ ๋ฒˆํ˜ธ, ์ถœ๋ ฅ ์‹ ํ˜ธ);

: ์ „๊ธฐ์ ์€ ํŽ„์Šค (pulse) ์‹ ํ˜ธ, ์ „์••์˜ ON/OFF ๊ฐ€ ์ผ์ •ํ•œ ์ฃผ๊ธฐ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒƒ 

 

๐Ÿ” PWM (Pulse Width Modulation)

: ๋””์ง€ํ„ธ ์‹ ํ˜ธ์˜ ํญ (pulse width)์„ ์กฐ์ ˆํ•จ์œผ๋กœ์จ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ

: duty cycle์€ ํ•œ ์ฃผ๊ฐ€ (2ms) ์•ˆ์— ์ง€์†๋˜๋Š” HIGH ๊ตฌ๊ฐ„์˜ ๋น„์œจ 

 

๐Ÿฅ‘ ADC (Analog to Digital Converter)

: ์—ฐ์†์ ์ด๊ณ  ๋ฌดํ•œํ•œ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ 0๊ณผ 1๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋””์ง€ํ„ธ ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ „์žํšŒ๋กœ

: ์•„๋‘์ด๋…ธ์—๋Š” 10๋น„ํŠธ์˜ ADC๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ (0~1024 ๊ฐ’์œผ๋กœ ์ž…๋ ฅ๋จ)

10๋น„ํŠธ : 0์ด๋‚˜ 1์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋น„ํŠธ๊ฐ€ 10๊ฐœ -> ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด 2^10 (1024๊ฐœ)

 

๐Ÿ” ์ „์•• ๋ถ„๋ฐฐ

: ์ „์••์„ ๋‚ฎ์ถ”์–ด์•ผํ•  ๊ฒฝ์šฐ ์ €ํ•ญ์„ ์ง๋ ฌ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์ „์••์„ ๋ถ„๋ฐฐ

 

๐Ÿ” ์ €ํ•ญ ๊ฐ’์ด ๋ฐ”๋€Œ๋Š” ๊ฐ€๋ณ€ ์ €ํ•ญ (Potentiometer)

: ์ „์žํšŒ๋กœ์—์„œ ์ €ํ•ญ ๊ฐ’์„ ์ž„์˜๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์ €ํ•ญ๊ธฐ 

์ „์•• ๊ฐ’ = ์„ผ์„œ ๊ฐ’ * (5.0 / 1023.0)

 

๐Ÿ” ๊ฐ’์˜ ๋ฒ”์œ„ ๋ฐ”๊พธ๊ธฐ

: ์–ด๋–ค ๋ฒ”์œ„ ๋‚ด ๊ฐ’์„ ๋‹ค๋ฅธ ๋ฒ”์œ„๋กœ ๋ณ€ํ™˜

: fromLow ๊ฐ’์€ toLow, fromHigh ๊ฐ’์€ toHigh

: ๊ฐ’๋“ค ์‚ฌ์ด์˜ ๊ฐ’์€ ๋‹ค๋ฅธ ๋ฒ”์œ„์˜ ๊ฐ’๋“ค ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋งคํ•‘๋˜์–ด ๋ณ€ํ™˜ 

toValue (๋ณ€ํ™˜ํ•œ ๊ฐ’) = map (fromValue (๋ณ€๊ฒฝํ•  ๊ฐ’), fromLow (ํ˜„์žฌ ๋ฒ”์œ„์˜ ํ•˜ํ•œ๊ณผ ์ƒํ•œ), fromHigh, toLow (๋ชฉํ‘œ ๋ฒ”์œ„ ๊ฐ’์˜ ํ•˜ํ•œ๊ณผ ์ƒํ•œ), toHigh)

 

๐Ÿฅ‘ ์ž…๋ ฅ๋œ ์•„๋‚ ๋กœ๊ทธ ๊ฐ’์œผ๋กœ ์‹ค์ œ ์ „์•• ๊ฐ’์„ ์œ ์ถ”

๊ฐ€๋ณ€ ์ €ํ•ญ : ์‚ฌ์šฉ์ž๊ฐ€ ์™€์ดํผ๋ฅผ ๋Œ๋ฆผ์œผ๋กœ์จ ๋‚ด๋ถ€์˜ ์ €ํ•ญ ๊ฐ’์ด ๋ฐ”๋€Œ์–ด ์ „์•• ์ถœ๋ ฅ์ด ๋ฐ”๋€Œ๋Š” ์†Œ์ž

 

๐Ÿฅ‘ ์ž…๋ ฅ๋œ ์•„๋‚ ๋กœ๊ทธ ๊ฐ’์œผ๋กœ LED๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œํ˜„

: 0์—์„œ 1023 ์‚ฌ์ด์˜ ๊ฐ’์„ LED์˜ ๊ฐœ์ˆ˜๋กœ ๋งคํ•‘ ์‹œํ‚ค๊ณ  ๊ทธ ๊ฐœ์ˆ˜๋งŒํผ LED๋ฅผ ์ผœ๊ธฐ

 

๐Ÿฅ‘ LED ๋กœ ํŽ˜์ด๋“œ ํšจ๊ณผ ๋‚˜ํƒ€๋‚ด๊ธฐ

: ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ LED์˜ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ˆ

fade-in ํšจ๊ณผ : ์˜์ƒ์˜ ๊ฒฝ์šฐ ๊ฒ€์€ ํ™”๋ฉด์—์„œ ์„œ์„œํžˆ ๋ฐ์•„์ง€๋ฉฐ ๋‚˜ํƒ€๋‚จ, ์Œํ–ฅ์—์„œ๋Š” ์†Œ๋ฆฌ๊ฐ€ ์„œ์„œํžˆ ์ปค์ง€๋Š” ๊ฒƒ
fade-out ํšจ๊ณผ : ์˜์ƒ์€ ์„œ์„œํžˆ ์–ด๋‘์›Œ์ง€๋‹ค๊ฐ€ ๊นŒ๋งŒ ํ™”๋ฉด์ด ๋จ, ์Œํ–ฅ์€ ์†Œ๋ฆฌ๊ฐ€ ์„œ์„œํžˆ ์ž‘์•„์ง€๋Š” ๊ฒƒ

728x90
๋ฐ˜์‘ํ˜•
Comments