Missing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate Tag

littleBits Arduino モジュールをScratchから使う

littleBits Arduino モジュールを、PicoBoardやWeDoとして、Scratchから使う方法を説明します。

Uploaded Image: littleBitsAsScratchSensorBoard.jpg
(この写真では、a1にスライダーディマー、a0にサウンドトリガー、d0にボタン、d9にDCモーター、d5にRGB LED、d1にブザーの各ビットモジュールを取り付けている)





1. Arduino IDEのインストール

まだの場合はArduino IDEをインストールします。以下が参考になります。
Arduino – スイッチサイエンス

2. littleBits Arduino モジュールのドライバーインストール

littleBits Arduino モジュールをマイクロUSBケーブルでPCに接続します。その際、littleBits Arduino モジュールの入力(d0, a0, a1のいずれか)にlittleBitsの電源ビッツモジュールが接続され、電源が入っていなければ認識されません。
接続したら、Arduino Leonardoとしてドライバーをインストールします。以下が参考になります。
Guide/ArduinoLeonardo – スイッチサイエンス
その際、Windows 8.1では署名なしドライバーをインストールするために以下の手順が必要な場合がありました。
Windows8/8.1で署名なしドライバをインストールする方法/テストモードにする方法

3. ソフトウェアのダウンロードと展開

以下のZIPファイルをダウンロードして任意の場所に展開します。
http://squeakland.jp/abee/tmp/NanoBoardAGWithMotors.zip
展開したフォルダーの中身を、Scratch 1.4をインストールしたフォルダー(デフォルトでは「C:¥Program Files (x86)¥Scratch」、Macでは「/Applications/Scratch 1.4」)の中にコピーします。

4. スケッチの書き込み

Arduino IDEを起動し、「Tools」メニューの「Board」から「Arduino Leonardo」を選び、「Serial Port」から接続されているポートを選びます。
「File」メニューから「Open...」を選び、展開したフォルダーに含まれる「littleBitsAsScratchSensorBoard.ino」を開きます。ダイアログが表示された場合は、その指示に従います。
開いたウィンドウの「→」ボタンをクリックし、スケッチの書き込み(アップロード)を行います。ステータスバーに「Done uploading」と表示されれば成功です。

5. センサーの動作確認

littleBits Arduino モジュールの「a1」入力にスライダーディマービッツモジュールを取り付けます(無い場合は任意の入力ビッツモジュール)。スライダーディマービッツモジュールの入力には電源ビッツモジュールを取り付け電源を入れます。
Scratchをインストールしたフォルダーの中にある「NanoBoardAGWithMotors.image」を「Scratch.exe(Macの場合はScratch.app)」にドラッグして開きます(センサーを使うだけであれば通常のScratchでも大丈夫です)。
カテゴリーを「調べる」に切り替え、「スライダーセンサーの値」の左にあるチェックボックスをチェックします。しばらくすると、littleBits Arduino モジュールの「rx」と「tx」のLEDが点灯し、ステージの「スライダーセンサーの値」がスライダーディマービッツモジュールの位置を反映して変化します。
以下のスクリプトはスプライトの左右の位置をスライダーで制御します。

Uploaded Image: Slider.gif

「a1」と「a0」には任意の入力ビッツモジュールを取り付けることができます。Scratchでは、「a1」を「スライダーセンサー」、「a0」を「抵抗C」の値として受け取りますが、これは実際のビッツモジュールの種類と一致させる必要はありません。
「d0」にはボタンやトリガーなどオンオフの2値の状態を持つ入力ビッツモジュールを取り付けることができます。Scratchではこの状態を「ボタンが押された」として受け取ります。
いずれの場合も、入力ビッツモジュールの入力に電源ビッツモジュール(分岐したものも可)を取り付け、電源を入れることを忘れないでください。

ビッツモジュールを取り換えるとき、電源ビッツモジュールが外れるとScratchとの通信が切断されます。その場合は「スライダーセンサーの値」を長押しして「Scratch Board監視盤を表示」し、監視盤を長押しして、手動で切断してから再度ポートを選択して開き直してください。それでも復旧しない場合は一旦Scratchを終了し、USBケーブルも差し直してから立ち上げ直してください。

6. モーターの動作確認

「5. センサーの動作確認」を済ませてから、「d9」にDCモータービッツモジュールを取り付けます(無い場合は任意の出力ビッツモジュール)。「動き」カテゴリーにモーター関連のブロックが自動的に表示されるので、「モーター[ ▼]を1秒オンにする」をクリックすると、モーターが1秒回転します。このとき、「▼」をクリックすると、「A」(d9)と「B」(d5)の2つの出力先を切り替えることができます。「 」は両方同時を意味します。モーター以外のビッツモジュールを取り付けてもScratchの表記は常に「モーター」になります。

以下のスクリプトは、スライダーでモーターの回転数を制御する例です。パワーの引数は0から100までの値を受け入れますが、実際のステップ数は停止も含めて8段階です(NanoBoardAGWithMotorsの制約)。

Uploaded Image: SliderMotorsPower.gif

使えるモーターを1つにする代わりに128ステップにしたい場合はNanoBoardAGWithMotor.zipの中にあるlittleBitsAsScratchSensorBoardSingle.inoとNanoBoardAGWithMotor.imageを代わりに使ってください。

「d5」と「d9」にあるスライドスイッチは、出力電圧をアナログで行うかPWMで行うかの切り替えです。
「d1」は2値しか扱えません。モーターAがオンで、「回転の向き」が「こちら向き」のときにオン、「あちら向き」のときオフになります。littleBitsではソフト的にモーターの回転方向を変えられないので、このブロックの名前に意味はありません。

サーボモータービッツモジュールなど、突入電流の大きなビッツモジュールを取り付けると、Scratchとの通信が切断されます。その場合は「スライダーセンサーの値」を長押しして「Scratch Board監視盤を表示」し、監視盤を長押しして、手動で切断してから再度ポートを選択して開き直してください。それでも復旧しない場合は一旦Scratchを終了し、USBケーブルも差し直してから立ち上げ直してください。

littleBits Arduino モジュールのピン番号とScratchのブロックの対応

入力/出力ピン番号NanoBoardAGWithMotorsNanoBoardAGWithMotor
入力d0ボタン←
入力a0音(スケール補正), 抵抗C←
入力a1スライダー, 抵抗D←
入力a2明るさ(スケール補正)←
入力a3抵抗A←
入力a4抵抗B←
出力d1モーターA こちら向きモーター こちら向き
出力d5モーターB パワーモーター あちら向き
出力d9モーターA パワーモーター パワー
出力d10モーターA あちら向きモーター パワー
出力d11モーターB こちら向きモーター こちら向き
出力d13モーターB あちら向きモーター あちら向き

Link to this Page