僕は発展途上技術者

スクラッチからツイートするよ - Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その5)

Scratch Advent Calender 9日目は、3日目に書いた「Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その4)」の続きになります。

シリーズ全エントリーはこちら↓

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その1)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その2)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その3)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その4)

» Scratch(スクラッチ)を外部のプログラムなどI とつなぐ「遠隔センサー接続」を解説する(その5)


その1からその4までに解説した方法を使い、Ruby とスクラッチを連携させて、スクラッチだけではできないことを実現してみたいと思います。

Twitterにつぶやく



スクラッチからTwitterにつぶやいてみましょう。

まずは Ruby だけでTwitterにつぶやくプログラムを書いてみます。

こんな感じです↓



上記プログラムを実行するには、


gem install twitter


で twitter gem をインストールしておく必要があります。

また、Application Consumer Key (API Key) などの各設定値は、自分のものに書き換えてください。

各設定値は Twitter にアプリケーションを登録して取得する必要があります。

取得する方法は、

» Twitter(Gem) - 逆引きRuby

などで調べて下さい。

スクラッチからTwitterにつぶやく



スクラッチから命令を送ったらつぶやくようにするには、その2で解説した方法で、スクラッチから Tweet という命令を Ruby に送るようにし、Ruby 側でこの命令を受け取ったら、つぶやく部分を実行するようにします。

プログラムはこんな感じになります↓



実際に実行してみましょう。



スクラッチから Tweet という命令を送ったら「こんにちは」とつぶやくことができました。

Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その4)

Scratch Advent Calender 3日目は、スクラッチのちょっと高度な使い方「遠隔センサー接続」についてです。

» Scratch Advent Calendar 2014

「遠隔センサー接続」はスクラッチと外部のプログラムや機器とをつなげることができる仕組みです。仕組み自体はシンプルなので、比較的簡単にスクラッチとほかのものを連携させることができ、たとえばスクラッチからツイートしたりとか、モーターを動かしたりといったこともできます。

遠隔センサー接続について、このブログでこれまでシリーズで書いてきたので、興味がありましたら その1 から読んでみてください。

シリーズ全エントリーはこちら↓

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その1)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その2)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その3)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その4)

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その5)

今回は Advent Calender の力を借りて、なかなか筆が進まなかった遠隔センサー接続シリーズの続きを書きたいと思います。

センサーの値を外部のプログラムから変更する



シリーズの最初で遠隔センサー接続でできることを4つ挙げたのですが、そのうちの最後の1つ、スクラッチにカスタムなセンサーをつくってその値を外部のプログラムから変える、ということをやってみます。

スクラッチのセンサーの値を変更する Ruby のプログラムは次のように書けます。



その3で紹介した、スクラッチに命令を送る Ruby プログラムを一行変更したものです。


broadcast "a"


というメッセージの代わりに


sensor-update "a" 1


というメッセージをスクラッチに送っています。

その3で、スクラッチの変数の情報を送るために、スクラッチから Ruby のプログラムに送られたメッセージと実は同じなのだが、Ruby のプログラムからスクラッチに送った場合には、センサーの値を変更することに使われます。

実際にこのプログラムを実行してみましょう。



a という名前のセンサーの値を 0 から 1 に変更することができました。

その1からその4までで、遠隔センサー接続でできる4つのことを実際に Ruby のプログラムを使ってやってみました。

次回はこれらを応用して、Scratch と Ruby のプログラムを連携させて何か作ってみましょう。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