今日のゴール
RaspberryPiにLCD(liquid crystal display、液晶ディスプレイ)を接続し文字を表示させる。
用意するもの
1602A LCDモジュールを使います。
以下のようなセットにも入っています。
また、10kオームの可変抵抗器(ポテンショメータ:B10K)を使います。
ディスプレイの文字の明るさを変更するのに使います。
配線する
配線については、下記サイトの「Wiring Diagram」を参考に接続してください。
https://learn.adafruit.com/drive-a-16x2-lcd-directly-with-a-raspberry-pi/wiring#wiring-diagram
10kオームの可変抵抗器(B10K)の左端はGND、右端にVCC(5V)を接続します。
LCDの各ピンは下記の通りに接続します。
【LCD】< - - - - - - - > 【RaspberryPi】
- Pin #1 < - - - - - - - > GND (黒)
- Pin #2 < - - - - - - - > VCC 5V(赤)
- Pin #3 < - - - - - - - > 可変抵抗器B10Kの真ん中のピン(オレンジ)
- Pin #4 < - - - - - - - > GPIO25 (黄色)
- Pin #5 < - - - - - - - > GND (黒)
- Pin #6 < - - - - - - - > GPIO24 (緑色)
- -- LCDのPin #7, #8, #9, #10 は接続なし --
- Pin #11 < - - - - - - - > GPIO23 (青)
- Pin #12 < - - - - - - - > GPIO17 (紫)
- Pin #13 < - - - - - - - > GPIO21 (灰色)
- Pin #14 < - - - - - - - > GPIO22 (白)
- Pin #15 < - - - - - - - > VCC 5V(赤)
- Pin #16 < - - - - - - - > GND (黒)
とにかく、文字を表示する
まず、PythonのGPIOモジュールをインストールしていない場合は、インストールします。
$ sudo apt-get install python-rpi.gpio今回はAdafruitが提供しているライブラリを使います。gitからcloneします。
$ git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git下記の通りコマンドを打って、サンプルを実行してみます。
$ cd Adafruit-Raspberry-Pi-Python-Code $ cd Adafruit_CharLCD $ sudo python Adafruit_CharLCD_IPclock_example.py実行すると、1行目に現在の日時、2行目にIPアドレスが表示されます。
表示されない場合は、可変抵抗器のつまみを回してディスプレイの明るさを調整してみてください。
もし、接続しているGPIOの番号を変更した場合、同じディレクトリ内にある「Adafruit_CharLCD.py」というファイルの56行目あたりの数字を変更すればOKです。
好きな文字を表示する
Adafruit_CharLCD.pyと同じディレクトリ内に、「writeLCD.py」というファイルを新しく作ります。
(importするパスが通っていれば、同じディレクトリじゃなくてもOKです)
$ sudo vi writeLCD.py
下記のように編集します。
text1 が1行目、text2が2行目の文字列です。
#!/usr/local/bin/python # -*- coding: utf-8 -*- from Adafruit_CharLCD import Adafruit_CharLCD text1 = 'Hello' text2 = 'Welcome!' try: lcd = Adafruit_CharLCD() lcd.clear() lcd.message(text1) lcd.message('\n') lcd.message(text2) finally: print 'cleanup' lcd.GPIO.cleanup()
text1、text2を好きなように変えて下記のコマンドを実行すれば、好きな文字が表示できます。
$ sudo python writeLCD.py
日本語(カタカナ)を表示する
半角カタカナも表示させることができます。
その場合は「writeLCD.py」下記のように変更してください。
#!/usr/local/bin/python # -*- coding: utf-8 -*- from Adafruit_CharLCD import Adafruit_CharLCD text1 = u'コンニチワ!' text2 = u'RasberryPi デス' text1 = text1.encode('shift-jis') text2 = text2.encode('shift-jis') try: lcd = Adafruit_CharLCD() lcd.clear() lcd.message(text1) lcd.message('\n') lcd.message(text2) finally: print 'cleanup' lcd.GPIO.cleanup()
※ text1、text2の文字は半角カタカナで記述してください。
下記コマンドで実行すれば、半角カタカナも表示させることができます。
$ sudo python writeLCD.py