Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

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

๋‚˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ Nanonyam(๋‚˜๋…ธ์–Œ)์ด๋ผ๊ณ  ๋ถˆ๋ €๊ณ  ๋กœ๊ณ ๊นŒ์ง€ ์ƒ๊ฐํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค(5๋ถ„ ๋™์•ˆ ๊ทธ๋ฆผ์„ ๊ทธ๋ ธ์Šต๋‹ˆ๋‹ค).

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Arduino์˜ ๊ด€์ ์—์„œ ์ƒ๊ฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ Nanonyam์€ Windows๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์ƒ Arduino ๋ฐฉํŒจ๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, Nanonyam์€ AVR ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์šฉ ํŽŒ์›จ์–ด(ATMEGA2560 ๊ถŒ์žฅ)๋ฅผ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด๋ถ€์—๋Š” AVR ์ฝ”์–ด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์žˆ์ง€๋งŒ 0x0060์—์„œ 0x01FF๊นŒ์ง€์˜ SRAM ์ฃผ์†Œ์— ์žˆ๋Š” ์ฃผ๋ณ€ ์žฅ์น˜ ๋Œ€์‹  ๊ฐ€์ƒ ๊ธฐ๋Šฅ(Windows API ๊ธฐ๋Šฅ ํฌํ•จ)์— ๋Œ€ํ•œ ํŠน์ˆ˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์—์„œ ์ฆ‰์‹œ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Nanonyam์˜ ์ฝ”๋“œ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ผ ์‚ญ์ œ ๋˜๋Š” ๋””์Šคํฌ ํฌ๋งท ๊ธฐ๋Šฅ์„ ์‹ค์ˆ˜๋กœ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋„๋ก ์ง€์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 0x0200์—์„œ 0xFFFF๊นŒ์ง€์˜ ๋‚˜๋จธ์ง€ SRAM ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„(์‹ค์ œ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ๋ณด๋‹ค ๋” ๋งŽ์Œ)๋Š” ์–ด๋–ค ๋ชฉ์ ์œผ๋กœ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์˜ ํŽŒ์›จ์–ด (๋˜๋Š” ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜์˜ ํŽŒ์›จ์–ด)๋ฅผ ์‹ค์ˆ˜๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ํŠน๋ณ„ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ์žˆ์Œ์„ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "์œ„ํ—˜ํ•œ"๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์ „์— ํŠน์ˆ˜ํ•œ ๊นŒ๋‹ค๋กœ์šด ๊ฐ€์ƒ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ณด์•ˆ ๊ธฐ๋Šฅ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Nanonyam์€ ๊ฐ€์ •์šฉ ๋ฐ ์ƒ์—…์šฉ์œผ๋กœ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. Nanonyam ํ”„๋กœ๊ทธ๋žจ์€ "์žˆ๋Š” ๊ทธ๋Œ€๋กœ" ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ๊ทธ๋žจ์€ ํ˜„์žฌ ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. Windows์šฉ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์•ฝ 200๊ฐœ์˜ ๊ฐ€์ƒ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ถ„๋ช…ํžˆ ์ฝ”๋“œ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 256kB์— ๋ถˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๋ณต์žกํ•œ ๊ฒƒ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ๋ณ„๋„์˜ ํŒŒ์ผ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ๋ž˜ํ”ฝ ๋ถ€๋ถ„์˜ ๋ฒ„ํผ๋Š” ์™ธ๋ถ€์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ๋‹จ์ˆœํ™”๋˜๊ณ  8๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜์— ๋งž๊ฒŒ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

Nanonyam์—์„œ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ๋ธ”๋ก ๊ฐœ๋ฐœ

