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

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

ただいまの
回答率

90.12%

Sokuteikekka.pyのBME280測定温度がSO1602(EL)に表示できません

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 49

yama286

score 13

yama286です
9/23以前に温度センサDS18B20とLCDの組み合わせで、表示を試みましたがうまくいっていません。そこで、秋月電子のELを購入し、下記のURL
https://www.itmedia.co.jp/news/articles/1902/22/news025_2.html

“ラズパイで作る「気温・湿度・気圧センサー」 有機ELディスプレイを取り付け (2/2)”
の記事を参考に下記組み合わせで再チャレンジしてみましたがうまくいきません。
センサー      :BME280気温・湿度・気圧センサー
EL表示器      :SO1602AWGB(16*2)  秋月電子
標準開発環境   :Thonny Python IDE、LXTerminal
なおこの組み合わせは、上記記事の使用機器と同一です。

1.不具合内容
BME280センサーのThonny Python IDEへの温度・湿度・気圧表示は正常、またSO1602AWGB表 
示器への文字表示も正常です。
ところが上記URLに載っているサンプルプログラム(後述)を実行すると次のエラーが出ます。

1)LXTerminal

BME280センサーのThonny Python IDEへの温度・湿度・気圧表示は正常、またSO1602AWGB表示器への文字表示も正常です。
ところが上記URLに載っているサンプルプログラム(後述)を実行すると次のエラーが出ます。
イメージ説明
attributeerrorが出ています。  
2)Thonny Python IDE
イメージ説明
importerrorが出ています。

2.サンプルプログラム  sokuteikekka.py
次のプログラムは /home/pi/programs/に入れています。

#!usr/bin/env python
# -*- coding: utf-8 -*-
import smbus2
import time
import bme280
import so1602
#パラメーターの設定
port = 1
address = 0x76
bus = smbus2.SMBus(port)
I2C_BUS_NUM = 1
i2c = bus
data = 0x40
address2 = 0x3e
command = 0x00
bme280.load_calibration_params(bus, address)
calibration_params = bme280.load_calibration_params(bus, address)
data = bme280.sample(bus, address, calibration_params)
so1602.setaddr(0x3c)
# LCD初期化
so1602.command(0x0c)
so1602.command(0x01)
# 気温と湿度、圧力のデータ
temp = str(round(data.temperature, 1))
hum = str(round(data.humidity, 1))
press = str(round(data.pressure, 1))
# LCD表示
so1602.command(0x80)
so1602.write("T=" + temp + "C")
9
so1602.command(0x89)
so1602.write("H=" + hum + "%")
so1602.command(0xa0)
so1602.write("P=" + press + "hPa")
print ("Temperature : %s C" % temp)
print ("Humidity    : %s %%" % hum)
print ("Pressure    : %s hPa" % press)


3.依頼事項
Q1. “ラズパイで作る「気温・湿度・気圧センサー」 有機ELディスプレイを取り付け (2/2)”の
記事と同じ機器構成なのになぜエラーが出て動かないのでしょうか?
Q2.pathは特別に設定する必要がありますか?
     
Q3.pythonのバージョン或はインストール先が違うのでしょうか?
はっきり覚えていませんが、
/usr/local/lib/python2.7/dist_packages

/usr/local/lib/python3.5/dist_packages
違っていました。
それぞれ単独では動くのに、ELに表示するようにするとエラーになるのはなぜでしょうか?
以上よろしくお願いいたします。
 

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

yama286です

別の取り組みをしたいと思いますので、取り敢えずこの問題はここで終了します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる