Scratchの仲間

 Scratchはオープンソースなので、Scratchをベースにした様々なソフトが開発され発表されています。これらは元々がScratchなので似ていながら、全く異なる性質を持っている場合があります。そこで、どのようなソフトがあるのか、特徴と用途、プロジェクトの互換性についいて説明します。


Scratchのルール

 Scratchのソースを元にして機能を追加し、別のソフトを開発する場合、開発元のMITから以下の使用条件が示されています。
・開発したソフトの名称にScratchという名称を使わない
・マスコットにScratch Catを使わない
 この条件さえ守れば、無償でScratchのソースを使用することができるのです。
 Scratchと画面デザインがそっくりで基本操作が同じなのに、名前がScratchでなくキャラクターがScratch Catでないソフトがあるのは、こういう理由があるのです。逆に言えば、名称に「Scratch」を使用しているソフトは、MITの開発したものということになります。


2.0と1.4のプロジェクトの互換性

 それでは、そうしたScratchの仲間のあいだで、作成したプロジェクトは互換性があるのでしょうか。例えば、PCのScratchで作成したプロジェクトを、タブレットで動作するScratchの仲間で動かすことはできるのでしょうか。
 まずは基本となる、本家のScratchで考えてみましょう。

 Scratchで作成したプロジェクトは、1.4系と2.0系では互換性がありません。

 インストールして使用する1.4系と、オンラインで使用する2.0系では、同じプロジェクトを流用することができないのです。そもそも、プロジェクトを記録したファイルの拡張子が、1.4系は「.sb」2.0系では「.sb2」と異なっています。
 例えば、2.0系のプロジェクトを記録したファイルを無理に1.4系で開いても、エラーが出て読み込むことができません。
 体験活動の際に、「Scratch2.0を使用する予定だけど会場がインターネットにつながらないと困るから1.4も用意しておこう」などという場合は、同じ動作をするサンプルプロジェクトであっても、必ず2.0と1.4系の両方を用意しておく必要があるということです。


1.4のプロジェクトの互換性

 同じScratch1.4をベースにしているScratchの仲間でも、プロジェクトに互換性がなく動作しない場合があるので注意が必要です。
 しかも、単純にファイルが開けないなら気付きやすいのですが、ファイルは開けるものの実行するとScratchが落ちてしまうなど、相性にはいろいろなケースがあります。
 これと反対に、一見すると互換性が無さそうに思えるタブレット版のScratchでも、クラウドやメールによってプロジェクトファイルを送付すれば、PCで作成した プロジェクトを実行できるという組み合わせもあります。
 もちろん、同じソフトで作成されたプロジェクトであれば、別のPCやタブレットの同じソフトで動作させたり編集することが可能です。
 このような問題があるため、1.4系で作成されたプロジェクトのファイルを別の環境で開く場合には、事前の動作チェックが不可欠であると言えるでしょう。


タブレット版Scratchの仲間

 それでは、実際に入手可能なScratchの仲間を紹介しましょう。
 まずは、タブレットで動作するものです。なお、情報セキュリティの視点から、いずれも公式のソフトマーケットから入手できるものをとりあげています。


Scratch Jr

 MITが発表しているタブレット版Scratchが「Scratch Jr」です。
 1.4系を元にしていないため、他のScratchとはかなり趣が異なります。グラフィックプログラミングの方法もピースを横に並べていくなど、Scratchという名称から想像するものと少々違っており、むしろLEGOのWe Doに近い印象です。


