目的:

16×2 LCDとラズベリー・パイを使って、DHT11センサーを接続して、環境温度と湿度を検出し、LCDに表示するのプロジェクトです。

GPIOの知識は Raspberry Pi_GPIOピンの概要でご参照下さい。

必要なパーツ:

1 pc Raspberry Pi 2/3/zeroボード x 1 raspi
1 pc 8GB メモリーカードRaspbian OSを装着済み 8gtf
1 pc DHT11温湿度センサーモジュールx 1 dht11
1 pc  I2C 1602 LCD スクリーンx 1
1 pc ブレッドボードx 1 BREADBOARD
1 pc  40ピンT型GPIO拡張ボードx1 40ピンリボンケーブルx1 breakout

ソフトウェア/ハードウェアのインストールと装着

Step 1)RPI.GPIOモジュールを対応するため、Raspbianを最新版に更新して下さい。

「LXTerminal」で下記のコマンドを作動して下さい:

sudo apt-get update

sudo apt-get upgrade

Step 2)I2CとSPIを有効にする

「LXTerminal」で下記のコマンドを作動して下さい:

 sudo raspi-config

「Advance Options」に入って、I2CとSPIを有効に設定して下さい。

Piを再起動したら、.モジュールの設定ファイルを編集必要です。 「LXTerminal」で下記のコマンドを作動して下さい:

sudo nano /etc/modules

モジュールファイルで下記の内容を追加して下さい:

i2c-bcm2708

i2c-dev

Ctrl+Xボダンを押して、Yを入力して、ファイルを保存して下さい。

Step 3) – smbusとi2c python libraryのインストールする

「LXTerminal」で下記のコマンドを作動して下さい:

sudo apt-get update

sudo apt-get install -y python-smbus i2c-tools

sudo reboot

Piが再起動したら、Terminalで下記のコマンドを入力して下さい:

lsmod | grep i2c

i2c_bcm2708がリストに表示されるはずです。libraryが正しくインストールしたと分かります。もし、i2c_bcm2708が見えない場合、Step2と3を再度操作して下さい。

Step 4)Raspberry Pi と 1602 LCDとDHT11センサーの接続

LCD Pin Description Pi Function RasPi Pin
GND GND GND pin 6 or pin 39
VCC +5V/3.3v +3.3V pin 2
SDA SDA GPIO 02 pin 3
SCL SCL GPIO 03 pin 5
DHT11 DATA pin GPIO 14 pin 8
DHT11 +VCC pin +3V pin 1
DHT11 GND(-) GND pin 6

配線図(画像をクリックして拡大イメージを表示):

201703pi-dh11-i2clcd

✱ Raspberry GPIO pinは3Vの電圧しか対応できません。違う電圧の場合、Piボードに損害された恐れも御座いますので、十分ご注意下さい。

Step 5) ハードウェアのテスト

Terminalで下記のコマンドを入力して下さい:

sudo i2cdetect -y 1

or

sudo i2cdetect -y 0

下記のように、表示します:


0 1  2  3  4  5  6  7  8  9  a  b  c  d  e  f 00:             — — — — — — — — — — — — — 10: — — — — — — — — — — — — — — — — 20: — — — — — — — — — — — — — — — — 30: — — — — — — — — — — — — — — — 3f 40: — — — — — — — — — — — — — — — — 50: — — — — — — — — — — — — — — — — 60: — — — — — — — — — — — — — — — — 70: — — — — — — — — 文字なく、唯”– — –“と表示の場合、 回路の組み立ては問題あるあるいはソフトウエアのインストールが正しくないと判明できます。 “3f” をご注意下さい。LCDのi2cアドレスと言うことです。他の数値(27、35など)の可能性もあります。

Step 6) pythonコードをダウンロードする

Terminalで下記のコマンドを入力して下さい(dht11.py):

sudo wget http://osoyoo.com/driver/dht11.py

Step 7)

a) LCDのi2c アドレスは3fの場合、 Terminalで下記のコマンドを入力して、(pi-dht11-ic2lcd.py)をダウンロードして下さい。

sudo wget http://osoyoo.com/driver/pi-dht11-i2clcd.py

b) LCDのi2c アドレスは3fでは無いの場合、 Terminalで下記のコマンドを入力して、「pi-dht11-i2clcd.py」と言うファイルを作成して下さい。

sudo nano pi-dht11-i2clcd.py

ファイルを作成したら、次のリンクのコードを「pi-dht11-i2clcd.py」ファイルにコーピーして下さい。 コード

ファイルでの(I2C_ADDR = 0x3f)を実際確認したの数値を切り替えして下さい。

Ctrl+Xボダンを押して、Yを入力して、ファイルを保存して下さい。

最後、Terminalで下記のコマンドを入力して下さい:

sudo python pi-dht11-i2clcd.py

※LCDはよく見えない場合、LCD裏のつまみを調整して見て下さい~