はじめに

ここでは、I2C 1602LCDディスプレイとは何か、どのように動作するかを説明します、 このディスプレイをマイクロビットで使用する方法については、次のレッスンをご覧ください。

次のパーツが必要です。

I2C 1602 LCDディスプレイについて

LCDディスプレイを組み込むことで、開発中のプロジェクトの対話性機能が大幅に向上し、ユーザーが出力パラメータを直接読むことができるようになります。これらの値は、単純なテキストであったり、温度や圧力などのセンサーが読み取った数値であったり、さらにはArduinoが実行しているサイクルの数であったりします。

しかし、これらのディスプレイにはすこし問題があります。Micro bitなどのマイクロコントローラーに接続する場合、ディスプレイは事実多くのピンと配線が必要となり、利用可能な入出ピンのほとんどを使われてしまうため、マルチプロセッサーには他のデバイスやセンサー用の出力ピンがほとんど残されません。この問題はI2Cバス通信方法により解決されました。

1602LCDディスプレイには、この通信を管理するマイクロチップが内蔵されており、すべての入出力情報は2つのピンだけで(電源を除く)おこなわれます。I2Cはフィリップス社が開発したシリアルバスの一種で、SDA(シリアルデータライン)とSCL(シリアルクロックライン)と呼ばれる2本の双方向性ラインを使用する。どちらもプルアップ抵抗を介して接続する必要があります。使用電圧は5Vと3.3Vを標準とする。

I2C  1602LCDの青いポテンショメータ(下図参照)は、液晶画面表示を見やすくするためのバックライトを調整するものです。また、基板上のピンにジャンパーがあり、このジャンパーを外すと、バックライトがオフになります。

マイクロビット用I2C 1602LCDパッケージのメイクコード

使い方

Micro bitのmake codeプロジェクトを開き、パッケージの追加で

https://github.com/microbit-makecode-packages/i2cLCD1602

を検索ボックスに貼り付けて検索する。

I2C Address

PCF8574 PCF8574A
0x27 0x3F

API

デモ

 

ライセンス

MIT

Copyright (c) 2018, microbit/micropython Chinese community

対応ターゲット

From microbit/micropython Chinese community

配線

フレームセンサー接続

microbit LCD1602
5V VCC
GND GND
P19/SCL SCL
P20/SDA SDA

注意

マイクロビットの出力には限りがありますので、プログラムをダウンロードする際には、マイクロビットのUSBポートにUSBケーブルを接続してください。プログラムがボードに正常にダウンロードされた後、USBケーブルを拡張ボードのUSBポートに接続し、LCDディスプレイが完全に動作することを確認してください。

スクリプトの実行

コードを作成することに慣れていない方もご安心ください。まず、このリンク https://makecode.microbit.org/reference を入力して、マイクロビットブロックのリファレンスを取得してください。

以下のコードをコピー&ペーストするか、エディタウィンドウの右上にあるオープンアイコンをクリックして、自分のMakeCodeエディタで編集してください。また、コードウィンドウの右下にあるダウンロードボタンをクリックして、このサンプルをダウンロードすることもできます。

https://makecode.microbit.org/_57ucRy5FpDo3

ここでは、このデバイスのI2Cアドレスが “0x27 “(10進法では16x 2 + 1×7 =39)なので、アドレスバーに “39 “を入力します。

デバイスのI2Cアドレスが “0x3F “((10進法では 16 x3 +1×15=63)の場合は、アドレスバーに “63 “を入力してください。

このディスプレイでのmicro pythonの使用方法については、https://github.com/shaoziyang/microbit-lib/tree/master/lcd/I2C_LCD1602をダウンロードしてください。

結果

このコードをマイクロビットにダウンロードした後、USBラインを引き抜き、拡張ボードにUSBラインを挿入すると、LCDスクリーンに “OSOYOO”、”Hello “が表示され、スクリーン全体に乱数が表示されます。

注意

画面が明るくない場合は、バックライトのネジ調整、配線等を確認してください。画面は明るいが、上記の結果が出ない場合は、I2Cアドレスを確認してください。