3. LCD and touch-sensor スキン¶
LCD and touch-sensor スキンのハンダ付けと使用方法。
次のビデオは、ヘッダーを 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とタッチセンサーを併用したデモもあり、 ここ で見つけることができます。