Micro:Bit
- ๋ง์ดํฌ๋ก ๋นํธ๋ก๋ ํผ์ง์ปฌ ํ๋ก์ ํธ ์ถฉ๋ถํ๋ค -
- ๋ง์ดํฌ๋ก ๋นํธ๋ก๋ ํผ์ง์ปฌ ํ๋ก์ ํธ ์ถฉ๋ถํ๋ค -
๋ง์ดํฌ๋ก ๋นํธ๋ฅผ ํ์ฉํ์ฌ ํผ์ง์ปฌ ์ปดํจํ ์ ๊ธฐ์ด ๋ฐ ์๊ณ ๋ฆฌ์ฆ, ํ์ด์ฌ ์ฝ๋ฉ์ ๊ธฐ์ด๋ฅผ ์ตํ๋๋ค.
๋ง์ดํฌ๋ก ๋นํธ๋ก ํ๋ก์ ํธ๋ฅผ ํ๊ธฐ ์ ์ ์๋ 4๊ฐ์ ๋งํฌ(๋ง์ดํฌ๋ก ๋นํธ ๊ณต์ ์ฌ์ดํธ, ํ๋์จ์ด ์ํคํ ์ฒ, ์ ์ ๊ณต๊ธ ์ฅ์น ๋ํ๋จผํธ, ๋ง์ดํฌ๋ก ๋นํธ ํ์ด์ฌ ์๋ํฐ ์์ปท)์ ํ์ธํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
ํนํ, ๋ง์ดํฌ๋ก ๋นํธ ํ๋์จ์ด ์ค๊ณ ์ํคํ ์ฒ๋ฅผ ์ดํดํ๋ ๊ฒ์ผ๋ก '๊ณตํ'๊ต์ก์ ๊ธฐ์ด ์ ์ ๋ณด๋ ์ดํด๋ผ๋ ๊ด์ ์ ๊ต์กํ ์ ์์ต๋๋ค.
์๋์ ํ๋์จ์ด ์คํค๋งคํฑ๊น์ง ํ๋ฒ ํ์ธํด๋ณด๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค. ๋ง์ดํฌ๋ก ๋นํธ v1.5, v2.21์ด ๊ตฌ๋ํ ๋ ์ด๋ ์ ๋์ ์ ๋ฅ๋ฅผ ์ฌ์ฉํ๋์ง๋ ํ์ธํฉ๋๋ค.
[Microbit Schematics] https://tech.microbit.org/hardware/schematic/ย <- ํ๋์จ์ด ์คํค๋ง ํ์ธ
๋ฐ๋ชจ์ด๊ฐ ์ค๊ณํ ๋ง์ดํฌ๋ก ๋นํธ ๊ธฐ๋ณธ ๋ณด๋๋ฅผ ํ์ฉํ ๋ค์ํ ํ๋ก์ ํธ ํ์ด์ ์ฝ๋์ ๋๋ค.ย
ํ์ฌ, 300p์ ๋์ '๋ง์ดํฌ๋ก ๋นํธ ํ์ด์ฌย ์ฝ๋ ํ์ต' ์น ์์ฑ ์ ์์ฑํ์์ต๋๋ค. ์ถํ ์ํค๋ ์ค์ ์ ๋ก๋ ์์ ์ ๋๋ค.ย
https://github.com/superioraj/learnmoreย
๋ฐ๋ชจ์ด ๊น ํ๋ธ ๋ง์ดํฌ๋ก ๋นํธ ํ๋ก์ ํธ ์ ๋ฆฌ ๋งํฌ
๋ง์ดํฌ๋ก ๋นํธ pxt-blehid, bitio ์ฝ๋ ํ์ผ ๊นํ๋ธ ๋งํฌ์ ๋๋ค.ย
๋ง์ง๋ง์ผ๋ก ๋ง์ดํฌ๋ก ๋นํธ์ ์ต์ ๋ด์ค๋ฅผ ์ ๊ณตํ๋ ์น์ฌ์ดํธ์ ๋๋ค. ๊ฐ๋ ํ์ธํ์ฌ ์ ๋ฐ์ดํธ ๋ฐ ์ง์ ๋ฐฉํฅ์ ์ฒดํฌํ์ธ์.
๋ง์ดํฌ๋ก ๋นํธ๋ ๋ง์ดํฌ๋ก ์ํํธ์ ์ง์์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด์ ๋ง์ดํฌ๋ก ๋นํธ์ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ๋ํด ๋ฐฐ์ ๋ด ์๋ค.
๐ 1-1.๋ง์ดํฌ๋ก ๋นํธ๋?
ย ย BBC micro:bit๋ ์๊ตญ ๋ฐฉ์ก ๊ณต์ฌ(BBC)์์ ์ฝ๊ณ ์ฌ๋ฏธ์๋ ์ปดํจํฐ ๊ต์ก์ ์ํด ๋ง๋ ์(ARM) ๊ธฐ๋ฐ์ ์ํ ์ฑ๊ธ ๋ณด๋ ์ปดํจํฐ. โmicro:bitโ๋ฅผ ์ํ๋ช ์ผ๋ก ์ฌ์ฉํ๋ค. ๊ฐ๋ณ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ LED์ ๋ฒํผ, ์ผ์, ์ ์์ค๋น(USB), ๋ฌด์ ํต์ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ๊ฐ๋จํ ๊ฒ์๋ถํฐ ๋ก๋ด, ์ ์ ์ ๊ธฐ๊น์ง ๋ค์ํ ๊ธฐ๊ธฐ๋ฅผ ๋ง๋ค ์ ์๋ค.
ย ย 2012๋ ์๊ตญ BBC์์ ์ปดํจํฐ ์์ ๊ต์ก์ ์ผํ์ผ๋ก ์์ํ์ฌ, 2015๋ ์ ํ๋ฉ์ค(ARM Holdings), ๋ง์ดํฌ๋ก์ํํธ(Microsoft), ์ผ์ฑ(Samsung), ๋ ธ๋ฅด๋ ๋ฐ๋์ฒด(Nordic Semiconductor), ํ์ด์ (Python) ์ํํธ์จ์ด ์ฌ๋จ ๋ฑ ํ๋ ฅ์ฌ๋ค๊ณผ ๊ณต๋์ผ๋ก ๊ฐ๋ฐํ์๋ค. ๋ง์ดํฌ๋ก๋นํธ ๋ณด๋๋ 4ใร5ใ ํฌ๊ธฐ์ด๋ฉฐ, ARM ๊ธฐ๋ฐ ํ๋ก์ธ์์ LED 25๊ฐ, ๋ฒํผ 2๊ฐ, ์ธ๋ถ ์ฅ์น ์ฐ๊ฒฐ์ฉ ํ, ๋น ยท ์จ๋ ยท ๊ฐ์๋ ยท ๋์นจ๋ฐ ์ผ์, ๋ฌด์ (radio), ๋ธ๋ฃจํฌ์ค, ๋ง์ดํฌ๋ก ์ ์์ค๋น(micro USB)๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์ ์์ค๋น์ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ์ปดํจํฐ, ํ๋ธ๋ฆฟPC, ์ค๋งํธํฐ ๋ฑ์์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ธ๋ก(JavaScript Blocks), ํ์ด์ (Python) ๋ฑ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ดํฌ๋ก๋นํธ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์๊ณ , ๋ง์ดํฌ๋ก๋นํธ ๋ณด๋์ USB ๋๋ ๋ธ๋ฃจํฌ์ค ํต์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ๊ฐ๋ฐํ ํ๋ก๊ทธ๋จ์ ๋ฃ์ ์ ์๋ค. ๋ง์ดํฌ๋ก๋นํธ๋ ์ง์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ํ๋์จ์ด๊ฐ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ๋์ํ๋์ง๋ฅผ ์ฒดํํ๋ ๋ฌผ๋ฆฌ ์ปดํจํ (physical computing)์ ๋ํ์ ์ธ ๊ต๊ตฌ์ฌ๋ก ํ์ฉ๋๊ณ ์๋ค. ๋ง์ดํฌ๋ก๋นํธ์ฌ๋จ(www.microbit.org)์์ ๋ง์ดํฌ๋ก๋นํธ๋ฅผ ๊ด๋ฆฌํ๋ค.
[์ถ์ฒ] https://www.python.org/community/microbit/
๐ 1-2.๋ง์ดํฌ๋ก ๋นํธ V1 vs V2 ํ๋์จ์ด ๊ตฌ์ฑ
[์ถ์ฒ]https://my.cytron.io/p-bbc-micro-bit-mainboards
[์ถ์ฒ]https://tech.microbit.org/hardware/#hardware-description
๐ 1-3.Edge Connector pinout map
์ ํ์์ '์ฃผ์๊ธฐ๋ฅ' ๊ฐ์ฅ ์์ ๊ธฐ๋ฅ์ด '๊ธฐ๋ณธ ์ค์ ๊ฐ'์ ๋๋ค. LED, ๋ฒํผ, I2C ์ฐ๊ฒฐ๋์ด ์๋ ํ์ ํ๊ธฐ๋ฅ ์ฌ์ฉ์ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด P5๋ฅผ ์ผ์์ ์ฐ๊ฒฐํด์ GPIO๋ก ์ธ ๋ ๋ฒํผA๋ฅผ ๋๋ฅด๋ฉด ์ผ์์๋ ์๊ด์์ด HIGH๊ฐ ๋ค์ด์ค๋๊ฐ ํ ๊ฒ ๊ฐ๋ค์.ย
๐ย ๋ง์ดํฌ๋ก ๋นํธ ํ๋งต ํ์ฉ ๊ตฌ์ฒด์ ์ค๋ช
๐ย 1-4.Micro:bit with Python
๋ง์ดํฌ๋ก๋นํธ ๊ธฐ๋ณธ ์์ ์๋ฃ ์ ๋๋ค.
Micro:bit Python Editor(v2_beta)๋ฅผ ํ์ฉํ ์์ ์ ๋๋ค.
๊ธฐ๋ณธ API + ์์ ๋ง์ดํฌ๋ก ๋นํธ๋ก ์งํํ ์ ์๋ ํ๋ก์ ํธ๊ฐ ํฌํจ๋์ด์์ต๋๋ค.ย
๊ธฐ๋ณธ ๋ํผ๋ฐ์ค์ ๊ฐ๋ฅํ API๋ง ํ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ ์์ ์ด๊ธฐ์ ๋ค๋ฅธ ์ผ์๋ ํ์ฅํ์ง ์์ต๋๋ค.
ํ์ฌ ๊ณ์ ๊ฐ๋ฐ ์ค์ ๋๋ค. (30% ์ ๋ ์๋ฃ)
๐ย 1-5.Micro:bit with Block
๋ง์ดํฌ๋ก๋นํธ ๊ธฐ๋ณธ ์์ ์๋ฃ ์ ๋๋ค.
Micro:bit Makecode๋ฅผ ํ์ฉํ Block์ฝ๋ฉ ์์ ์ ๋๋ค.
๊ธฐ๋ณธ API + ์์ ๋ง์ดํฌ๋ก ๋นํธ๋ก ์งํํ ์ ์๋ ํ๋ก์ ํธ๊ฐ ํฌํจ๋์ด์์ต๋๋ค.ย
๊ธฐ๋ณธ ๋ํผ๋ฐ์ค์ ๊ฐ๋ฅํ API๋ง ํ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ ์์ ์ด๊ธฐ์ ๋ค๋ฅธ ์ผ์๋ ํ์ฅํ์ง ์์ต๋๋ค.
ํ์ฌ ๊ณ์ ๊ฐ๋ฐ ์ค์ ๋๋ค.
๐ 1-6.Micro:bit Python ์ปจํธ๋กค์ ์ํ IDE ํ๋ก๊ทธ๋จ MU
[ํ๋ก๊ทธ๋จ ๋ค์ด๋ก๋ ๋งํฌ] https://codewith.mu/en/
๐ 6์ฐจ์ ๋ง์ดํฌ๋ก ๋นํธ ํ์ด์ฌย ๊ต์ก ์ค๊ณ
๐ฅ[๊ฐ์ ์ ๋ชฉ] MS ๋ง์ดํฌ๋ก ๋นํธ ๋ณด์ Copilot์ผ๋ก ๋ฐฐ์ฐ๋ ํ์ด์ฌ ๊ธฐ์ด
1์ฐจ์: ๋ง์ดํฌ๋ก ๋นํธ ํ์ด์ฌ์ ๋ฐฐ์ฐ๊ธฐ ์ํ MS ์ฝํ์ผ๋ฟ ์ธํ
2์ฐจ์: Microbit๋ก ๋ฐฐ์ฐ๋ ๋ณ์, ๋ฐ์ดํฐ ํํ, ์ ์ถ๋ ฅ + (๋ง์ดํฌ๋ก ๋นํธ ์ ๊ดํ ๋ง๋ค๊ธฐ)
3์ฐจ์: Microbit๋ก LED์ ์ฌ์ด๋ ํจ์๋ก ์ ์ดํ๋ฉฐ ๋ฐฐ์ฐ๋while๋ฌธ๊ณผ for๋ฌธ(5x5 LED for๋ฌธ์ผ๋ก ์ปจํธ๋กค ํ๊ธฐ, ๊ณ ์ฃผํ ๋ชจ๊ธฐ ํด์น๊ธฐ ๋ง๋ค๊ธฐ)
4์ฐจ์: Microbit ์จ๋ณด๋ ์ผ์๋ก ์ ์ดํ๋ฉฐ ๋ฐฐ์ฐ๋ if๋ฌธ (๊ต์ค ์์ ๊ฒฝ๋ณด ์ฅ์น ๋ง๋ค๊ธฐ)
5์ฐจ์: ํจ์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ชจ๋์ ๊ด๊ณ์ ๋ํ ์ดํด
6์ฐจ์: ๋ง์ดํฌ๋ก ๋นํธ ์์ ์ค๊ณ ๋ฐ ์์ด๋์ด ๋๋ย
'Peace be with youย
on your coding.'