質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

6454閲覧

Raspberry piでi2c LCD screenを制御

退会済みユーザー

退会済みユーザー

総合スコア0

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/08/19 06:32

編集2017/08/20 04:29

Use Raspberry Pi display temperature/humidity to i2c LCD screen を参考に
Raspberry piで湿温度センサー(OSOYOO製DHT11)で得た値をi2c LCD screen(OSOYOO製I2C 1602 LCD screen)に表示させるというものなんですが、
早速試してみると以降のようなエラーが出ました。
###エラー
Traceback (most recent call last):
File "pi-dht11-i2clcd.py", line 116, in <module>
lcd_byte(0x01, LCD_CMD)
File "pi-dht11-i2clcd.py", line 63, in lcd_byte
bus.write_byte(I2C_ADDR, bits_high)
IOError: [Errno 121] Remote I/O error
###構成と回路
構成
![構成(9909fdd89a335eb1ee56e511fc376c7b.png)
回路
回路

###pi-dht11-i2clcd.py

python

1# _____ _____ _____ __ __ _____ _____ 2#| | __| | | | | | 3#| | |__ | | |_ _| | | | | 4#|_____|_____|_____| |_| |_____|_____| 5# 6# Use Raspberry Pi to get temperature/humidity from DHT11 sensor 7# Project Tutorial Url:http://osoyoo.com/2016/12/01/use-raspberry-pi-display-temperaturehumidity-to-i2c-lcd-screen/ 8# 9import smbus 10import time 11import dht11 12import RPi.GPIO as GPIO 13 14#define GPIO 14 as DHT11 data pin 15Temp_sensor=14 16 17# Define some device parameters 18I2C_ADDR = 0x3f # I2C device address, if any error, change this address to 0x27 19LCD_WIDTH = 16 # Maximum characters per line 20 21# Define some device constants 22LCD_CHR = 1 # Mode - Sending data 23LCD_CMD = 0 # Mode - Sending command 24 25LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line 26LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line 27LCD_LINE_3 = 0x94 # LCD RAM address for the 3rd line 28LCD_LINE_4 = 0xD4 # LCD RAM address for the 4th line 29 30LCD_BACKLIGHT = 0x08 # On 31#LCD_BACKLIGHT = 0x00 # Off 32 33ENABLE = 0b00000100 # Enable bit 34 35# Timing constants 36E_PULSE = 0.0005 37E_DELAY = 0.0005 38 39#Open I2C interface 40#bus = smbus.SMBus(0) # Rev 1 Pi uses 0

###追記
sudo i2cdetect -y 1
にした場合
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
sudo i2cdetect -y 0
にした場合
Error: Could not open file /dev/i2c-0' or /dev/i2c/0': No such file or directory

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukkeorg

2017/08/19 15:17

sudo i2cdetect -y 1 もしくは、 sudo i2cdetect -y 0 したときの結果を追記してください。
guest

回答2

0

ベストアンサー

LCDの後ろのつまみでコントラストをいじると表示されました。

投稿2017/08/20 14:37

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

追記ありがとうございます。

まず、最初にsudo i2cdetect -y 1した際に、出力がすべて--の場合は2c LCD screenが認識されていません。RapberryPi側の設定や配線などをもう一度確認してください。

参考:
ラズベリーパイのI2Cを有効にする - Y2 Corporation
https://www.y2c.co.jp/i2c-r/raspberrypi/i2c-enable.html

その後、sudo i2cdetect -y 1すると、どこかの--が変化していると思われますので、その番号をメモに控えるなどして覚えておき、pi-dht11-i2clcd.pyI2C_ADDRの値と一致することを確認します。一致しなければI2C_ADDRRの値を変更します。

最後に、LCDのプログラムを実行してみましょう(もしかしたら実行時sudoが必要になる可能性があります)。LCDに文字などが表示されているかと思います。

投稿2017/08/20 05:31

yukkeorg

総合スコア985

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/20 06:28

配線しないおしてみると常時LCDが点灯しましたが、sudo python pi-dht11-i2clcd.pyと入力しても、湿温度が表示されていません。(湿温度センサーは正常に動いています。)
yukkeorg

2017/08/20 07:39 編集

接続し直してみたあと sudo i2cdetect -y 1 はしてみましたか? また、質問に挙げられている pi-dht11-i2clcd.py は不完全ですがその点は確認されていますでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問