 のマイコン用ビジュアルプログラミング言語
メニュー構成等の検討
光永 法明 大阪教育大学

はじめにビジュアルプログラミング言語を使うことで，キーボード操作に不慣れな児童・生徒も，プログラミングを楽しむことができる ．マイコンマイコンボードならびに組み込み向けのビジュアルプログラミング言語と開発環境としては，レゴマインドストームをはじめ，多くの教材会社やキットメーカが作成したものがある．しかし，回路構成の自由度が高く，入手しやすい開発環境は，それほど多くない．
そのような環境としては   と図 & #があげられる． は専用ファームウ

ェアが動作するマイコンで，を使うとフローている．図  にあるように，たとえば，キャラクタをラムを作成できる．   を使うとブロックを組み動かしたいときには「動き」を，キャラクタの見た目を合わせて，  マイコンボードで動作するプログラ公開した，いわゆるオープンソースで開発が進められて変えたいときには「見た目」を，音を出したいときには「音」を，マウスによるクリックなどのイベントに反応おり，今後の発展が期待される．
ブロックを組み合わせてプログラムを作成するプログ
ラミング環境では，言語を構成するブロックを選択，配置してプログラムを作成する．そのため，文字で記述するプログラミング言語の，キーワード    など，関数や命令   !"など 等に相当するブロックが多数用意される．多数のブロックの中から目的を達成するブロックを見つけやすくするには，適切なブロッ
クの分類，配置が必要である．
  の表示 一部切り抜きのやりたいことでブロックが分類，メニューが作成されチャートのようなブロックと矢印の組み合わせでプログムを作成できる．また     はソースコードを$ '(

ではブロックをいくつかのグループに分類して，メニューに配置している．しかし，グループの分類（メニュー構成）をみたとき，初心者向けとは必ずしもいえなかった．そこで，   について初心者により分かりやすいメニュー構成を検討したので報告する．

させたいときには「イベント」を，繰り返しや条件分岐などプログラムの流れを制御したいときには「制御」をクリックすれば，その分類のブロックが表示される．またブロックの色は，メニューの色と統一されていて，同じ分類のブロックのメニューを探しやすくなっている．
ところで，マイコンを利用した作品で何をしたいかという問をすると，最初の答は光らせたい，音を出したい，動かしたいといった答になると考える．それができてから，具体的に，点滅させたい，音を変化させたい，動きを変えたいとなり，さらには外界に反応させたいとなるのではないだろうか．
一方，最近の   (% 年 ( 月 % 日のベータ版 を見るとブロックは「制御」「ピン」「比べる」「計算する」「変数定数」「ユーティリティー」「通信」などに分類されている．この分類はプログラミング言語の構造を知っていると分かりやすい．たとえば「制御」には



メニュー構成の検討#$%文 )$ 文  文と時間待ちの，「ピン」には入出力ピン操作の，「比べる」には比較演算子と論理演算子には子ども向けのプログラミング環境とし相当のブロックが分類されている．* を点灯するにて有名であり，多くの子どもたちが利用している 図 ． は「ピン」に，音を出すには「ユーティリティー」にあはプログラミング言語を教えプログラムを作ら るブロックを使う．どちらかというと，マイコンにできせることを目的としておらず，子ども自身が興味を持っ ることを理解してから，必要なブロックを探す必要があ#$て何かを達成しようとすることを実現するためのツー

る．以下では，   のブロックの分類を作品を作ルを目標としている．したがって #る過程を考慮して見直す．

$

では，子ども

図 %& 追加したブロックを利用したプログラムの例
図 & 改変した    のメニュー部分
また    では   マイコンボードを前提

としているが，ヒダピオシステム +で学んだ生徒に使ブロックの分類と実装
*わせたいという要望に合わせ，" 1%% マイコンのの点滅，音の出力，モータの動きといったものが利用を考慮した改変も行った 図 %．  ではピンあると，回路・マイコンの動作が分かりやすい．また作単位の操作を簡単にできるようにし，マイコンのポートりたい作品のイメージを具体化するにも役立つと考える． レジスタを意識せずに済むようになっている．一方，ヒ自身の経験も含め，初心者のマイコンプログラム 作品ダピオシステムではポートレジスタを直接操作する．その作成過程は次のようになると考える．

こでポートレジスタや入出力を決めるレジスタを操作出'

作品づくりの最初の段階では，出力に関係するブ来るようにしている．また音の出力について，音階に応じた周波数を返す定数ブロックと，テンポに応じて音符ロックの使い方を覚える．の長さから時間を計算するブロックを用意している．
'

つぎに，そういったブロックと時間待ちのブロックを並べ，オープンループで動作するプログラムを作る．

%'

繰り返しや，条件分岐，あるいは演算を使って動作

まとめ
本論文では，初心者のマイコンプログラムの作成過程を考慮し，ビジュアルプログラミング言語    のを複雑にする．

ブロックの分類を提案して改変を実装した．分類が他の+'入力に応じて動作を分岐するプログラムにする．

,'

入力や記憶（変数）を使って計算（演算）をし，動作を変えるプログラムにする．

-'

ビジュアル言語の参考に，また改変した    を活用いただければ幸いである．

謝辞

デバッグ方法も覚え，さらに発展させていく．
助言と要望をいただいた兵庫県三田市立狭間中学

この仮定に基づいてブロックを， プログラムを構成校の浅田寿展教諭に感謝する．本研究は 5## 科研費する基本のブロック（基本）， デジタル. 出力

,43(+4の助成を受けたものである．

（出力），% 音の出力（音），+ プログラムの待ち（いわゆる /01 2 待つ），, くりかえし・分岐，- デジ

参考文献

タル入力と時刻（入力・時刻），3 変数，算術・論理・ビット・比較演算（演算），4 非同期シリアル・ 通

語環境' 情報処理 6',( '( 22'74-877, ((7'信（通信）に分け，順にメニューに並べ ( 年 3 月ごろの    を基に実装した 図 ．#

$兼宗 阿部 原田& プログラミングが好きになる言にならい，   & $2&/'/ ' 9

ブロックとメニューの色を統一し，ブロックを探しやすくしている．例外としては，形状が同じで区別が必要な，% '  0 9&

変数，定数と音の長さをテンポから計算するブロックに 

ついて，メニューとは別の色分け（値を代入できる変数"$ # 6 9 '$ 2 "+

ヒダピオシステム& $99  <

0' 92 '  '

6'( '+ 22'-&8-&, (('はピンク，定数と計算ブロックは赤色， 進数の定数は暗い赤）をしている．

5' . 1 .' :0  ;' :0 ' #6 9 2&$ 2'=2