2014年3月24日月曜日

「Raspberry Pi」とフレームバッファドライバ「fbtft」で、sainsmartのタッチパネル液晶を動かす

先日amazonで購入した、sainsmartの3.2インチの格安カラータッチパネル液晶(2000円くらい)をRasberry Piから動かしてみました。解像度は320x240です。fbtftというフレームバッファドライバを使用しています。

以下の動画では、前半はタッチペンを使ったタッチ操作の様子(キャリブレーションの調整が必要ですが・・・)と、後半では動画再生の様子を紹介しています。自分では計測していないのですが、fbtftのwikiによるとフレームレートは10fps程度だそうです。




実は、この液晶を動かすには16bitパラレルインターフェースが必要なので、数が足りませんから、直接Raspberry PiのGPIOピンにつなぐことができません。そこで、PiのSPIインターフェースをパラレルインターフェースに変換する回路を別途作成して、液晶とRaspberry Piと繋ぐ必要があります。


汚くてわかりにくいのですが(汗)、ブレッドボード上で実装した、SPIインターフェースから16ビットパラレルインターフェースへの変換回路(タッチパネル制御含む)は、以下のようになりました。74HC4040、74HC4040、74HC04のICを使用しています。




この回路のスケッチはfbtftのwikiで公開されているのですが、エレクトロニクス初級者の筆者にはピンと来なかったので、ブレッドボードへの実装には、この液晶とおなじ同じコントローラー SSD1289を使用した液晶を使用したブレッドボードへの詳しい実装例が紹介されているこじ研さまを参考にさせていただきました。わかりやすく解説されており、大変勉強になりました。ただし、fbtftの回路とは若干異なる点があるので注意が必要です。

これで、Raspberry Piのタッチパネルが、お手頃な値段(?)でつくれました。

(AdafruitのPi TFTを買ったほうがはるかに簡単に作れると思いますが、このブログは筆者の勉強を兼ねてますから、チャレンジ重視です!)

次の課題は以下のいずれかを予定しております。

  • ブレッドボードの実装をどうにかする(ユニバーサル基盤か、できたらプリント基板にチャレンジしたい)
  • Qt5を使って、タッチパネルを使った、娘が遊べる楽しいアプリを開発する
  • BeagleBoneBlackでも使えないか考える
  • Volumioと連携できないか考える

2014年3月4日火曜日

Raspberry PiとVolumioでネットワークミュージックプレイヤーを作る

Volumioというソフトを使ってRaspberry Piでネットワーク対応のミュージックプレイヤーを作ってみました。

 ・・・・ 小さくて、使いやすくて、素晴らしい!






Volumioというのはネットワークオーディオプレイヤー専用のLinuxディストリビューションです。

公式HPでRaspberry PiやBeagleBoneBlackなどのプラットフォームのImageファイルが配布されています。このImageファイルをSDカードに焼いて、Piに差すだけで、さくっと簡単にシステムが構築ができます。Voluminoは内部にWebサーバを持っており、PCやスマートフォンから、ウェブブラウザ経由で操作することができます。ちなみにWebサーバはnginxを使ってますね。


Volumioの特徴は、ざっと以下の様です。

  • フラットデザインUIを持つ、洗練されたWebインターフェース
  • インターネットラジオ対応
  • NAS対応
  • AirPlay対応
  • ハイレゾ対応

システム構成はこんな感じです。Raspberry Piのイヤホン出力も利用できるのですが、たまたま持っていたUSBオーディオ「SoundBlaster」をPiとUSBで繋ぎ、さらにSoundBlasterのオーディオライン出力からミニコンポへと繋ぎました。ネットワークも無線LANにしています。

ミニコンポもSoundBlasterも、押し入れで眠っていたのですが、こうして表舞台に戻ることができました。ありがとうVolumio!

さらに、AdafruitのLCDシールドが余っていたのでlcdprocmpdlcdを使って、LCDシールドで曲目を表示できるようにしました。このシールド(Piの場合はシールドって言わないか?)を使用する場合、対応ドライバーが追加された開発版のlcdprocをインストールする必要があります。この時点で最新版の0.5.6ではできません。

以下に、今回参考にしたURLを挙げます。

http://www.stuart-taylor.net/adafruit-i2c-rgb-16x2-lcdkeypad-raspberry-pi/
http://www.raspberrypi.org/phpBB3/viewtopic.php?t=64992&p=495056

以前Raspbmc入れてセットトップボックス作った時には三日で飽きたんですが、Volumioは満足度も実用度も高いです。

こいつでKraftwerkなんか聞いた日にゃあ、もう感涙ものです。へっへっへ。