ãã€ã¯ããããã§ã²ãŒã
ãä»åã¯ãã€ã¯ããããã§ãªã¢ã«ã¿ã€ã ã²ãŒã ãäœæããŸãããã€ã¯ããããã«ã¯ã²ãŒã ããµããŒãããã¹ãã©ã€ãæ©èœãçšæãããŠããŸãããä»åã¯ãããããçšæãããŠããã²ãŒã é¢ä¿ã®æ©èœã¯å©çšããŸããã ãäœæããã²ãŒã ã§ããã衚瀺ãããŠããLEDãå šãŠæ¶ããŸã§ã®æéãç«¶ããŸããAãã¿ã³ãæŒããšè¡šç€ºãããŠããLEDãäžã€ãã€æ¶ããŠãããŸããå šéšæ¶ãããšãããã£ãæéã衚瀺ãããŸãã ãã²ãŒã ã®å¶äœã¯äžæ°ã«å®æãããã®ã§ã¯ãªããå°ããã€äœæãåäœã確èªããããã«ããŸãã
ã»JavaScriptçšMicrobitãšãã£ã¿ãŒ
https://makecode.microbit.org/
Aãã¿ã³ãæŒããããLEDãæ¶ã
ãAãã¿ã³ãæŒããããLEDãæ¶ãã ãã®ã²ãŒã ã§ããããªãã¹ãã·ã³ãã«ã«ãããã䜿çšãã倿°ã¯2ã€ã ãã«ããŸãã1ã€ã¯LEDãæ¶ãããã®äœçœ®ã瀺ã倿°ã§ãããã1ã€ã¯ã²ãŒã ã¯ãªã¢ãŸã§ã«ããã£ãæéãèšæž¬ãã倿°ã§ãã ããŸããAãã¿ã³ãæŒããããLEDãæ¶ãéšåãäœæããŸããæåã«ã倿°ãã0ã«ããŠLEDãå šç¹ç¯ãããŸãããLEDã«è¡šç€ºããããã¯ãé 眮ãããšå šæ¶ç¯ã«ãªã£ãŠããã®ã§ãLEDéšåãã¯ãªãã¯ããŠèµ€ãããŸãã25åãã¹ãŠã®LEDãç¹ç¯ãããŠãããŸãã
-

ã倿°ãã«ããŽãªãã¯ãªãã¯ã倿°ã倿°ããã0ãã«ããããããã¯ãèšçœ®ããåºæ¬ãã«ããŽãªã®ãLEDã«è¡šç€ºããããã¯ãèšçœ®ãã
-

ãæåã ãããããã¯ã«å³ã®ããã«ããŠã¯ãããLEDã«è¡šç€ºããããã¯ã®LEDããã¹ãŠã¯ãªãã¯ãç¹ç¯ç¶æ ã«ãã
ãæ¬¡ã«Aãã¿ã³ãæŒãããæã«åŠçãè¡ããŸãããå ¥åããããã¯ã«ããããã¿ã³ãAããæŒãããæããããã¯ãé 眮ããŸãã
ãAãã¿ã³ãæŒããããã倿°ãã®å€ã§ç€ºãããLEDãæ¶ç¯ããŸããã倿°ãã®å€ãšè¡šç€ºããXY座æšã®é¢ä¿ã瀺ãåŒã¯ä»¥äžã®ããã«ãªããŸãã
X座æšïŒã倿°ãã5ã§å²ã£ãäœã
Y座æšïŒã倿°ãã5ã§å²ã£ãå€
ã5ã¯ãã€ã¯ããããã®LEDã®çžŠæšªã®æ°ã§ãããã€ã¯ããããã®LEDæ°ã¯æšª5Ã瞊5ãªã®ã§ããã®ãããªèšç®ã«ãªããŸãããã®ããã«èšç®ãã座æšãæ¶ç¯ãããã¯ã«èšå®ããŸããæ¶ç¯ããåŸã«ã¯ã倿°ãã®å€ã«1ãè¶³ããŸãã ãã倿°ãã®å€ã24æªæºã§ããã°è©²åœãã座æšã®LEDãæ¶ç¯ããããã§ãªãå Žåã¯ã²ãŒã ãã¯ãªã¢ããããšã«ãªãã®ã§CLEARã®ã¡ãã»ãŒãžã衚瀺ããŸãã ããããŸã§ã®ãããã¯ãçµã¿ç«ãŠããšä»¥äžã®ããã«ãªããŸãã
-

