๋ชฉ๋ก๐Ÿ‘ฉ‍๐Ÿ’ป IoT (Embedded)/Arduino (64)

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

[์•„๋‘์ด๋…ธ] ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ - ์ธ์ฒด ๊ฐ์ง€ ์„ผ์„œ

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ์ธ์ฒด ๊ฐ์ง€ ์„ผ์„œ : ์›€์ง์ž„์ด ๊ฐ์ง€ ๋˜๋ฉด HIGH, ๋ณ€ํ™”๊ฐ€ ์—†์„ ๊ฒฝ์šฐ LOW ์ถœ๋ ฅ : ์ ์™ธ์„ ์„ ํ†ตํ•ด ์‚ฌ๋žŒ์˜ ์›€์ง์ž„์„ ๊ฐ์ง€ํ•˜๋Š” ์„ผ์„œ ๐Ÿ” ์‹œ๊ฐ„์„ ์•Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜ millis() : ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„์„ ๋ฐ€๋ฆฌ ์ดˆ ๋‹จ์œ„๋กœ ๋ฐ˜ํ™˜ : delay ์—†์ด ์ฃผ๊ธฐ์ ์ธ ์ž‘์—… ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ ํ˜„์žฌ ์‹œ๊ฐ„ (ms) = millis(); ๐Ÿฅ‘ ์ ‘์ด‰ ์—†๋Š” ๋„์–ด๋ฒจ : ์ธ์ฒด ๊ฐ์ง€ ์„ผ์„œ๋กœ ์›€์ง์ž„์ด ์žˆ๋Š”์ง€ ๊ฐ์ง€ํ•˜๊ณ , ๊ฐ์ง€๋˜๋ฉด ํ”ผ์—์กฐ ๋ถ€์ €๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉœ๋กœ๋””๋ฅผ ์ถœ๋ ฅ ๐Ÿฅ‘ ์นจ์ž… ๋ฐฉ์ง€ ์‹œ์Šคํ…œ : ์ธ์ฒด ๊ฐ์ง€ ์„ผ์„œ๋กœ ์›€์ง์ž„์ด ๊ฐ์ง€๋˜๋ฉด, RGB LED๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฒฝ๊ณ ๋“ฑ์„ ๋ฐํžˆ๊ณ  ํ”ผ์—์กฐ๋ถ€์ €๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฒฝ๊ณ ์Œ์„ ์ถœ๋ ฅ

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

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ๋””์ง€ํ„ธ ์‹ ํ˜ธ : digitalWrite (๋ณด๋‚ด๊ธฐ), digitalRead (๋ฐ›๊ธฐ) ๋กœ ๋””์ง€ํ„ธ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š”๋‹ค ๐Ÿฅ‘ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ ์ฝ๊ธฐ ์ฝ์–ด์˜จ ๊ฐ’ = analogRead(์—ฐ๊ฒฐ๋œ ํ•€); : 0~5V ์‚ฌ์ด์˜ ๊ฐ’์„ 1024 ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์ •๋„๋ฅผ ํ‘œํ˜„ ๐Ÿฅ‘ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ ์ถœ๋ ฅํ•˜๊ธฐ analogWrite(ํ•€ ๋ฒˆํ˜ธ, ์ถœ๋ ฅ ์‹ ํ˜ธ); : ์ „๊ธฐ์ ์€ ํŽ„์Šค (pulse) ์‹ ํ˜ธ, ์ „์••์˜ ON/OFF ๊ฐ€ ์ผ์ •ํ•œ ์ฃผ๊ธฐ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒƒ ๐Ÿ” PWM (Pulse Width Modulation) : ๋””์ง€ํ„ธ ์‹ ํ˜ธ์˜ ํญ (pulse width)์„ ์กฐ์ ˆํ•จ์œผ๋กœ์จ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ : duty cycle์€ ํ•œ ์ฃผ๊ฐ€ (2ms) ์•ˆ์— ์ง€์†๋˜๋Š” HIGH ๊ตฌ๊ฐ„์˜ ๋น„์œจ ๐Ÿฅ‘ ADC (Analog to Dig..

[์•„๋‘์ด๋…ธ] ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ - ์ดˆ์ŒํŒŒ ์„ผ์„œ

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ์ดˆ์ŒํŒŒ ์„ผ์„œ : ์ดˆ์ŒํŒŒ๋ฅผ ์ด์šฉํ•ด ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๋Š” ์„ผ์„œ : ์ดˆ์ŒํŒŒ๋ฅผ ์†ก์‹ ํ•˜์—ฌ ๋ฌผ์ฒด์— ๋ถ€๋”ชํ˜€์„œ ๋Œ์•„์˜จ ์‹œ๊ฐ„์œผ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ์‚ฐ์ถœํ•˜๋Š” ์›๋ฆฌ => ์ดˆ์ŒํŒŒ ์†ก์‹  ๋ถ€๋ถ„์—์„œ ์ดˆ์ŒํŒŒ ํŽ„์Šค ์ถœ๋ ฅ => ๋ฌผ์ฒด์— ๋ถ€๋”ชํ˜€ ๋Œ์•„์˜จ ์‹ ํ˜ธ๋ฅผ ์—์ฝ” ์ˆ˜์‹  ๋ถ€๋ถ„์—์„œ ๋ฐ›์Œ => ๋ฌผ์ฒด์— ๋ถ€๋”ชํ˜€ ๋Œ์•„์˜จ ์‹œ๊ฐ„ ์ฐจ๋กœ ๋ฌผ์ฒด์™€์˜ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ฑฐ๋ฆฌ (cm) = ์‹œ๊ฐ„ (us) X 0.017(cm/us) ์ดˆ์ŒํŒŒ ์†๋„๊ฐ€ 340 m/s ์ธ๋ฐ ์™•๋ณต์ด๋‹ˆ๊นŒ 170 m/s, m์—์„œ cm/us ๋กœ ๋ฐ”๋€Œ๋‹ˆ๊นŒ 0.017 ๊ฑฐ๋ฆฌ ์ธก์ • : 2cm~4cm ์ธก์ • ๊ฐ€๋Šฅํ•œ ๊ฐ๋„ : ์•ฝ 15๋„ ์ดˆ์ŒํŒŒ ์†๋„ : 340 m/s ๐Ÿ” ๋งˆ์ดํฌ๋กœ์ดˆ (us) ์‹œ๊ฐ„๋งŒํผ ๊ทธ ์ƒํƒœ๋กœ ์œ ์ง€/๋™์ž‘ ์ค‘์ง€ (1ms = 1000us) delayMicroseconds(us); ๐Ÿ”..

[์•„๋‘์ด๋…ธ] ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ - ์˜จ/์Šต๋„ ์„ผ์„œ

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ์˜จ/์Šต๋„ ์„ผ์„œ : ์ฃผ๋ณ€ ํ™˜๊ฒฝ์˜ ์˜จ๋„์™€ ์Šต๋„์— ๋”ฐ๋ผ ์ €ํ•ญ๊ฐ’ ๋ณ€ํ•จ : ์˜จ๋„๋ฅผ ์ธก์ •ํ•˜๋Š” ์„œ๋ฏธ์Šคํ„ฐ + ์Šต๋„์„ผ์„œ ํ•จ๊ป˜ ๊ตฌ์„ฑ ์˜จ๋„ : 0~50๋„ (์˜ค์ฐจ๋ฒ”์œ„ +- 2๋„) ์Šต๋„ : 20~90% RH (์˜ค์ฐจ๋ฒ”์œ„ +- 5% RH) ์•„๋‘์ด๋…ธ์˜ ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ์‹œ๋ฆฌ์–ผ ํ†ต์‹ , ๋ฌธ์ž์—ด, Servo, SoftwareSerial ํ™•์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ์™ธ๋ถ€ ๋ชจ๋“ˆ ์ œ์–ด, LiquidCrystal, DHT11 ๐Ÿ” DHT ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๐Ÿ” Adafruit Unified Sensor ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๐Ÿ” DHT 11 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ DHT dht (์—ฐ๊ฒฐ๋œ ํ•€, DHT11 = ์†Œ์ž์ข…๋ฅ˜); bht.begin() : ์˜จ/์Šต๋„ ์„ผ์„œ ์—ฐ๊ฒฐ ์˜จ๋„ : bht.readHumidity(); ์Šต๋„ : bht.readTem..

[์•„๋‘์ด๋…ธ] ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ - ์กฐ๋„ ์„ผ์„œ

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ์กฐ๋„ ์„ผ์„œ : ๋ฐ๊ธฐ๋ฅผ ์ธก์ • : ์กฐ๋„์— ๋”ฐ๋ผ ์ €ํ•ญ ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ์†Œ์ž : PhotoResistor, CDS ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆฌ์›€ : ๋ฐ์•„์ง€๋ฉด ์ €ํ•ญ๊ฐ’ ๋‚ฎ์•„์ง€๊ณ , ์–ด๋‘์›Œ์ง€๋ฉด ์ €ํ•ญ๊ฐ’์ด ์ปค์ง€์„œ ์ถœ๋ ฅ ์ „์•• ์ž‘์•„์ง (๊ทน์„ฑ ์—†์Œ) ๐Ÿฅ‘ ์ผ์กฐ๋Ÿ‰ ์ธก์ •๊ธฐ ์กฐ๋„ ์„ผ์„œ๋ฅผ ์ด์šฉํ•ด์„œ ์ผ์กฐ๋Ÿ‰์„ ์ธก์ • ์กฐ๋„๊ฐ€ ๋‚ฎ์„ ๊ฒฝ์šฐ์—๋Š” LED๋ฅผ ์ผœ์„œ ์ผ์ •๋Ÿ‰์˜ ์กฐ๋„๋ฅผ ์œ ์ง€ ๐Ÿฅ‘ ์กฐ๋„์— ๋”ฐ๋ผ ๋ฐ์•„์ง€๋Š” ์ „๋™ ์•„๋‚ ๋กœ๊ทธ ์ถœ๋ ฅ ํ•€์— LED๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์กฐ๋„๊ฐ€ ๋‚ฎ์Œ์— ๋”ฐ๋ผ ์ ์  ๋” ๋ฐ์•„์ง€๋Š” ์Šค๋งˆํŠธํ•œ ์ „๋“ฑ ๐Ÿ” map : ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋น„์œจ์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ map ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ผ์„œ ๊ฐ’(0~1023)์— ๋”ฐ๋ผ 9๋ฒˆ LED์˜ ๋ฐ๊ธฐ(255~0)๋ฅผ ์กฐ์ ˆ ๋ฐ๊ธฐ = map(sensorValue, 0, 1023, 255, 0); ๐Ÿฅ‘ ์กฐ๋„์—..