もよいめも

不定期更新ものづくりブログ

【Arduino】LCDにi2cでカタカナを簡単に表示させる方法

2021/2/13 表のタが\xv0になっていたので\xc0に修正しました

みなさんLCDって使ってますか?
I2c変換基板を買えばたったの4線で表示できちゃうし、
プログラムも簡単なのでとっても便利です。

しかし、LCDにカタカナを表示させたい場合は、
文字コード」を直接指定してあげないと表示できません。
なので今回は、LCDの使い方とカタカナの表示方法を書いていこうと思います。



なお、普通にカタカナでプログラムしても、
うまく表示してくれるライブラリーを作っている方もいるので
大量に表示させたいという人はそちらのほうが楽かとおもいます。
synapse.kyoto


使う部品

今回使う部品の例はこちら↓

LCD

i2c変換基板

両方ともチャイナポストで届くので時間がかかります。気長に待ちましょう。
もちろん別の販売店のモジュールでも大丈夫ですが、基板上のチップが違うことがあり、
デフォルトのi2cのアドレスが「0x27」と「0x3F」の場合がありますので、うまく動いてくれなかったら変えてみてください。

配線

以下の画像の通りに配線してください。
なお、Arduino nanoの場合はA4がSDA、A5がSCLです。

f:id:moyoi:20200311202208p:plain
配線の仕方

プログラム

まずは動かすためのライブラリーをインストールします。
こちらからライブラリーをZIP形式でダウンロードします。

github.com

そして、Arduino ideのメニューのスケッチ→ ライブラリーをインクルード→ zip形式のファイルをインストール
からダウンロードしたファイルを選択します。
ソフトを再起動させれば導入は完了です。

ライブラリーが入れば後は簡単
普段通りにLCDのプログラムを書いて、カタカナ表示にしたい文字を以下の表に従って書き換えればいいだけです。

\xb1 \xb2 \xb3 \xb4 \xb5
\xb6 \xb7 \xb8 \xb9 \xba
\xbb \xbc \xbd \xbe \xbf
\xc0 \xc1 \xc2 \xc3 \xc4
\xc5 \xc6 \xc7 \xc8 \xc9
\xca \xcb \xcc \xcd \xce
\xcf \xd0 \xd1 \xd2 \xd3
\xd4 \xd5 \xd6
\xd7 \xd8 \xd9 \xda \xdb
\xca \xa6 \xdd

\xa7 \xa8 \xa9 \xaa \xab
\xac \xad \xae
\xaf \xa1 \xa4 \xde \xdf


一応プログラムの例も張っておきます。

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);//左から(アドレス,LCDの列の長さ,LCDの行の長さ)となっています。
                                 //アドレスは「0x27」と「0x3F」の場合があります

void setup()
{
  lcd.init();
  lcd.backlight();
  lcd.setCursor(2,0);
  lcd.print("Hello,world!");
  lcd.setCursor(3,1);
  lcd.print("\xba\xdd\xc6\xc1\xca\xa4\xbe\xb6\xb2!");//コンニチハ、セカイ!
}


void loop()
{
  
}

このプログラムを実行するとこのようになると思います。

f:id:moyoi:20200312095119j:plain
LCDへのカタカナ表示例

余談

かなり久々のブログ更新です。
今回からFritzingというソフトを使い始めてより分かりやすく配線図を紹介できるようになりました。

とは言っても、
ソフトは1000円ぐらいしたし、LCDのi2c変換基板のパーツがなかったので自作したりしてかなり大変でした。

しかしながら、あんなふうな図があると本格的なブログっぽくてかっこいいですよね。
頑張ったかいがありました。


それでは良きArduinoライフを!