ソフトウエア

描 画

表示デバイス( オプション )に描画します。文字列以外に画像( ビットマップや丸や四角などのベクトル図形 )も描画できます。

◀ この記事の前に: 複数のMCUをつなぐ
▶ この記事の次に: 

画面の原点とサイズ

画面の原点は、左上です。

画面のサイズは以下のとおりです。

  • 横( OLED_WIDTH ): 96 pixcel
  • 縦( OLED_HEIGHT ): 96 pixcel

テキストは任意の場所に描画できますが、行列の場合は以下を目安にしています。デフォルトの文字サイズは 5 × 7 ピクセルです。

色の指定方法

ピクセルフォーマットが RGB565 なので 16bit では以下のとおりです。
RGB フォーマットの色指定を、RGB565に関数 rgbToRGB565( uint8_t nR, uint8_t nG, uint8_t nB ) で変換することができます。

MSB から 5bit が R(赤色)、LSB から 5bit が B(青色)、R と B の間の 6bit が G(緑色)です。

以下は色の指定の例です。

#define	RED             0xF800
#define	GREEN           0x07E0
#define	BLUE            0x001F

#define	BLACK           0x0000
#define WHITE           0xFFFF

#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0

描画のメンバ関数

よく使用するメンバ関数の概要です。
詳細な情報は以下の Webページが参考になります。
[ESP32]Adafruit GFX Library API まとめ with Arduino IDE: 描画方法など各種のまとめです。とても見やすいです。/ farmsoft 

begin()

・機 能: OLEDを初期化します。

fillScreen( int nColor )

・機 能: 画面全体を指定した色で塗りつぶします。
・引 数: int nColor: 塗りつぶす色

print( string strText )

・機 能: テキストを表示します。
・引 数: string strText: 表示するテキスト

setCursor( int nX, int nY )

・機 能: 文字の書き出し位置を指定します。
・引 数: int nX: X軸 / int nY: Y軸

setTextSize( int nSize )

・機 能: 文字の大きさを指定します。
・引 数: int nSize: デフォルトは 5×7 ピクセルで 1 を指定します。2 以上は 1 のときはその倍数の大きさです。

setTextColor( int nColor )

・機 能: 文字の色を指定します。
・引 数: int nColor: デフォルトは 5×7 ピクセルで 1 を指定します。16ビットの値で色を指定

drawLine( int nX1, int nY1, int nX2, int nY2, int nColor )

・機 能: 座標 ( X1, Y1 ) から座標 ( X1, Y1 ) に指定した色で線を引きます。
・引 数: int nX1: 始点の X座標 / int nY1: 始点の Y座標 / int nX1: 終点の X座標 / int nY1: 終点の Y座標 / int nColor: 16ビットの値で色を指定

drawRect( int nX1, int nY1, int nWidth, int nHeight, int nColor )

・機 能: 始点 ( X1, Y1 ) から幅 nWidth、高さ nHeight の四角を指定した色で描きます。
・引 数: int nX1: 始点の X座標 / int nY1: 始点の Y座標 / int nWidth: 四角の幅 / 四角の高さ: int nHeight / int nColor: 16ビットの値で色を指定

drawCircle( int nX1, int nY1, int nRadius, int nColor )

・機 能: 中心 ( X1, Y1 ) から半径 nRadius の円を指定した色で描きます。( 中は塗りつぶしません。 )
・引 数: int nX1: 中心の X座標 / int nY1: 中心の Y座標 / int nRadius: 半径 / int nColor: 16ビットの値で色を指定

fillCircle( int nX1, int nY1, int nRadius, int nColor )

・機 能: 中心 ( X1, Y1 ) から半径 nRadius の円を指定した色で描きます。( 中は塗りつぶします。 )
・引 数: int nX1: 中心の X座標 / int nY1: 中心の Y座標 / int nRadius: 半径 / int nColor: 16ビットの値で色を指定

参考情報

参考になる情報は以下のとおりです。

このホームページ内

  • 複数のMCUをつなぐ: このロボットには複数の MCUが搭載されています。その MCU間の接続の概要です。

他のWebサイト

カテゴリー
最近の記事 おすすめ記事

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

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

TOP