高校化学の教材;分子と結晶模型の「ベンゼン屋」

高校化学の教材;分子と結晶模型の「ベンゼン屋」

PR

プロフィール

cyn1953

cyn1953

キーワードサーチ

▼キーワード検索

サイド自由欄

楽天プロフィールをフォローしていただくと
ブログの更新がすぐわかります

[問い合わせ] benzeneya☆yahoo.co.jp
☆→@

分子と人間 (SAライブラリー) [ ピーター・W.アトキンス ]
身近な分子たち 空気・植物・食物のもと

紙書籍版もあります



カレンダー

コメント新着

通りすがり@ Re:ラズベリーパイpicoでCO2測定(4)フリスクサイズのCO2モニター(05/07) シンプルなプログラムで、過去の計測結果…
cyn1953 @ Re:明けましておめでとうございます…2022年記事ランキング(01/01) あけましておめでとうございます。 いつも…
湯口 秀敏@ Re:明けましておめでとうございます…2022年記事ランキング(01/01) 素晴らしい、継続は力なり、ですね。
2021.04.19
XML
カテゴリ: コンピューター
​​ラズベリーパイPICOで小さな​温度・湿度・気圧の測定器を作りました。
ラズベリーパイPICOで温度・湿度・気圧を…⑤ケース製作と収納 →2021/3/30ブログ
プログラムを改変して得られたデータを測定器内に記録できるようにしました。
データの取り込みをSUB化すればもっとすっきりしたものになると思いますが、とりあえず動けばいいや、という感じで作りました。

​(1)pico内の不揮発性メモリーにcsv形式"temp_humi_Pres.csv"で測定値を記録するようにプログラムを変えました。書き換え・追加部分は ​   ​
 記録モードへの切り替えは、プログラム内の  部分で変更する
①log = 0でOLED表示・記録なし、log = 1でOLED消灯・記録
②date_time = "yy/mm/dd hh:mm:ss"に日時を入れておく
 (pico内にリアルタイムクロックがないので)
③記録時間は秒単位でLOGt = 3600、間隔はLOGi = 30に入れておく
④データは temp_humi_Pres.csvにappendされる
​​⑤ファイルが削除されていても新たに作られる

<改変したプログラムは以下です>
##############
# SSD1306 OLED Display BMP280 I2C Tests with the Raspberry Pi Pico
# modeified 2021/3/25 by cyn
# modeified Data logging "temp_humi_Pres.csv" 2021/4/17 by cyn
# original
# https://github.com/raspberrypi/pico-micropython-examples/tree/master/i2c/1306oled
##############
#
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import framebuf,sys,time,utime,machine
from bme280 import BME280
pix_res_x  = 128 # SSD1306 horizontal resolution
pix_res_y = 32   # SSD1306 vertical resolution
i2c_dev = I2C(0,scl=Pin(1),sda=Pin(0),freq=400000)  # start I2C on I2C0 (GPIO 0/1)
i2c_addr = [hex(ii) for ii in i2c_dev.scan()] # get I2C address in hex format
i2c = I2C(0,sda=Pin(0), scl=Pin(1), freq=400000)
oled = SSD1306_I2C(pix_res_x, pix_res_y, i2c_dev) # oled controller
oled.fill(0)
led = Pin(25, Pin.OUT)
# ========================
# For data logging
# log=0 show OLED log=1 Logging only
log = 0
date_time = "yy/mm/dd hh:mm:ss"
# Data logging time in seconds
LOGt = 3600
# Data logging interbal in seconds
LOGi = 30
# ========================
i = 0
bme = BME280(i2c = i2c)
​while log < 1:​
# Display Mode :OLED display on & LED off------------------
​led.value(0) # No logging but show OLED​
        t, p, h = bme.read_compensated_data()
        p = p // 256
        pi = p // 100
        pd = p - pi * 100
        hi = h // 1024
        hd = h * 100 // 1024 - hi * 100
    #add some text
        oled.fill(0)
        oled.text("Humi:   .   %",0,20)
        oled.text("Temp:       C",0,0)
        oled.text(str(t/100),48,0)
        oled.text("Press:     hP",0,10)
        oled.text(str(pi),48,10)
        oled.text(str(hi),48,20)
        oled.text(str(hd),70,20)
    #oled show
        oled.show()
        utime.sleep(2) # wait 2sec
# Logging Mode :OLED display off & LED on-----------
else:
    # Opens a file for writing only and will create a new file
    tpfile=open("temp_humi_Pres.csv","a")
    tpfile.write(date_time + "\n")
    #LOGt(Logging time),LOGi(Logging interbal) in second
    tpfile.write("LOGtime:"+str(LOGt)+" LOGinterbal:"+str(LOGi)+" [sec]"+"\n")
    tpfile.write("No"+","+"temp[C]"+ "," +"humi[%]"+ "," +"press[hP]"  +  "\n")
    tpfile.flush()
    while i < (LOGt/LOGi):
        led.value(1) # Board led on in logging
        t, p, h = bme.read_compensated_data()
        p = p // 256
        pi = p // 100
        pd = p - pi * 100
        hi = h // 1024
        hd = h * 100 // 1024 - hi * 100
        tpfile.write(str(i)+","+str(t/100)+","+str(hi)+"."+str(hd)+","+str(pi) + "\n")
        tpfile.flush()
        time.sleep(LOGi)
        i += 1
        led.value(0) # Board led off

<以上です>

​(2)エディターのTHONNYでpico内にできたファイル"temp_humi_Pres.csv"を開きます。

内容は以下です。

Excelで読み込み、グラフに加工します。
内容は12800秒観測、間隔は1分です。うち100件をグラフ化しました。

今日はこれまで。







お気に入りの記事を「いいね!」で応援しよう

最終更新日  2021.04.19 11:44:25
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: