使い方

なんなのコレ?

最近のスマートフォンは色んなセンサーが内蔵されています。

このセンサーをビジュアルプログラミング言語Scratch内で利用するためのAndroidアプリケーションです。

ワイアレス(要LAN接続)で下記の値をScratchに送ることが出来ます。

  • スマートフォンの横方向の傾き
  • スマートフォンの縦方向の傾き
  • スマートフォンの高さ
  • 明るさ
  • 方角
  • スライダー(ボリュームキーの上下で値が変わります)
  • 距離
  • 気圧

Android 2.2にも対応しています(一部のセンサーが動かない場合もあります)ので、押し入れの中の古いスマートフォンでもお使いいただけます。

galaxys4説明andScratchjp

使い方

  1. アンドロイドマーケットから “Physical Sensor for Scratch” をダウンロードします
  2. Scratchの「遠隔センサー接続」を有効にします
  3. PCのファイアーウォールの設定を変更、若しくは一時的に無効にします(使用している場合)
  4. 無線LANで接続します (Smartphone)
  5. アプリから接続します
  6. Scratchで利用します

アンドロイドマーケットからアプリをダウンロードする

下記のアイコンをクリックしてください。
en_generic_rgb_wo_60

Scratchの「遠隔センサー接続」を有効にします

  1. Scratch 1.4を起動します(公式のScratchを使用してください。S4AなどカスタムされたScratchでは正常に動作しない事があります。Scratch 2.0 オフラインエディタには対応しておりません。)
  2. 調べる→スライダーセンサの値→右クリック
    スクリーンショット_060614_042029_PM
  3. 「遠隔センサー接続を有効にする」をクリックします
    スクリーンショット_060614_042043_PM

ファイアーウォールを一時的に無効、若しくはScratchを許可

非常に重要です!接続できない場合恐らくココが問題です。

– Windows

上記の「遠隔センサー接続を有効にする」を押すと下記のメッセージが出るので「アクセスを許可する」を押します(Windows標準のファイアーウォールの場合)。

標準のファイアーウォールを使用していない場合(ウィルスバスターやマカフィーなどを使用)で、ルールの追加方法がわからない場合は、このプログラムを使用している間のみ一時的にファイアーウォールを停止して下さい。

スクリーンショット_042814_112310_PM

 

上記をキャンセルしてしまった場合、他のセキュリティ製品をご使用の場合はこちらをご覧下さい。

– Mac OS

下記の「特定のアプリケーションにアクセスを許可する方法」を見て、Scratchを許可してください。

– Linux / raspberry pi (ファイアーウォール使用している場合)

ターミナルを起動しポートを開けます。

  • add /etc/network/iptables
    -A INPUT -i eth0 -p tcp -m tcp –dport 42001 -j ACCEPT
    -A INPUT -i wlan0 -p tcp -m tcp –dport 42001 -j ACCEPT

PCをLANに接続しIPアドレスをメモする

Scratchが入っているPCを有線や無線LANで接続しIPアドレスをメモします

– Windows

  1. スタートメニューを押し、検索欄にcmdと入力しエンターキーを押します
    cmd
  2. コマンドプロンプトが開くので「 ipconfig /all 」と入力しエンターキーを押します。IPv4アドレスとなっている右側があなたのIPなのでメモをします。
    ipadd

コマンドプロンプトが苦手であれば、下記の方法でも調べられます(XP,Vista,8,8.1)

– Mac OS X

– Linux

  1. ターミナルを開きます
  2. ip a と打ちます

アプリを起動し接続します

  1. 最下部のConnectを押します
    t_Screenshot_2014-06-05-11-52-00
  2. 先ほどメモしたScratchが起動しているPCのIPアドレスを入力し、Connectを押します
    t_Screenshot_2014-06-05-11-44-46
  3. 正常に接続できれば下記のような表示になります。接続できないときは下記の「接続できないとき」をご覧下さい。
    t_Screenshot_2014-06-05-11-45-16

Scratchから利用する

調べる→「スライダー▼センサーの値」の「スライダー▼」をクリックし使いたいセンサーの値を選択します。

センサーが入っている場合、下記の値を使用できます。

  • compass(方角。真北が0)
  • 距離
  • 明るさ
  • スライダー(ボリュームキーの上下で値が変わります)
  • tiltx(スマートフォンの横方向の傾き)
  • tilty(スマートフォンの縦方向の傾き)
  • tiltz(スマートフォンの高さ)

それぞれ一度でも値が変わらないとScratch上には出てきません。
スマートフォンで値が変わらない場合はセンサーが無いとあきらめてください(古い機種では明るさ、音が反応しない場合があります)

「○○センサーの値」ブロックを○の付いているブロックに入れると使用できます(○歩動かす、x座標を○にする、大きさを○ずつ変えるなど)

img

スクリーンショット_060614_034738_PM

??センサーの値ブロックをブロック中の○に入れます

 

Scratchに接続できない

下記の2点をご確認下さい。

  1. PC、スマートフォン共に同じLAN内で接続していますか
  2. ファイアーウォールは無効、若しくはScratchは許可してありますか
    こちらをもう一度ご確認下さい。

t_Screenshot_2014-06-05-18-33-26

複数台のスマートフォンで使う

もし複数台のスマートフォンをお持ちであれば、それぞれから1台のScratchに接続することが出来ます。

メニューキー →  Setting → Prefix

t_Screenshot_2014-06-05-18-20-29_060514_062557_PM

 

Prefix欄には任意の文字が入力可能ですが「半角英数」を入力してください。

t_Screenshot_2014-06-05-18-20-52

 

prefixがついた情報が送られます。例の場合であれば、他方にprefixを”no02-“とするとScratchで01,02両方の値を使うことが出来ます。

スクリーンショット_060514_062916_PM

なかなか便利だった

是非、↓のリンクからレビュー欄で評価を!!
en_generic_rgb_wo_60

分からないので質問したい

Android Marketの評価欄では無く、下記コメントフォームに入力してください。

 

 

 

9 Responses

  1. ken
    ken · 6月 26, 2014 at 12:29:34 · →

    こんにちは、Scratchとの接続が出来ると言うことで、試してみたのですが、Android側でConnectできてすぐは、Scratch上でセンサーの値が変化するのが見てわかるのですが、数秒すると変化が止まってしまいます。Windows VistaのデスクトップとWindows8.1のノートPCで試してみて両方とも同じでした。何かヒントがありましたら、ご教示ください。

  2. 松成 文夫
    松成 文夫 · 6月 26, 2014 at 17:44:44 · →

    楽しいアプリを有難うございました。

    TILTが 一ケタの値。…10倍しても一ケタの精度。
    LIGHT が10,100,1000と変わります。
    DISTANCEがうまく出ない感じです。

    スマホの問題かと思いますが、もし勘違いなら教えてください。

    ちなみにスマホは GALAXY SII WIMAX
        PCは   DELL  の INSPIRON
    です。

    1. ishiguro
      ishiguro · 6月 27, 2014 at 14:34:19 · →

      TILTが一桁なのは仕様です。
      内部では小数点以下1桁で取れているのですが、子どもでもざっくりと使えるようにと1桁に変換しています。
      「x座標をtiltx×24にする」、「y座標をtiltx×18にする」とすると画面一杯にコントローラの様に使えると思います。

      galaxy s2はLIGHTセンサーが10,100,1000になるみたいですね。解決方法も見つかりませんでした。
      http://forum.xda-developers.com/galaxy-s2/help/light-sensor-problem-t2231133

      DISTANCEはスマホの設定でOFFになっていませんか?下記を参考に設定を確認してみてください。チェックが入っているようであれば、スマホ上部に手をかざしてみて下さい。
      http://www.youtube.com/watch?v=LAhHDX_grJs

  3. ken
    ken · 6月 27, 2014 at 07:41:20 · →

    kenです。私が試していたのは、Arduinoと接続して使ったS4Aでした。その後、Scratch1.4をインストールして使用したところ、正しく動作しました。ありがとうございました。

    1. ishiguro
      ishiguro · 6月 27, 2014 at 14:24:19 · →

      こちらでも原因が分からなかったので良かったです。S4Aはそのへんいじってるのですかね。
      動いて良かったです。

  4. アオシマ
    アオシマ · 3月 27, 2015 at 15:06:46 · →

    こんにちは。
    最近スクラッチを知り、子供といろいろ遊んでいましたら
    たまたまネットでフィジカルセンサーを見つけ
    これは面白いと思いメールをさせていただきました。

    さて、現在スクラッチ2のオフラインエディターを使っているのですが
    1.4でなくても動作しますか?というのも2.0で作ったゲームを1.4で動かすことができないためです。

    また、iiConnect2Scratchの使い方を日本語にして頂けると非常に助かります。

    よろしくお願いいたします。
    あおしま

    1. いしぐろ
      いしぐろ · 3月 27, 2015 at 20:21:12 · →

      あおしまさま
      残念ながら、これで使用するプロトコルが1.4にしか入っていないため、2.0オフライン版では使用できません。RaspiのScratch1.4、iPadのpyonkeeでは使用できるようです。
      iiConnectはWiiのリモコン持ってないので難しいです。ごめんなさい。

  5. アオシマ
    アオシマ · 3月 30, 2015 at 08:23:07 · →

    そうですか。。。わかりました。
    ありがとうございました。

  6. KNK
    KNK · 7月 21, 2016 at 00:08:46 · →

    こんにちは。
    最近子どもとScratchを始めたところなのですが、スマホとScratchを連動させて面白いことができそうなアプリですね。

    Scratch 2.0 では Remote Sensor Protocol をサポートしていない様なので、自前で Extension と Helper App を実装して、このアプリからのデータを Scratch 2.0 で受け取ろうとしています。
    その際、ひとつわからなかった点があったので質問させて下さい。

    Remote Sensor Protocol では、先頭4バイトがデータ長でその後にデータ長分のペイロードが続くデータ列がセンサー側から送信されると思いますが、アプリからTCPで送信されるデータを見ると必ず最初に1バイトの0データが送信された後、次のChunkで残りのデータが送信されている様でした。
    これは何か理由があってアプリの方で意図的にそのような送り方をしているのでしょうか?

    もしお時間があれば返信いただけると幸いです。

コメントをのこす

このエントリーをはてなブックマークに追加