ProcessingとArduino
『Arduinoではじめよう』第2版(オライリー・ジャパン)の章立てに沿って進んできた演習。まとめの6章では「クラウドとの会話」ということで、ProcessingとArduinoの連係を試してみます。ProcessingはArduinoのベースとなったプログラミング言語。オープンソースで複数のプラットフォーム(Mac、Linux、Windows)で動作します。オライリー社から『Processingをはじめよう』という参考書も出ており、Arduinoの学習には欠かせないといえそうです。http://processing.org/downloadから、今回はMac版をインストールしました。第6章ではmakezine.comからRSSフィードをダウンロードし、XMLに含まれるすべての単語を抽出。「peace」、「love」、「arduino」いう単語の出現回数を数える。そうして得られた数字から色の値を計算し、Arduinoボードへ送ります。Arduinoはセンサで測定した光量を送信、その値はコンピュータの画面に表示されます。ハード側はプッシュボタン、光センサ、PWM制御のLED、それにシリアル通信という4つの作例を統合したものです。ProcessingとArduino IDEでそれぞれのスケッチを作成。まずArduinoのをボードにエクスポートしてからProcessingを実行。ここでエラーが出てドツボにはまりました。「URL url = new URL(feed);」の部分が反転表示され、読み込めないというメッセージが出ています。オライリー社のウェブサイトには当該書籍の追加情報も正誤表も記載がなく困りましたが、米国の本家サイトにはサンプルソースへのリンクもありました。それをDLして実行しても変化なし。Processing Forumに同様の投稿があって、それによるとJava APIを追加で読み込む必要があるとのこと。具体的にはコードの最初に以下を書き込むことで解決。(この項は『つくったブログ』の記事が参考になりました)
import java.net.URL;
import java.net.URLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
実行すると画面に単語の出現回数が表示され、light levelのデータもリアルタイムで出ています。ボードのスイッチを押すと、LEDが輝き始めました。
コメントやシェア頂けると励みになります!