Lynx-EyEDの電音鍵盤 新館

制御とか数学とか駄文とか

mbed導入事例

以前mbedを購入してすぐOLEDを動かしてみた事がありました。このOLEDは0.95インチと、とても小柄ながら発色も良く安価で単電源3.3V駆動と扱いも簡単なため、aitendoさんでも人気商品です。
この記事を書いている現時点では、すでにキャリーボードが改良された後継バージョンが発売されています。当ブログでも、流行りに乗るべくさっそく購入しました。

今回のキャリーボードはSPIに加え、パラレル通信方式も対応できるようになっています。キャリーボードにピンアサインが書いてありとても親切です。
…が、これはパラレルのピンアサインなので
SPIモードユーザには不親切だったりします。
SPIモードでは通常

  • MOSI (制御マイコンから周辺機器へデータ送信)
  • MISO (周辺機器から制御マイコンにデータ受信)
  • CLK (データ送出タイミングの同期用のクロック)
  • CS (チップセレクト端子)

が必要です。
このOLEDではSPIモードでは表示データの通信には以下の端子を必要とします

  • MOSI
  • CLK
  • DC (データ、コマンド識別端子)
  • CS
  • RESET (リセット端子)

ざっとデータシート【注:PDFです】を眺めるとSPIモードで必要な端子は

(カッコ内はピン番号)
(1)VCCLCD	→	OLED表示用電源(+3.3V)
(2,3,4)		→	3ピンともショートしてGNDへ
(6) VDD		→	VDD(+3.3V)
(13) DB1	→	MOSI	
(14) DB0	→	CLK
(17) RS		→	DC
(18) CS		→	CS
(19) RESET	→	RESET
(20) VDD	→	(6)とキャリーボード上でショートしてるので配線の必要なし
(22) GND	→	(2)とキャリーボード上でショートしてるので配線の必要なし

であることがわかりました。
さて、2,3,4番ピンのショートですが自分は下の図のように基板上で半田ショートさせました

これを今、きばん本舗さんで取り扱いがある、またスイッチサイエンスさんでも基板単体が大人気の「☆Board Orange」と秋月のジャンプワイヤを使用し接続します。

↑☆Board Orangeの外観
OLEDとmbedの接続は

(カッコ内はmbedのピン番号)
(mbed)		→	(OLED)

(P5) 		→	MOSI	
(P7)		→	CLK
(P21)		→	CS
(P22) 		→	RESET
(P23)		→	DC

完成!

mbed.orgのcookbookにはRTCの時間をネットワークから設定するNTP-Clientというライブラリがあります。nuchoさんがこれを利用したネットワーク時計を製作されていました。今回、nucho氏のご好意でOLEDに表示可能なようにポーティングしました。なお、漢字表示ライブラリも同梱してありますので、Shift-JISであれば日本語表示も可能です。
そのプログラムをこちらにpublishしました。mbedにダウンロードして使います。

  • プログラムをmbedにダウンロード
  • ☆Board OrangeのRJ-45コネクタにネットワーク接続可能なLANケーブル接続
  • mbedをリセット

接続環境によってはしばらく待つ場合があります。


ぱぱーん!表示できました!

ネットワーク関連の詳しい事を知らなくても。気軽にmbedに表示できるのはうれしいです。