ํ•œ๋•Œ 128x64 ๋„ํŠธ ๊ทธ๋ž˜ํ”ฝ ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์œ„ํ•œ ๋ณต์žกํ•œ ๋ฉ”๋‰ด๋ฅผ ๋””์ž์ธํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”ฝ์…€์ด ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํŽŒ์›จ์–ด๋ฅผ ์‹ค์ œ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์— ์ง€์†์ ์œผ๋กœ ๋กœ๋“œํ•˜๊ณ  ์‹ถ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋…ธ์–Œ์ด๋ผ๋Š” ์•„์ด๋””์–ด๊ฐ€ ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๋™์ผํ•œ ๋ฉ”๋‰ด์— ์žˆ๋Š” ํ•ญ๋ชฉ ์ค‘ ํ•˜๋‚˜์˜ ์‹ค์ œ OLED ๋””์Šคํ”Œ๋ ˆ์ด ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด์ œ ์‹ค์ œ ์žฅ์น˜ ์—†์ด๋„ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Nanonyam(์ตœ์ข… ์•„์ด๋””์–ด์—์„œ)์€ ๊ทธ๋ž˜ํ”ฝ(๋””์Šคํ”Œ๋ ˆ์ด ๋ฐ ํ‘œ์‹œ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฐ€๋Šฅ), ํŒŒ์ผ(๋กœ๊ทธ ์ž‘์„ฑ, ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ๊ฐ€๋Šฅ) ์ž‘์—…์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฏ€๋กœ ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ธ”๋ก์„ ์ž‘์—…ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. COM ํฌํŠธ๊ฐ€ ์žˆ๋Š” ํ‚ค๋ณด๋“œ(๋™์‹œ์— ์ตœ๋Œ€ 10๊ฐœ์˜ ๋ฒ„ํŠผ์„ ์ฝ์„ ์ˆ˜ ์žˆ์Œ)(๋ณ„๋„ ํ•ญ๋ชฉ ์žˆ์Œ).

๋น ๋ฅธ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

์˜ˆ๋ฅผ ๋“ค์–ด 100500๊ฐœ์˜ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์„ ์—ด๊ณ  ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ ์•ฝ๊ฐ„ ์ˆ˜์ •ํ•˜๊ณ  ์ €์žฅํ•˜๊ณ  ๋‹ซ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ํŒŒ์ด์ฌ ๋งˆ์Šคํ„ฐ๋ผ๋ฉด ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹น์‹ ์ด ๊ฐ•ํ™”๋œ arduino(๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ๋“ค์ด ๋งŽ์ด ์žˆ๋Š” ๊ฒฝ์šฐ)๋ผ๋ฉด Nanonyam์ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด Nanonyam์˜ ๋‘ ๋ฒˆ์งธ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ, ์Šคํฌ๋ฆฐ์ƒท ์ฐ๊ธฐ ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ํ‚ค ์ž…๋ ฅ ์‹œ๋ฎฌ๋ ˆ์ด์…˜(๊ทธ๋Ÿฐ๋ฐ ๋ชจ๋‘ ์ด๋ฏธ ์กด์žฌํ•จ)๊ณผ ๊ฐ™์€ ๋งŽ์€ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๊ณผ ์ผ์ƒ์ ์ธ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค๋ฅธ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค .

COM ํฌํŠธ๋ฅผ ํ†ตํ•œ ํ•˜๋“œ์›จ์–ด ํ…Œ์ŠคํŠธ

Nanonyam์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๋Š” ํ„ฐ๋ฏธ๋„ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์€ ๋ฉ”๋‰ด๋ฅผ ๊ทธ๋ ค ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๊ณ  ํฌํŠธ์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„์„์„ ์œ„ํ•ด ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฒ„์ถ”์–ผ ์ธ์ŠคํŠธ๋ฃจ๋จผํŠธ ์ปจํŠธ๋กค ํŒจ๋„์„ ์ƒ์„ฑํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•˜๋“œ์›จ์–ด์˜ ๊ฐ„๋‹จํ•œ ๋””๋ฒ„๊น… ๋ฐ ๋ณด์ •์„ ์œ„ํ•œ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ•™์ƒ๊ณผ ์ Š์€ ๊ณผํ•™์ž๋“ค์—๊ฒŒ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋งค์šฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œก