ピョンキー

 ピョンキーはScratch1.4系そのもののインターフェースを備えているため、1.4の入門用に適したソフトといえるでしょう。
 ピョンキーは、Scratch1.4のプロジェクトのファイルを外部から読み込めるのも特徴です。メールに添付したり、クラウドを介して読み込むことが可能ですので、サンプルファイルを配布するという用途にも適しています。

 また、ピョンキーの最大の特徴は、タブレットに内蔵されたセンサーを使用することができることです。
 初期状態でピョンキーを起動したときの、[調べる][センサーの値]に表示されるメニューです。他の1.4と変わりありません。

 メニューバーから[編集]を開くと、PC版には存在しない[iPadのセンサーを有効にする]というメニューがあります。これを選択してみましょう。

 すると[調べる][センサーの値]のメニューに、[加速度][ジャイロ][ヨー][ピッチ][ロール][北の方角][明るさ]が加わっています(画面はiPad版)。これで、外部に部品を接続することなしに、タブレットに内蔵された各種のセンサーをトリガーにできるようになりました。

 このように、PC版のScratchでセンサーを使用するには別に電子回路を接続するしかなかったわけですが、ピョンキーなら電子工作をしなくとも簡単にセンサーを利用できるのです。


Tickle

 Tickleは、少々変わったScratchの仲間です。タブレットのBluetoothを利用して、タブレットで作成したプロジェクトから、外部のドローンやロボット、Arduinoなどの機器を物理的にコントロールすることができるのです。複数のトイ・ロボットに対応している汎用性あるソフトです。
 開発者によれば、「Scratchに影響を受けて」いるもののScracth1.4ベースというわけではありません。ただ、デザインや操作が良く似ているため、Scratchを理解していれば、Tickleでも容易にプログラミングできるでしょう。


blockly

 blocklyは、タブレットのBluetoothを利用して、タブレットで作成したプロジェクトから、外部のロボットを物理的にコントロールする専用ソフトです。ブロックの基本操作はScratchに似ていますので、Scratchを理解していれば、容易にプログラミングできるでしょう。
 blocklyの特徴は、子どもを飽きさせないように工夫されたチュートリアルが充実していることです。ゲーム風の課題を一つ一つクリアしていくと、操作方法が身につけられるわけです。


Drone Block

 Drone BlockをScratchの仲間とするのは少々乱暴かもしれません。けれども、ブロックを組み合わせてプログラムを作成する方法がScratchとよく似たデザインであるため紹介しておきます。
 Drone Blockは、タブレットのBluetoothを利用して、タブレットで作成したプロジェクトからドローンをコントロールする専用ソフトです。blocklyもそうですが、Scracthの操作性を活かしたリモートコントロールソフトにより、タブレットやスマートフォンから各種のIT機器を操作するというのが流行りになっているのです。


PC版Scratchの仲間

 次に、PC版のScratchの仲間を紹介しましょう。
 PCで動くScratchの仲間の特徴は、特定のハードを制御する目的でScratch1.4をベースとして拡張されたものだということです。そのため、見た目や基本的な操作が似ていても、物理的な環境の違いからプロジェクトには互換性がないということが珍しくありません。


Stduino

 Studuinoは、ミニミニコンピュータの一種であるArduinoの互換機です。ロボットを動かすことを目的としており、Arduino互換ボードにモーター制御用のドライバが組み込まれています。

 このStuduinoのプログラムを開発するためのツールとして、Scratch1.4をベースとした「Studuinoソフトウェア」が公開されていますが、メニューの項目やブロックがStuduino用に変更された専用のものです。PC上でStuduinoソフトウェアによって開発されたプログラムは、マイコン用に変換されPCに接続されたStuduinoのボードに書き込まれます。いったん書き込まれたプログラムは、PCとの接続を解除したりStuduinoの電源を落としてもそのまま記憶されており、PCが無くともStuduinoだけで動作させることができます。



