ハードウエア

表示デバイスの省電力制御( オプション )

ロボットからのメッセージや内部状態を表示するために、有機液晶ディスプレイ( 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サイト

カテゴリー

最近の記事 おすすめ記事

記事一覧を表示するには、カスタム投稿「ブログ」にて、4つ以上記事を作成してください。

記事一覧を表示するには、カスタム投稿「ブログ」にて、4つ以上記事を作成してください。

TOP