์ž๋ฐ”๋ฅผ ํ™œ์šฉํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ๋ช‡ ๊ฐ€์ง€๋งŒ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

1. ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์ถœ์ฒ˜ : ์ƒํ™œ์ฝ”๋”ฉ Java1 Github

 ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด ๋œฌ๋‹ค.

์œ„์˜ Dimension() ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๋ฉด ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ, CENTER๊ฐ€ ์ ํ˜€์žˆ๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๋ฉด ํ…์ŠคํŠธ์˜ ์ •๋ ฌ ๋ฐฉ์‹์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ์€ ๊นŠ๊ฒŒ ์ดํ•ดํ•˜์ง€ ์•Š๊ณ  ๊ฐ„๋‹จํžˆ ์ด๋Ÿฐ ๊ฒƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค, ์ •๋„๋งŒ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

 

2. ์‚ฌ๋ฌผ ์ œ์–ดํ•˜๊ธฐ

์‚ฌ๋ฌผ์ธํ„ฐ๋„ท์€ ์‚ฌ์‹ค ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๋ฉด ์‚ฌ๋ฌผ์— ์–ด๋А ๋ช…๋ น์„ ํ•ด์ฃผ์–ด ๊ทธ ์‚ฌ๋ฌผ์ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์•„๋ž˜ ์‚ฌ์ง„์—์„œ ๋ณด์ด๋Š” ๊ฒƒ์€, ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋‚˜์˜จ ๊ต์œก์šฉ ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท ์ปดํ“จํ„ฐ, '๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด'์ด๋‹ค.

์˜ค๋ฅธ์ชฝ ์‚ฌ์ง„์— ๋ณด์ด๋Š” ํ•€๋“ค์€ GPIO๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ, ์šฐ๋ฆฌ๋Š” Java๋ฅผ ํ†ตํ•ด '๋ช‡ ๋ฒˆ ํ•€์— ์ „๊ธฐ๋ฅผ ํ๋ฅด๊ฒŒ ํ•ด!'๋ผ๊ณ  ๋ช…๋ นํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ตญ ์ด๋Ÿฐ ๊ณผ์ •์ด ๋ฐœ์ „๋˜๋ฉด ์šฐ๋ฆฌ๋Š” ํ™”๋ถ„์— ๋ฌผ์„ ์ค„ ์ˆ˜๋„, ์ง€๊ตฌ ๋ฐ˜๋Œ€ํŽธ์—์„œ ์šฐ๋ฆฌ ์ง‘ ๊ฐ€๊ตฌ๋ฅผ ์ž‘๋™ํ•  ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

๋‹ค์Œ ๋ณด์ด๋Š” ๊ฒƒ์€ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์˜ ํ™”๋ฉด์ด๋‹ค. ์ž์„ธํžˆ ๋ณด๋ฉด Java๋กœ ์ž‘์„ฑ๋œ ๋ถ€๋ถ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

pin.high() : ํ•€์— ์ „๊ธฐ๋ฅผ ํ๋ฅด๊ฒŒ ํ•œ๋‹ค. ์ฆ‰, LED๊ฐ€ ์ผœ์ง€๊ฒŒ ํ•œ๋‹ค.  /  SHORT_INTERVAL : ์ „๋ฅ˜๊ฐ€ ํ๋ฅด๋Š” ์‹œ๊ฐ„

 

์ด์ œ ๋‹ค์Œ ๋ณด์ด๋Š” ํ™”๋ฉด์€ eclipse(editor)๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ Java๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์„ ํƒ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์—์„œ๋Š” ์ปดํŒŒ์ผ์„ ์‹œํ‚ค๊ณ , ์„ ํƒ๋œ ์ฝ”๋“œ์—์„œ๋Š” ์ปดํŒŒ์ผ๋œ ๋ช…๋ น์„ ์ง„ํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.

 

 

3. ์•ˆ๋“œ๋กœ์ด๋“œ app ๊ฐœ๋ฐœํ•˜๊ธฐ

  ๊ฒ€์ƒ‰์—”์ง„์—์„œ Android Development Documentation์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ์›ํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋„๋ก ์–‘์‹ ๋“ฑ์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ Java๋ฅผ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ๊ณ , Kotlin์„ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋‹ค์–‘ํ•˜์ง€๋งŒ, Java๋ฅผ ์„ ํƒํ•˜๋ฉด ์‚ฌ์ง„์— ๋ณด์ด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿผ ์ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๋ฉด Java์˜ ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ์ฝ”๋“œ ๋‚ด์šฉ์ด ์‹คํ˜„๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ๋””์ž์ธ์€ ์œ„ ํŽ˜์ด์ง€์—์„œ ์ง€์›ํ•˜๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋‹ค.

๊ธฐ๊ธฐ๋ฅผ ์žฅ๋งŒํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋Š” ์‰ฝ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํ„ฐ์—์„œ๋„ ์ด๋ฅผ ๊ฐ€์ƒ์œผ๋กœ ์‹คํ–‰์‹œ์ผœ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ ์œ„์˜ Nexus S API 29๋ผ๊ณ  ์ ํžŒ ๋ถ€๋ถ„์„ ํ†ตํ•ด์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ์˜†์˜ ์‹คํ–‰๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์œ„์™€ ๊ฐ™์ด ์‹คํ–‰์ด ๋œ๋‹ค.

๋ฌผ๋ก  ๋ฐ์Šคํฌํƒ‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋„, ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท๋„, ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ๋„ ๋งค์šฐ ๊ณต๋ถ€๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๊ณ , ์ž˜ ํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ์–ด๋ ค์šด ์ผ์ด์ง€๋งŒ ๊ทธ ๋ณธ์งˆ ์ž์ฒด, ๊ตฌํ˜„์‹œํ‚ค๋Š” ์›๋ฆฌ ์ž์ฒด๋Š” ๋‹จ์ˆœํ•˜๋‹ค๋Š” ์ด์•ผ๊ธฐ์ด๋‹ค. ์ฐจ์ฐจ Java๋ฅผ ์ตํžˆ๋ฉด์„œ ์‹ค๋ ฅ์„ ๋Š˜๋ฆฌ๋ฉด ๋  ์ผ์ด๊ณ , ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด๊ฒƒ๋งŒ ์•Œ๊ณ  ๊ฐ€๋„ ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค.


์ฐธ๊ณ  ์‚ฌ์ดํŠธ

* ์ด ํฌ์ŠคํŒ…์€ ์ƒํ™œ์ฝ”๋”ฉ - Java ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

BELATED ARTICLES

more