S4A (Scratch for Arduino)

 S4Aは、ミニミニコンピュータの一種であるマイコンのArduinoをPCから制御することを目的としたScratchですが、Studuinoとは発想が異なっています。

 Studuinoはロボットに組み込むことを目的としているためにPCと接続されていなくとも自律的に動作しますが、S4AはPCとArduinoが接続されていないと動作しません。
 それでは、S4Aはどのような場面に使用するのでしょうか?PCに各種のセンサーを接続する場合、通常はUSBを使用するしか方法がありません。そこで、PCに汎用入出力(GPIO)端子を備えたマイコンを接続し、このマイコンのGPIOにセンサーを接続すれば、PCのScratchから容易に各種センサーを利用することができるわけです。
 S4Aを使用するには、PCとArduinoが接続されている環境で、PC上でS4Aが実行されていなければなりません。また、ArduinoのGPIOを直接制御するブロックが用意されているので簡単にプログラムが作れますが、その反面で通常のScratch1.4とはプロジェクトの互換性がないことに注意が必要です。
 通常のScratch1.4でS4Aのプロジェクトのファイルを開こうとすると、エラーが出てファイルを開けません。特定のハードに対応するために拡張した部分には、互換性が無いわけです。

 ややこしいことに、S4Aでは通常のScratch1.4のプロジェクトを読み込んで実行できます。間違えないように気をつけましょう。



どのScratchを選べばよいか?

 手軽にScratchを体験してみたいという用途であれば、Scratch2.0ならWebブラウザだけで利用できますし、追加ソフトのインストールが不要というメリットがありますが、その反面、センサーを繋ぐといった発展的な用途に制限があります。Scratchによるプログラミング体験を手軽に行うには2.0を使用しますが、将来的にはセンサー接続などを考えている場合は、早いうちに1.4に慣れておくと良いでしょう。
 ここで紹介したとおり、Scratch1.4を元にしたソフトは、さまざまな用途で用いられています。そこで、Scratchでロボットやセンサーなどの機器を接続してみたいという方には、Scratch1.4が不可欠です。その際にお勧めなのが、タブレットで動作するピョンキーです。ピョンキーであれば、基本的なScratchの機能に加え、タブレットに内蔵されたセンサーを使用したプロジェクトが作成できるため、一通りの体験が可能です。
 その後、目的や環境に応じて選択すると良いでしょう。

Scratchの仲間

 Scratchはオープンソースなので、Scratchをベースにした様々なソフトが開発され発表されています。これらは元々がScratchなので似ていながら、全く異なる性質を持っている場合があります。そこで、どのようなソフトがあるのか、特徴と用途、プロジェクトの互換性についいて説明します。


Scratchのルール

 Scratchのソースを元にして機能を追加し、別のソフトを開発する場合、開発元のMITから以下の使用条件が示されています。
・開発したソフトの名称にScratchという名称を使わない
・マスコットにScratch Catを使わない
 この条件さえ守れば、無償でScratchのソースを使用することができるのです。
 Scratchと画面デザインがそっくりで基本操作が同じなのに、名前がScratchでなくキャラクターがScratch Catでないソフトがあるのは、こういう理由があるのです。逆に言えば、名称に「Scratch」を使用しているソフトは、MITの開発したものということになります。


2.0と1.4のプロジェクトの互換性

 それでは、そうしたScratchの仲間のあいだで、作成したプロジェクトは互換性があるのでしょうか。例えば、PCのScratchで作成したプロジェクトを、タブレットで動作するScratchの仲間で動かすことはできるのでしょうか。
 まずは基本となる、本家のScratchで考えてみましょう。

 Scratchで作成したプロジェクトは、1.4系と2.0系では互換性がありません。

 インストールして使用する1.4系と、オンラインで使用する2.0系では、同じプロジェクトを流用することができないのです。そもそも、プロジェクトを記録したファイルの拡張子が、1.4系は「.sb」2.0系では「.sb2」と異なっています。
 例えば、2.0系のプロジェクトを記録したファイルを無理に1.4系で開いても、エラーが出て読み込むことができません。
 体験活動の際に、「Scratch2.0を使用する予定だけど会場がインターネットにつながらないと困るから1.4も用意しておこう」などという場合は、同じ動作をするサンプルプロジェクトであっても、必ず2.0と1.4系の両方を用意しておく必要があるということです。


1.4のプロジェクトの互換性

 同じScratch1.4をベースにしているScratchの仲間でも、プロジェクトに互換性がなく動作しない場合があるので注意が必要です。
 しかも、単純にファイルが開けないなら気付きやすいのですが、ファイルは開けるものの実行するとScratchが落ちてしまうなど、相性にはいろいろなケースがあります。
 これと反対に、一見すると互換性が無さそうに思えるタブレット版のScratchでも、クラウドやメールによってプロジェクトファイルを送付すれば、PCで作成した プロジェクトを実行できるという組み合わせもあります。
 もちろん、同じソフトで作成されたプロジェクトであれば、別のPCやタブレットの同じソフトで動作させたり編集することが可能です。
 このような問題があるため、1.4系で作成されたプロジェクトのファイルを別の環境で開く場合には、事前の動作チェックが不可欠であると言えるでしょう。


タブレット版Scratchの仲間

 それでは、実際に入手可能なScratchの仲間を紹介しましょう。
 まずは、タブレットで動作するものです。なお、情報セキュリティの視点から、いずれも公式のソフトマーケットから入手できるものをとりあげています。


Scratch Jr

 MITが発表しているタブレット版Scratchが「Scratch Jr」です。
 1.4系を元にしていないため、他のScratchとはかなり趣が異なります。グラフィックプログラミングの方法もピースを横に並べていくなど、Scratchという名称から想像するものと少々違っており、むしろLEGOのWe Doに近い印象です。


ピョンキー

 ピョンキーはScratch1.4系そのもののインターフェースを備えているため、1.4の入門用に適したソフトといえるでしょう。
 ピョンキーは、Scratch1.4のプロジェクトのファイルを外部から読み込めるのも特徴です。メールに添付したり、クラウドを介して読み込むことが可能ですので、サンプルファイルを配布するという用途にも適しています。

 また、ピョンキーの最大の特徴は、タブレットに内蔵されたセンサーを使用することができることです。
 初期状態でピョンキーを起動したときの、[調べる][センサーの値]に表示されるメニューです。他の1.4と変わりありません。

 メニューバーから[編集]を開くと、PC版には存在しない[iPadのセンサーを有効にする]というメニューがあります。これを選択してみましょう。

 すると[調べる][センサーの値]のメニューに、[加速度][ジャイロ][ヨー][ピッチ][ロール][北の方角][明るさ]が加わっています(画面はiPad版)。これで、外部に部品を接続することなしに、タブレットに内蔵された各種のセンサーをトリガーにできるようになりました。

 このように、PC版のScratchでセンサーを使用するには別に電子回路を接続するしかなかったわけですが、ピョンキーなら電子工作をしなくとも簡単にセンサーを利用できるのです。


Tickle

 Tickleは、少々変わったScratchの仲間です。タブレットのBluetoothを利用して、タブレットで作成したプロジェクトから、外部のドローンやロボット、Arduinoなどの機器を物理的にコントロールすることができるのです。複数のトイ・ロボットに対応している汎用性あるソフトです。
 開発者によれば、「Scratchに影響を受けて」いるもののScracth1.4ベースというわけではありません。ただ、デザインや操作が良く似ているため、Scratchを理解していれば、Tickleでも容易にプログラミングできるでしょう。


blockly

 blocklyは、タブレットのBluetoothを利用して、タブレットで作成したプロジェクトから、外部のロボットを物理的にコントロールする専用ソフトです。ブロックの基本操作はScratchに似ていますので、Scratchを理解していれば、容易にプログラミングできるでしょう。
 blocklyの特徴は、子どもを飽きさせないように工夫されたチュートリアルが充実していることです。ゲーム風の課題を一つ一つクリアしていくと、操作方法が身につけられるわけです。


