ロボットからのメッセージや内部状態を表示するために、有機液晶ディスプレイ( OLED )をオプションとして追加搭載できます。
◀ この記事の前に: 複数のMCUをつなぐ
▶ この記事の次に:
省電力制御
表示デバイスは使用しないときに電力消費量を抑えることができます。電力制御はドライバIC SSD1331で行います。SSD1331の電力制御は同ICのコマンドで行います。CSピンを Highにするだけでは SSD1331が低電力モードにはなりません。
SSD1331のパワーセーブモード
SSD1331には、省電力制御のコマンドがあります。ディスプレイをスリープ状態にしたり通常動作に戻すことができます。コマンドは以下のとおりです。
- ディスプレイ ON/OFF コマンド
ディスプレイオフ(スリープモード): ディスプレイがオフになり電力消費を抑えます。
コマンド: 0xAE
ディスプレイオン(通常モード): ディスプレイがオンになり通常動作に戻ります。
コマンド: 0xAF - パワーセーブモード
エンター パワーセーブモード: パワーセーブモードに入るためのコマンドです。このコマンドにより、ディスプレイのパネルの消費電力が低下しますが、表示内容は保持されません。
コマンド: 0xB0
エグジット パワーセーブモード: パワーセーブモードから通常動作に戻すためのコマンドです。このコマンドでディスプレイが再び動作を開始します。
コマンド: 0xB1
使用例( プログラム )
省電力制御に関するコードは以下のとおりです。
ディスプレイをオフにしてパワーセーブ
#define SSD1331_DISPLAY_OFF 0xAE
#define SSD1331_POWER_SAVE_ON 0xB0
void enter_power_save_mode() {
// ディスプレイオフ
send_command(SSD1331_DISPLAY_OFF);
// パワーセーブモードに入る
send_command(SSD1331_POWER_SAVE_ON);
}
パワーセーブから復帰してディスプレイをオン
#define SSD1331_DISPLAY_ON 0xAF
#define SSD1331_POWER_SAVE_OFF 0xB1
void exit_power_save_mode() {
// パワーセーブモードを解除
send_command(SSD1331_POWER_SAVE_OFF);
// ディスプレイオン
send_command(SSD1331_DISPLAY_ON);
}
CSピンは無関係
SSD1331の CSピンは インタフェースの接続に関する制御です。省電力制御とは関係はありません。SPIが他と共用している場合に便利に使用できます。ロボットは Peripheral MCUとの専用接続のため、CSピンは回路として Lowに固定しています。
CSのレベルによる動作は以下のとおりです。
- High: デバイスを非選択、SPI通信は無効化
- Low: デバイスを選択、SPI通信が有効
参考情報
参考になる情報は以下のとおりです。
このホームページ内
- 複数のMCUをつなぐ: このロボットには複数の MCUが搭載されています。その MCU間の接続の概要です。
他のWebサイト
- 有機ELディスプレイ(OLED)とは?液晶ディスプレイとの違いや特徴・仕組み 株式会社エボルト
- OLED QT095B Datasheet 秋月電子通商
- ドライバIC SSD1331 Datasheet 秋月電子通商