ãè«çãã«ããŽãªããããããçããªããã§ãªããã°ããããã¯ããã0ãïŒã0ãããããã¯ãã¯ãªãã¯ãã倿°ãã«ããŽãªããã倿°ããããã¯ãã¯ãªãã¯ã"ããïœ"ã®éšåã«ã倿°ããããŠã¯ããã倿°ïŒ24ãã«æ°å€ã倿Žãããç¶ããŠ"ãªãïœ"ã«éšåãLEDãã«ããŽãªãããæ¶ç¯ x0y0ããã¯ãªãã¯ãé 眮ããèšç®ãã«ããŽãªãã»ã»ã»ããã«è¡šç€ºããã¯ãªãã¯ãããã0ã÷ã1ãã®ããŸãããããã¯ãšãèšç®ãã«ããŽãªã®ãã0ã÷ã0ãããããã¯ãã¯ãªãã¯ãã倿°ããããã¯ãå³ã®ããã«ããããé çœ®ãæ°å€ã5ã«å€æŽãããã«ã倿°ãã«ããŽãªããã倿°ã倿°ããã1ãã ãå¢ããããã¯ãªãã¯ãæ¶ç¯ãããã¯ã®äžã«é 眮ããã"ã§ãªããã°ïœ"ã«ã¯ãåºæ¬ãã«ããŽãªã®ãæååã衚瀺"ãhello!ã"ããã¯ãªãã¯ããæåå"hello!"ã"CLEAR"ã«å€æŽããã
ããã®æ®µéã§ãã²ãŒã ãšããŠã¯åäœããŸãã®ã§ããã€ã¯ããããã«ããã°ã©ã ã転éããŠåãããŠã¿ãŸããããAãã¿ã³ãæŒããšLEDã1ã€ãã€æ¶ããŠããã¯ãã§ãããã¹ãŠæ¶ããšCLEARã®æåã衚瀺ãããŸãã
ã¿ã€ããŒã远å ãã
ãæ¬¡ã«ã²ãŒã ã¯ãªã¢ãŸã§ã®æéã瀺ãã¿ã€ããŒã远å ããŸããã¿ã€ããŒã¯ããã°ã©ã ãåäœããŠããéãã«ãŠã³ãããå¿ èŠããããŸããããã¯å³ã®ããã«ã¿ã€ããŒã®å€ã瀺ã倿°ãããã£ãšãã®ãããã¯ã«å ¥ããã ãã§ããã¿ã€ããŒã®å€æ°åã¯ãã¿ã€ããŒãã«ããŠãããŸãã倿°ã远å ããã«ã¯ã倿°ãã«ããŽãªã®å€æ°ã远å ãã¯ãªãã¯ããŸãã
-

ããã£ãšããããã¯ã«ã¯ãã倿°ãã«ããŽãªããã倿°ã倿°ããã1ãã ãå¢ããããããã¯ãèšçœ®ã倿°ã倿°ããïœã®éšåã倿°ãã¿ã€ããŒãã«å€æŽãã
ãããã£ãšãã®ãããã¯å ã§ãã¿ã€ããŒãã®å€ãã«ãŠã³ãããŠãããšå°ã£ãåé¡ãçºçããŸããããã¯ãã²ãŒã ãéå§ããŠããªãã®ã«ãã¿ã€ããŒãã®å€ãã«ãŠã³ãïŒå¢ããŠïŒããŸãããšã§ãããã¿ã€ããŒãã®å€ã¯ã²ãŒã éå§æã«0ã«ããªããã°ãããŸãããããã§å³ã®ããã«Aãã¿ã³ãæŒãããæã«ã倿°ãã®å€ã調ã¹ãŠã²ãŒã ãå§ãŸã£ãŠããªãå Žåã¯åžžã«ãã¿ã€ããŒãã®å€ãã0ãã«ããããã«ããŸãã
-

è«çã«ããŽãªã®ããããçããªãããããã¯ã远å ããå³ã®ããã«ããã¿ã³AãæŒããããšãïœãã«è¿œå ãããåããããã¯ã§æ°å€ãéãã ãã®ãããã¯ãé 眮ããŠããã®ã§ããããã¯ãéžæããŠã³ããŒ&ããŒã¹ãã§ã远å ã§ããŸããéžæããDeleteããæŒãã°ãããã¯ãæ¶ãããšãã§ããŸã
ãã²ãŒã ã¯ãªã¢ãããæåŸã«ãã¿ã€ããŒãã®å€ã衚瀺ããŸãããããŸã§çµã¿ç«ãŠããšä»¥äžã®ãããªãããã¯æ§æã«ãªããŸãã
-

å³ã®ããã«é 眮ããŸããæ«å°Ÿã«ãããæ°ã衚瀺ãã¿ã€ããŒããã®éšåã倿ŽããŠãããŸãã®ã§å¿ããªãããã«ããŠãã ãã
ããã£ãããªã®ã§ã²ãŒã ã®é³æ¥œãBGMã远å ããŸãããã鳿¥œã¯ããã¯ã°ã©ãŠã³ãã§åçãããã®ã§ã²ãŒã éå§æã«ãã¡ããã£ãéå§ããããããã¯ã远å ããŸããæµã鳿¥œã¯ã奜ã¿ã®ãã®ãèšå®ããŠãã ããã
-

ã鳿¥œãã«ããŽãªãããã¡ããã£ãéå§ããïœããéžæãå³ã®ããã«é 眮ããŸã
ãªãã¬ã€æ©èœã®è¿œå
ããããŸã§ã§ãã²ãŒã ãšããŠãã¬ã€ããããšã¯ã§ããŸããåé¡ããããŸããç¹ã«å°ãã®ãã²ãŒã ãã¯ãªã¢ããåŸã«ãããäžåºŠãã¬ã€ããããšãã§ããªããšããããšã§ããããäžåºŠãã¬ã€ããã«ã¯ãã€ã¯ããããã®é»æºãå ¥ãçŽããªããšãããŸãããããã¯ããããã«ç¡çããããŸãã®ã§ãBãã¿ã³ãæŒããããªãã¬ã€ã§ããããã«ããŸãããªãã¬ã€ã¯ãã€ã¯ããããããªã»ããããããšã§å®çŸããŸãã
ããªã»ããã¯ãé«åºŠãªãããã¯ãã®ã«ããŽãªã«ãããŸãããå¶åŸ¡ãã®ã«ããŽãªãã¯ãªãã¯ãããšããªã»ããããšãããããã¯ããããŸãã®ã§ããããé 眮ããŸãã
ã宿ããããã°ã©ã ã¯ä»¥äžã®ããã«ãªããŸãããããã¯ãšãœãŒã¹ã³ãŒãã§ç€ºããŸãããããã¯ãé 眮ããã®ãé¢åãªæ¹ã¯æ°èŠãããžã§ã¯ãäœæåŸã«ãã³ãŒããã³ããŒïŒããŒã¹ãããŠãã ããã
-

Bãã¿ã³ã®åäœã远å ããããã«ãå ¥åãã«ããŽãªããããã¿ã³ãAããæŒããããšãããã¯ãªãã¯
let ã¿ã€ã㌠= 0
let 倿° = 0
input.onButtonPressed(Button.A, () => {
if (倿° == 0) {
ã¿ã€ã㌠= 0
music.beginMelody(music.builtInMelody(Melodies.Entertainer), MelodyOptions.Once)
}
if (倿° < 24) {
led.unplot(倿° % 5, 倿° / 5)
倿° += 1
} else {
basic.showNumber(ã¿ã€ããŒ)
}
})
input.onButtonPressed(Button.B, () => {
control.reset()
})
倿° = 0
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
ã¿ã€ã㌠+= 1
})
ãããšã¯ãã€ã¯ããããã«è»¢éããŠéãã§ã¿ãŸãããã
ãªããã²ãŒã ã¯ãªã¢åŸã«Aãã¿ã³ãæŒããŠãã¿ã€ããŒã®å€ã衚瀺ãããŸããã¯ãªã¢åŸã«ã¯äžåºŠãã衚瀺ãããªãããã«ããŠã¿ããšããã§ãããã
ããã®ã²ãŒã ã§äœ¿çšããã¿ã€ããŒã¯ã²ãŒã å ã§ã®æéïŒ1ã«ãŒã1ã«ãŠã³ãïŒãªã®ã§å®æéãèšæž¬ããŠçµæã衚瀺ããããã«æ¹è¯ããŠã¿ãŸãããã宿éãæ±ããã«ã¯ãå ¥åãã®ã«ããŽãªå ã«ããã皌åæéïŒããªç§ïŒãã®ãããã¯ã䜿ããŸããã²ãŒã éå§æã«å€æ°ã«çšŒåæéãå ¥ããŠãããã²ãŒã ã¯ãªã¢æã«çŸåšã®çšŒåæéããéå§æã®çšŒåæéãåŒãç®ããã°å®éã«ããã£ãæéãæ±ããããšãã§ããŸãã
ãåèãŸã§ã«ãã¿ã³AãæŒããšçšŒåæéã衚瀺ãããããã°ã©ã ã瀺ããŸããæ£è§£ã¯æ¬¡åã«æ²èŒããŸãã®ã§ãã£ã¬ã³ãžããŠã¿ãŠãã ããã
input.onButtonPressed(Button.A, () => {
basic.showNumber(input.runningTime())
basic.showLeds(`
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
`)
})
basic.forever(() => {
})
èè å€ç±äžæµ©
ããã°ã©ãã³ã°ãããŒã¹ã«ããŠé¢çœãããªãã®ã¯ãšãããããã£ãŠã¿ããšããã¹ã¿ã³ã¹ãè€éãªãã®ããã·ã³ãã«ã§æ¥œããããã®ã奜ã¿ã
èè ãµã€ãïŒhttp://www.openspc2.org/