Drone Block

 Drone BlockをScratchの仲間とするのは少々乱暴かもしれません。けれども、ブロックを組み合わせてプログラムを作成する方法がScratchとよく似たデザインであるため紹介しておきます。
 Drone Blockは、タブレットのBluetoothを利用して、タブレットで作成したプロジェクトからドローンをコントロールする専用ソフトです。blocklyもそうですが、Scracthの操作性を活かしたリモートコントロールソフトにより、タブレットやスマートフォンから各種のIT機器を操作するというのが流行りになっているのです。


PC版Scratchの仲間

 次に、PC版のScratchの仲間を紹介しましょう。
 PCで動くScratchの仲間の特徴は、特定のハードを制御する目的でScratch1.4をベースとして拡張されたものだということです。そのため、見た目や基本的な操作が似ていても、物理的な環境の違いからプロジェクトには互換性がないということが珍しくありません。


Stduino

 Studuinoは、ミニミニコンピュータの一種であるArduinoの互換機です。ロボットを動かすことを目的としており、Arduino互換ボードにモーター制御用のドライバが組み込まれています。

 このStuduinoのプログラムを開発するためのツールとして、Scratch1.4をベースとした「Studuinoソフトウェア」が公開されていますが、メニューの項目やブロックがStuduino用に変更された専用のものです。PC上でStuduinoソフトウェアによって開発されたプログラムは、マイコン用に変換されPCに接続されたStuduinoのボードに書き込まれます。いったん書き込まれたプログラムは、PCとの接続を解除したりStuduinoの電源を落としてもそのまま記憶されており、PCが無くともStuduinoだけで動作させることができます。



S4A (Scratch for Arduino)

 S4Aは、ミニミニコンピュータの一種であるマイコンのArduinoをPCから制御することを目的としたScratchですが、Studuinoとは発想が異なっています。

 Studuinoはロボットに組み込むことを目的としているためにPCと接続されていなくとも自律的に動作しますが、S4AはPCとArduinoが接続されていないと動作しません。
 それでは、S4Aはどのような場面に使用するのでしょうか?PCに各種のセンサーを接続する場合、通常はUSBを使用するしか方法がありません。そこで、PCに汎用入出力(GPIO)端子を備えたマイコンを接続し、このマイコンのGPIOにセンサーを接続すれば、PCのScratchから容易に各種センサーを利用することができるわけです。
 S4Aを使用するには、PCとArduinoが接続されている環境で、PC上でS4Aが実行されていなければなりません。また、ArduinoのGPIOを直接制御するブロックが用意されているので簡単にプログラムが作れますが、その反面で通常のScratch1.4とはプロジェクトの互換性がないことに注意が必要です。
 通常のScratch1.4でS4Aのプロジェクトのファイルを開こうとすると、エラーが出てファイルを開けません。特定のハードに対応するために拡張した部分には、互換性が無いわけです。

 ややこしいことに、S4Aでは通常のScratch1.4のプロジェクトを読み込んで実行できます。間違えないように気をつけましょう。



どのScratchを選べばよいか?

 手軽にScratchを体験してみたいという用途であれば、Scratch2.0ならWebブラウザだけで利用できますし、追加ソフトのインストールが不要というメリットがありますが、その反面、センサーを繋ぐといった発展的な用途に制限があります。Scratchによるプログラミング体験を手軽に行うには2.0を使用しますが、将来的にはセンサー接続などを考えている場合は、早いうちに1.4に慣れておくと良いでしょう。
 ここで紹介したとおり、Scratch1.4を元にしたソフトは、さまざまな用途で用いられています。そこで、Scratchでロボットやセンサーなどの機器を接続してみたいという方には、Scratch1.4が不可欠です。その際にお勧めなのが、タブレットで動作するピョンキーです。ピョンキーであれば、基本的なScratchの機能に加え、タブレットに内蔵されたセンサーを使用したプロジェクトが作成できるため、一通りの体験が可能です。
 その後、目的や環境に応じて選択すると良いでしょう。