このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

3. LCD and touch-sensor スキン

LCD and touch-sensor スキンのハンダ付けと使用方法。

pyboard with LCD skin pyboard with LCD skin

次のビデオは、ヘッダーを LCD スキンにハンダ付けする方法を示しています。ビデオの最後には、LCD スキンを pyboard に正しく接続する方法が示されています。

スキンの回路図と使われている部品のデータシートについては pyboard ハードウェア を参照してください。

3.1. LCD の使用方法

LCD を使い始めるには、MicroPython プロンプトで次のように試してみてください。このページの上の画像どおりに、LCDスキンが pyboard に取り付けられていることを確認してください:

>>> import pyb
>>> lcd = pyb.LCD('X')
>>> lcd.light(True)
>>> lcd.write('Hello uPy!\n')

次コードを使って簡単なアニメーションを作ることができます:

import pyb
lcd = pyb.LCD('X')
lcd.light(True)
for x in range(-80, 128):
    lcd.fill(0)
    lcd.text('Hello uPy!', x, 10, 1)
    lcd.show()
    pyb.delay(25)

3.2. タッチセンサーの使用方法

タッチセンサーのデータを読み取るには、I2C バスを使用する必要があります。MPR121 静電容量式タッチセンサーはアドレス 90 を持っています。

まずは、次を試してください:

>>> import pyb
>>> i2c = pyb.I2C(1, pyb.I2C.CONTROLLER)
>>> i2c.mem_write(4, 90, 0x5e)
>>> touch = i2c.mem_read(1, 90, 0)[0]

上の2行目は I2C オブジェクトを作成し、3行目は4つのタッチセンサーを有効にします。4行目はタッチ状態を読み取り、 touch 変数に4つのタッチボタン(A, B, X, Y)の状態を格納します。

シンプルなドライバーが ここ にあり、しきい値やデバウンスパラメータを設定して、簡単にタッチ状態や電極の電圧レベルを読み取ることができます。このスクリプトをあなたの pyboard (flash あるいは SD カードのトップディレクトリまたは lib/ ディレクトリ)にコピーし、次のコードを試してみてください:

>>> import pyb
>>> import mpr121
>>> m = mpr121.MPR121(pyb.I2C(1, pyb.I2C.CONTROLLER))
>>> for i in range(100):
...   print(m.touch_status())
...   pyb.delay(100)
...

これは、すべての電極のタッチ状態が連続的にプリントアウトされます。順番にそれぞれに触れてみてください。

LCD スキンを Y ポジションに置くと、次のように I2C バスを初期化する必要があります。

>>> m = mpr121.MPR121(pyb.I2C(2, pyb.I2C.CONTROLLER))

LCDとタッチセンサーを併用したデモもあり、 ここ で見つけることができます。