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