๊ทธ๋Ÿฌ๋‚˜ ์ „์ฒด Arduino ํ”„๋กœ์ ํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Nanonyam์˜ ์ฃผ์š” ์œ ์šฉ์„ฑ์€ ๊ธฐ๋Šฅ, ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๋ถ€ํŠธ๋กœ๋”์˜ ๋‹จ์ˆœํ™”์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ดˆ๋ณด์ž ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ arduino ์ˆ˜์ค€์— ๋งŒ์กฑํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๋‚˜๋Š” ํ•ญ์ƒ WinAVR ๋˜๋Š” AVR Studio๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์–ด์…ˆ๋ธ”๋Ÿฌ๋กœ ์‹œ์ž‘ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง arduino๋ฅผ ์ž์„ธํžˆ ์—ฐ๊ตฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜์˜ ์˜ˆ์ œ ํ”„๋กœ๊ทธ๋žจ์€ ์•ฝ๊ฐ„ ์ž˜๋ชป๋˜์—ˆ์ง€๋งŒ ๊ฝค ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…• ํ•˜๋ธŒ๋ฅด!

์ผ๋ถ€ Nanonyam ๊ธฐ๋Šฅ์— ์ต์ˆ™ํ•ด์ง€๊ณ  ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Arduino๋กœ ์ž‘์„ฑํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ ์ง€๊ธˆ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค (์•„์ง์ด ํ™˜๊ฒฝ์„ ์ž˜ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๊ณ  ์ด๋ฏธ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค). ๋จผ์ € ์ƒˆ ์Šค์ผ€์น˜๋ฅผ ๋งŒ๋“ค๊ณ  Mega2560 ๋ณด๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์Šค์ผ€์น˜๋ฅผ ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ ๋ณต์‚ฌ Nanonyam ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ—ค๋”๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ๋งž๊ฒ ์ง€๋งŒ Arduino์—์„œ ๊ฐœ๋ณ„ ํŒŒ์ผ์˜ ์ปดํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง์ ‘(๊ทธ๋ฆฌ๊ณ  ๋ชจ๋‘ ํ•œ ๋ฒˆ์—) ํฌํ•จํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

#include <stdio.h>
#include "NanonyamnN_System_lib.c"
#include "NanonyamnN_Keyboard_lib.c"
#include "NanonyamnN_File_lib.c"
#include "NanonyamnN_Math_lib.c"
#include "NanonyamnN_Text_lib.c"
#include "NanonyamnN_Graphics_lib.c"
#include "NanonyamnN_RS232_lib.c"

Arduino์—์„œ ์ง์ ‘ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” "Arduino์šฉ Nanonyam"์ด๋ผ๋Š” ํŠน์ˆ˜ ๋ชจ๋“ˆ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ์ •ํ™•ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•Œ์•„๋‚ด๋Š” ๋Œ€๋กœ ํ•˜๊ฒ ์ง€๋งŒ ์ง€๊ธˆ์€ ๊ฐ€์ƒ ๋จธ์‹  ์ž‘์—…์˜ ๋ณธ์งˆ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

