Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。
Raspberry Piのraspbianで動作するProcessingというアプリケーションをご紹介します。このアプリケーションはRaspberry Pi公式ブログで知ったリビングルームライトの「My Digital Lavalamp」で使われていたためです。
このLavalampの話はちょっと複雑でして、自分の英語力の足り無さも手伝い上手く説明できないので、簡単に説明します。詳しくは「My Digital Lavalamp」のサイトをご覧ください。(My Digital Lavalamp)3ページに渡って非常に細かく解説・紹介されています。
元々、クラウドファンディングのKickStarterで、Ionというプロジェクトがありました。これがLEDのルームライトでして、2014年に資金調達後にリリースされています。しかし、My Digital Lavalampでも触れているように、そのIonという商品は既に手に入りません。そこでこのJulian ButlerさんはLavalampを作り始めたという訳です。
Ionがどうやって作られているのかは確かめていませんが、このLavalampはRaspberry Pi とFadeCandyを使い、Processingで制御しています。
前置きが長くなりましたが、ここで使われたProcessingがとても簡単で面白かったので、是非、Raspbianで試してみてください。
この記事では、こうして知ったProcessingというアプリケーションでデジタルアートを楽しんでみようとインストールしてみた内容で、LEDの制御やランプについては作者のページでご確認ください。
そしてややこしいのが、Ionの作者がLavaという名前なので、Lavalampはそのオマージュってことで良いのかな?? Lavaって英語は溶岩だから、それでも光によっては見た目から理解はできるけど・・・。
Processingのインストール
インストール自体は簡単で何の問題なくできます。
curl https://processing.org/download/install-arm.sh | sudo sh
https://pi.processing.org/download
インストールはこのコマンドの他に、Raspberry Pi のイメージとしても提供されているので、それを使えば初期状態でProcessingが使えます。またTar-ballsでも提供されています。
Processingはオープンソースでアートとビジュアルデザインのためのプログラミング言語として開発されています。確かにプログラミング初心者に打って付けでしょう。
■Pi 5は8GBモデルがオススメ
サンプルプログラムを試してみる
Wikipediaを覗くと、サンプルプログラムが掲載されていました。
https://ja.wikipedia.org/wiki/Processing
何も分からないので、先ずはコピペして試してみましょう。
Hello World
お決まりのHello Worldも座標付きです。
text("Hello World!", 20,50);

この座標は表示位置のようです。
試しに数字の50を100に変更して実行してみましょう。

ほら、HelloWorldの縦位置が最下段になりました。
こうやって何もペルプやリファレンスを読まなくても推測できるのは直感的だなと思います。恐らくこの初期のBOXは100×100でしょう。
搭載されているサンプルプログラム
ファイルメニューからサンプルプログラムを閲覧、実行できます。試しにHueというプログラムを実行してみます。


実行された画面はサイズ指定で640×360で、この色はマウスで動かす(触れる)と順番に色が変わっていきます。但し、動かすマウスの高さ(height)によって変わるので、平行に動かしたら色味は変わりません。斜めに動かすと順番に色が変わります。
非常に分かり易いプログラムですね。
足してみる
では、このHueで使われたプログラムのうち、色とサイズに関する部分を抜き出して、先程のHello Worldに足してみます。
面倒なので、そのままコピペします。

実際に必要なのはsizeとbackgroundです。

こうやって簡単に試して学習できるのは最強だと思っています!
アプリケーションの画面下部にはコンソールが表示されていて、エラー箇所や訂正箇所などをリアルタイムで表示してくれます。
トライアルアンドエラーで楽しんでください。
Wikipediaの日本地図の塗り分け
もう一つ、Wikipediaには日本地図の塗り分けプログラムが掲載されていました。これもコピペでやってみましょう。
しかし、このままだとエラーが出ます。
8行目の「size(square_len,square_len);」の部分です。
sizeに指定できるのは数字だけだというエラーです。変数は使えないのでしょうか?? 仕方ないので、数字で決め打ちしてトライしてみます。

こんな感じです。自分で書いていなくてもそれなりに達成感がありますよ?!
最後に
Raspberry Pi 3Bで試してみました。しかし、動作はちょっと遅いです。CPUもメモリもかなり消費するアプリケーションだと思います。3Dも扱えるようですが、2D描画の低負荷がせいぜいでしょう。画像や動画を使った物は難しいと思います。
Raspberry Pi のみならず、他のプラットフォームでもProssessing3は動作します。今回ご紹介したLava lampみたいに、これでLEDを制御できたら楽しいですよね! お試しあれ。



