์ค๋์ ์ง๊ธ๊น์ง ๋ค๋ค๋ Sensor ๋ค์ ๋ํด์ ์ ๋ฆฌํ๋ ์๊ฐ์ ๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ์์๋ฎฌ๋ ์ดํฐ์์ ์ ๊ณต๋๋ Sensor์ ์ข ๋ฅ๋ค์ ๊ทนํ ์ผ๋ถ์ ์ง๋์ง ์์ต๋๋ค. ์ค์ ๋ ๋ ๋ง์ ์์ญ ์๋ฐฑ๊ฐ์ง์ด์์ ์ผ์๋ค์ด ์กด์ฌํฉ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ์ข ๋ฅ๊ฐ ๋ง๋ค๊ณ ํด์ ๊ฐ๋ณ์ ์ผ๋ก ๋ค๋ฅด๊ฒ ์ ๊ทผํ๋๊ฒ ์๋๋ผ ์ด์ ์ค๋ช ํ๋ ๊ธฐ๋ณธ ์ธ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก Sensor์ ๊ฐ์ ์ฝ์ด ์ฌ ์ ์์ต๋๋ค. ์ด ์ธ๊ฐ์ง ๋ฐฉ๋ฒ๋ง ์๊ณ ์์ผ๋ฉด ์ผ์ ์ข ๋ฅ๋ง ๋ง์ง ๋ค๋ฃจ๋๋ฐ ๊ทธ๋ ๊ฒ๊น์ง ์ด๋ ค์์ด ์์ ๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค.
๊ฐ์์๋ฎฌ๋ ์ดํฐ์์๋ ๊ฐ์ ์ฝ๋๋ฐ ์ฌ์ฉํ๋ ๋ถํ๋ค์ ๋๋ค. ๋ช ์ข ๋ฅ๊ฐ ๋์ง ์์ง๋ง ๊ทธ๋๋ ์ธ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ค ์คํํ ์ ์๋ ๋ถํ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ค์ ๋ก ์๋์ด๋ ธํคํธ๋ฅผ ๊ตฌ๋งคํ์๋ฉด ๋ช์ญ๊ฐ์ง์ ๋ถํ๋ค๋ก ๊ตฌ์ฑ๋์ด ํ๋งคํ์ง๋ง ์ฌ์ค ์ข ๋ฅ๋ณ๋ก ๊ตฌ๋ถํ์ฌ ๋ถ๋ฅํ๋ฉด ์ข ๋ฅ๋ ๊ทธ๋ ๊ฒ ๋ง์ง ์์ต๋๋ค. ๊ฐ์๋ง ๋ง์๋ฟ์ด์ฃ . ์ค์ ๋ถํ๋ค ์ฌ์ง์ ์ฌ๋ ค์ผ ํ๋๋ฐ ์ ํคํธ ์ฌ์ง์ ์ฐ์ด์ ์ฌ๋ฆฌ๊ธฐ ํ๋ค๊ณ ์ธํฐ๋ท ํคํธ ์ฌ์ง์ ์ฌ๋ฆฌ๋ ๊ฒ๋ ๋ฌธ์ ๊ฐ ๋ ๊ฒ ๊ฐ์์ ๊ทธ๋ถ๋ถ์ ์๋ตํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ด์ฌ์์ผ์ ๋ถ๋ค์ ๊ตฌ๊ธ ๊ฒ์์์ "์๋์ด๋ ธ์ผ์ ์ข ๋ฅ"๋ผ๋ ํค์๋๋ก ๊ฒ์ํ์๋ฉด ๋ชฉ๋ก ์ฌ์ง๋ค์ด ๋์ด๋ ๊ฒ์๋ฌผ๋ค์ ์ฝ๊ฒ ์ฐพ์ ์ ์์ผ๋๊น ์ด๋ค ์ข ๋ฅ์ ์ผ์๋ค์ด ์๋์ง ๊ฐ๋ณ์ ์ผ๋ก ์ดํด๋ณด์๋ฉด ๋๊ฒ ์ต๋๋ค.
Sensor๋ฅผ ์ฝ์ด ์ํด์๋ ํฌ๊ฒ ์ธ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ๋ถํ๋ค๊ณ ํ์ฃ . ๋ฐ๋ก ๋์งํธ ์ฝ๊ธฐ, ์๋ ๋ก๊ทธ ์ฝ๊ธฐ, ์๊ฐ๊ฐ ์ฝ๊ธฐ๋ก ๋๋์ด ์ดํด๋ณผ ์ ์์ต๋๋ค.
๋์งํธํ์์ ์ผ์์ ๊ฐ์ ์ฝ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋์งํธํ์ HIGH or LOW์ ์ํ๊ฐ์ ์ฝ์ ์ ์๊ณ ์ธ ์ ์์ต๋๋ค. ์ฝ๊ฒ ๋งํด์, ๋์งํธํ์ผ๋ก ์ฝ์๋ HIGH or LOW์ ์ํ๊ฐ์ ์ฝ๊ฒ ๋ฉ๋๋ค. Sensor์์ ๋์งํธ ์ํ๊ฐ์ ์ถ๋ ฅํ๋ ์ข ๋ฅ๊ฐ ๋ญ๊ฐ ์์๊น์. PIR Sensor(์ธ์ฒด๊ฐ์ง์ผ์), Tilt Sensor(๊ธฐ์ธ๊ธฐ์ผ์), ์ค์์น๋ฒํด ๋ฑ์ด ๋ํ์ ์ผ๋ก ๋ค ์ ์๊ฒ ์ฃ . ์ด๋ฐ ์ข ๋ฅ์ Sensor๋ ๋๊ฐ์ง HIGH or LOW ์ํ๊ฐ๋ง ๊ฐ๊ฒ ๋ฉ๋๋ค.
int val = digitalRead(๋์งํธํ);
val์ด๋ ๋ณ์์ ๋์งํธํ์ ์ฐ๊ฒฐ๋ ์ผ์์ ๊ฐ์ ์ ์ฅํ๊ฒ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋๊ฐ์ง ์ํ๊ฐ HIGH or LOW์ ๊ฐ์ ํตํด์ ์๋์ด๋ ธ์์ ํน์ ๋์์ ์ ์ดํ๊ฒ ๋ฉ๋๋ค.
์๋ ๋ก๊ทธํ์์ ์ผ์์ ๊ฐ์ ์ฝ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ ๋ก๊ทธํ์ 0~1023์ฌ์ด์ ๊ฐ์ ์ฝ๊ฒ ๋ฉ๋๋ค. ์๋ ๋ก๊ทธ ๊ฐ์ ์ถ๋ ฅํ๋ ์ข ๋ฅ๊ฐ ๋ญ๊ฐ ์์๊น์. ์ ์ฌ์ง์ ๋ณด๋ฉด ๋์ถฉ, Gas Sensor(๊ฐ์ค์ผ์), Photoresistor(LDR)(์กฐ๋์ผ์) ๋ฑ์ด ์๋ค์. ์ด๋ฐ ์ข ๋ฅ์ ์ผ์๋ ์ ๋ฅ์ ๊ฐ์ ์ถ๋ ฅ๋๋๋ฐ ์๋์ด๋ ธ๋ 0~1023์ฌ์ด์ ์ ๋ฅ์ ์ธ๊ธฐ ๊ฐ์ ์ฝ๊ฒ ๋ฉ๋๋ค.
int val = analogRead(์๋ ๋ก๊ทธํ) ;
val์ด๋ ๋ณ์์ ์๋ ๋ก๊ทธํ์ ์ฐ๊ฒฐ๋ ์ผ์์ ๊ฐ์ ์ ์ฅํ๊ฒ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ ๋ฅ์ ์ธ๊ธฐ 0~1023์ ๊ฐ์ ํตํด์ ํน์ ๋์์ ์ ์ดํ๊ฒ ๋ฉ๋๋ค. ์ฐธ๊ณ ๋ก ๋ถํ์ ๋ฐ๋ผ ์๋ ๋ก๊ทธ ์ ํธ์ ๋์งํธ ์ ํธ๋ฅผ ๋๊ฐ ๋ค ๋ด๋ณด๋ด๋ ๋ถํ์ด ์๋๋ฐ ์ฌ์ฉ๋ชฉ์ ์ ๋ฐ๋ผ์ ๋์งํธ ์ ํธ๋ ๋์งํธ ์ฝ๊ธฐ๋ก ์๋ ๋ก๊ทธ ์ ํธ๋ ์๋ ๋ก๊ทธ ์ฝ๊ธฐ ํจ์๋ฅผ ์ฌ์ฉํด์ ์ฝ์ผ์๋ฉด ๋ฉ๋๋ค.
๋์งํธํ์์ ์ผ์์ ๊ฐ์ ์ฝ๋๋ฐ ์ด๋ค ํน์ ํ ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด์ ๊ทธ ์ํ๊ฐ ์ ์งํ๋ ์๊ฐ์ ์ถ์ถํ ์ ์์ต๋๋ค. ๋ํ์ ์ผ๋ก ์ด์ํ ์ผ์๋ฅผ ๋ค ์ ์์ต๋๋ค.
int val =pulseIn(๋์งํธํ, HIGH/LOW);
val์ด๋ ๋ณ์์ ๋์งํธ ํ์ ์ฐ๊ฒฐ๋ ์ผ์์ ๊ฐ์ ์ฝ์ด์ค๋๋ฐ ์ํ์ ๊ฐ์ด HIGH or LOW ์ค ์ด๋ค ์ํ๊ฐ์ด ์ผ๋ง์ ๋ ์ ์ง ๋์๋์ง ๊ทธ ์๊ฐ์ ์ธก์ ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ๋ น pulseIn(๋์งํธํ, HIGH) ๋ผ๊ณ ํ๋ฉด ๋์งํธํ์ ๋ค์ด์ค๋ HIGH๊ฐ์ด LOW๊ฐ ๋ ๋๊น์ง์ ์๊ฐ๊ฐ์ ๋ฐํํ๊ฒ ๋ฉ๋๋ค. ์ด์ํ์ผ์์์ ์ด์ํ๋ฅผ ์๊ณ ๋๋์์ฌ๋ ์ด๋ ์ด์ํ์ผ์๋ฅผ ํตํด HIGH์์ LOW๊ฐ ๋ ๋๊น์ง์ ์๊ฐ๊ฐ์ ๊ฐ์ง๊ณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐ ํ์์ฃ .
์๋๋ ๋์งํธ ์ฝ๊ธฐ์ ์๋ ๋ก๊ทธ ์ฝ๊ธฐ๋ก ๋๊ฐ์ง๋ก ๊ตฌ๋ถํ์๋ฉด ๋ฉ๋๋ค. ์๊ฐ๊ฐ ์ฝ๊ธฐ๋ ํน์ํ ๊ฒฝ์ฐ์ด๊ณ ์. ๋ค์ํ ๋ถํ๋ค์ด ์๋๋ฐ ๋๋ถ๋ถ ๋์งํธ ๊ฐ์ ์ถ๋ ฅํ๊ฑฐ๋ ์๋ ๋ก๊ทธ ๊ฐ์ ์ถ๋ ฅํ๋ ๋ถํ๋ค์ด๊ณ ์ฐ๋ฆฌ๋ digitalRead()ํจ์์ analogRead()ํจ์๋ก ์ผ์์ ๊ฐ์ ์ฝ๊ฒ ๋ฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ํต์ ์์ '1'๊ณผ '0'์ ์ ํธ๊ฐ์ผ๋ก ์ฝ๊ธฐ๋ ํฉ๋๋ค. ๊ฐ๋ น 1byte์ ๊ฐ์ ์ ์กํ๋ค๋ฉด '00000000'์ ๋ฒ์์ ์ ๊ธฐ์ ํธ๋ฅผ ๋ณด๋ด๋๋ฐ '1'์ด๋ผ๋ ๊ฐ์ ๋ณด๋ธ๋ค๊ณ ์น๋ฉด '00000001'์ด๋ ๊ฒ 2์ง์๋ก ๋ณด๋ธ๋ค๋ฉด ์ ๊ธฐ ์ ํธ๊ฐ 'LOW' 7๋ฒ, 'HIGH' 1๋ฒ์ผ๋ก ์งง๊ฒ ๋์ด์ 8bit์ ์ ํธ๋ฅผ ๋ณด๋ด๊ฒ ์ฃ . ํต์ ์์๋ ์ฝ์๋ ์ด ์ ๊ธฐ์ ํธ๋ฅผ ์ฝ์ด์ ๋ค์ ๋ณตํธํํ์ฌ 1์ด๋ ์ซ์๋ก ์ ์ฅํ๊ฒ ๋ฉ๋๋ค. ํต์ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ถ๋ถ์ ๊ฐ๋จํ ์ ๊ธฐ์ ํธ๋ก ์ฝ๋ ๋ฐฉ๋ฒ์ ๋๋ง ์ดํดํ์๋ฉด ๋๊ฒ ์ต๋๋ค.
SoftwareSerial mySerial(RX,TX);
byte val = mySerial.read();
Serial ํต์ ํ์ ํตํด์ 1byte์ ์ ํธ๊ฐ์ val์ ์ ์ฅํฉ๋๋ค. ์ผ์๊ฐ์ ์ฝ์ ๊ธฐ๊ธฐ์์ ํต์ ์ ํตํด์ ๊ทธ ๊ฐ์ ์๋์ด๋ ธ์ฐ๋ ธ์์ ์ฝ์๋ ์ฌ์ฉ ๋ฉ๋๋ค. ์ด๋ถ๋ถ์ ํต์ ๋ถ๋ถ์ด๋๊น ๋ณ๋๋ก ์์๋์๊ธฐ ๋ฐ๋๋๋ค.
์ค๋์ ๊ฐ๋จํ ์ผ์์ ๊ฐ์ ์ฝ๋๋ฒ์ ์ ๋ฆฌํ๋ ์๊ฐ์ผ๋ก ์ฑ์ ์ต๋๋ค. ์ด๋ค Sensor๋ฅผ ์ฌ์ฉํ์๋๋ผ๊ณ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ์ ๋์งํธ ์ฝ๊ธฐ์ ์๋ ๋ก๊ทธ ์ฝ๊ธฐ ๋ฟ์ด ์์ต๋๋ค. ๋ณ๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฆฌ ์ ๊ณต ๋ ๊ฒฝ์ฐ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ฒด์ ์ฌ์ฉํ์ ๋์ ธ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ณ๋์ ์ฝ๋ฉ์ ํ์ ์๊ฒ ์ง๋ง ์ค์ ์ฌ๋ฌ๋ถ๋ค์ด ์ฝ๋ฉ์ ํ์ค ๊ฒฝ์ฐ๋ ๋ํ์ ์ผ๋ก ์ด ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผ์ด ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ๋ ํจ์๋ง ์ดํดํ์๋ฉด ์ฌ์ฉํด๋ณด์ง ์๋ ์ผ์๋ค์ผ์ง๋ผ๋ ๋๋ถ๋ถ ์ฌ์ฉํ์ค ์ ์์ ๊บผ์์.
์ค๋์ ์ ๋ฆฌํ๋ ์๊ฐ์ผ๋ก ๊ฐ๋จํ ํฌ์คํ ์ ํ๋ค์.