//ะกั€ะฐะทัƒ ะฟะพัะปะต ะทะฐะฟัƒัะบะฐ ั€ะธััƒะตะผ ั‚ะตะบัั‚ ะฒ ะพะบะฝะต
void setup() {
  sys_Nanonyam();//ะŸะพะดั‚ะฒะตั€ะถะดะฐะตะผ ะบะพะด ะฒะธั€ั‚ัƒะฐะปัŒะฝะพะน ะผะฐัˆะธะฝั‹
  g_SetScreenSize(400,200);//ะ—ะฐะดะฐั‘ะผ ั€ะฐะทะผะตั€ ะดะธัะฟะปะตั 400ั…200 ั‚ะพั‡ะตะบ
  sys_WindowSetText("Example");//ะ—ะฐะณะพะปะพะฒะพะบ ะพะบะฝะฐ
  g_ConfigExternalFont(0,60,1,0,0,0,"Arial");//ะ—ะฐะดะฐั‘ะผ ัˆั€ะธั„ั‚ Windows ะฒ ัั‡ะตะนะบะต ัˆั€ะธั„ั‚ะพะฒ 0
  g_SetExternalFont(0);//ะ’ั‹ะฑะธั€ะฐะตะผ ัั‡ะตะนะบัƒ ัˆั€ะธั„ั‚ะพะฒ 0 ะดะปั ั€ะธัะพะฒะฐะฝะธั ั‚ะตะบัั‚ะฐ
  g_SetBackRGB(0,0,255);//ะฆะฒะตั‚ ั„ะพะฝะฐ ัะธะฝะธะน
  g_SetTextRGB(255,255,0);//ะฆะฒะตั‚ ั‚ะตะบัั‚ะฐ ะถั‘ะปั‚ั‹ะน
  g_ClearAll();//ะžั‡ะธั‰ะฐะตะผ ัะบั€ะฐะฝ (ะทะฐะปะธะฒะบะฐ ั†ะฒะตั‚ะพะผ ั„ะพะฝะฐ)
  g_DrawTextCenterX(0,400,70,"Hello, Habr!");//ะ ะธััƒะตะผ ะฝะฐะดะฟะธััŒ
  g_Update();//ะ’ั‹ะฒะพะดะธะผ ะณั€ะฐั„ะธั‡ะตัะบะธะน ะฑัƒั„ะตั€ ะฝะฐ ัะบั€ะฐะฝ
}

//ะŸั€ะพัั‚ะพ ะถะดั‘ะผ ะทะฐะบั€ั‹ั‚ะธั ะฟั€ะพะณั€ะฐะผะผั‹
void loop() {
  sys_Delay(100);//ะ—ะฐะดะตั€ะถะบะฐ ะธ ั€ะฐะทะณั€ัƒะทะบะฐ ะฟั€ะพั†ะตััะพั€ะฐ
}

์ด ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์Šค์ผ€์น˜ ์—ฌ๊ธฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช… ์‚ฌ์ดํŠธ์—์„œ ๊ฒ€์ƒ‰. ์ด ์ฝ”๋“œ์˜ ์ฃผ์„์ด ์š”์ ์„ ํŒŒ์•…ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๊ธฐ๋Šฅ sys_๋‚˜๋…ธ์–Œ() ๊ฐ€์ƒ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์˜ "์•”ํ˜ธ" ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด ์—†์œผ๋ฉด 3์ดˆ ์ž‘๋™ ํ›„ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

"ํ™•์ธ" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ด์ œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ(ํŽŒ์›จ์–ด)์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋‰ด ์„ ํƒ"์Šค์ผ€์น˜>>๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ ๋‚ด๋ณด๋‚ด๊ธฐ(CTRL+ALT+S)".

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‘ ๊ฐœ์˜ HEX ํŒŒ์ผ์ด ์Šค์ผ€์น˜ ํด๋”์— ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค. ์ ‘๋‘์‚ฌ "with_bootloader.mega"๊ฐ€ ์—†๋Š” ํŒŒ์ผ๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

Nanonyam ๊ฐ€์ƒ ๋จธ์‹ ์— HEX ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ชจ๋‘ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์—์„œ. ํŒŒ์ผ ์˜†์— ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค Nanonyam.exe ั„ะฐะนะป ๊ธธ, HEX ํŒŒ์ผ์˜ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„์— ๋‹น์‹ ์€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค Nanonyam.exe. ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ์˜ ๋น„๋ฌธ์ด ์žˆ๋Š” ์ฐฝ์„ ์–ป์Šต๋‹ˆ๋‹ค.

Arduino์—์„œ Windows์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ AVR Studio ๋˜๋Š” WinAVR๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์—ฌ๋Ÿฌ๋ถ„์˜ ๊ด€์‹ฌ๊ณผ ์ข‹์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€