桜のはなびらどっとねっとロゴ

桜のはなびらどっとねっと

Raspberry Pi 2でキャラクタ液晶の制御(3)

この記事は1年以上前に投稿された記事です。 この警告表示について

IMG_4673_20150628

前回までGPIOピンを直接切り替えて液晶を制御していましたが。実はwiringPiにはキャラクタ液晶制御用のライブラリが用意されているので、今回はそれを使ってみたいと思います。

前回まではGPIOのあ使い方を知る理由でライブラリを使わずに制御していましたが、実際に実用するコードを書く場合はライブラリを使ったほうが圧倒的に楽です。

ライブラリの仕様

  • 日立製HD44780互換コントローラICを搭載したキャラクタ液晶を制御可能
  • 書き込み命令のみ対応
  • 4bit・8bit接続対応
  • コンパイル時に -lwiringPiDev をつける

内部的にやっていることは基本的に前回のものとかわりません。

ライブラリの説明(使うところだけ抜粋)

詳しい内容は公式の説明書きを見てください。

lcdInit (int rows, int cols, int bits, int rs, int strb,int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7) ;

LCDを初期化する命令です。( )内にはLCDの仕様や接続したピンを指定します。

例えば、前回と同じ液晶、同じ接続で使う場合は

こうなります。これを何らかの整数型に入れてやります。今回はclcdという変数に入れました。

※バックライト制御と電源オンオフは別に制御する必要があります。

lcdHome (int handle)

LCDのカーソルを初期位置(1行目の1文字目)に戻す命令です。( )内に先ほどlcdInitを入れ込んだ変数を指定します。

lcdClear (int handle)

LCDの表示をクリアします。使い方は上の命令と同じです。

lcdPosition (int handle, int x, int y)

LCDの文字を表示する位置を指定します。
開始位置はx,yともに0からで、例えば1行目の1文字目に指定したい時は

となります。

lcdPutchar (int handle, uint8_t data)
lcdPuts (int handle, char *string)
lcdPrintf (int handle, char *message, …)

実際にLCDに文字を転送するコマンドです。lcdPuts,lcdPrintfが文字列をLCDに転送する命令で、単に文字列を送信するのがlcdPutsでLCDに簡単に文字列を送信できます。
単に文字を送信するならどちらでも、sprintfを介する場合はlcdPrintfを使ったほうが1行減らせますね。

lcdPutcharは8bitデータをそのまま転送する命令のようです。これを使うことはないと思いますが。外字領域を使うなら必要なのでしょうね。

コーディング

殆ど上で説明してしまったのでこの命令を使って時計を表示するコードを貼り付けておきますね。

コメントを残す

メールアドレスが公開されることはありません。