「#ラズパイ」タグアーカイブ

【ラズパイ】湿度計を使ってみる。

この記事をもとに調べてみました。

https://github.com/raspberrypilearning/astro-pi-guide/blob/master/sensors/humidity.md

英語を翻訳してみると、

湿度には、絶対湿度と相対湿度がありまして、

絶対湿度は大気中に含まれる水分の総量。

相対湿度は、大気中に最大まで含むことができる水分量に対する、現在の水分量の割合を表します。

大気中に含むことができる水分量の最大値は温度によって変わりますので、相対湿度を図るには温度計も内蔵されています。

ちなみに、我々が一般的に湿度と呼んでいるのは相対湿度のほうで、単位は%です。

これはもうやっているからいいや。

【ラズパイ】LEDディスプレイで温度を表示する

どうせならLEDディスプレイを利用したいので、LEDディスプレイで温度を表したいと思います。

イメージとしては、左上から1℃上がることにLEDが一個点灯するような感じです。

コードはこうなりました。

import time
from sense_hat import SenseHat
sense = SenseHat()
sense.clear()

while True:
    temp = int(sense.get_temperature())
    print(temp)
    y = temp // 8
    x = temp % 8
    for dy in range(0, y + 1):
        if dy < y:
            for dx in range(0, 8):
                sense.set_pixel(dx, dy, 255, 0, 0)
        else:
            for dx in range(0, 8):
                sense.set_pixel(dx, dy, 0, 0, 0)
            for dx in range(0, x):
                sense.set_pixel(dx, dy, 255, 0, 0)
    #time.sleep(1)

最初は36℃ぐらいあった温度ですが、うちわで扇いで風を送ることにより、31℃ぐらいまで下げています。

しかし、ラズパイの温度上昇は仕方が無いとして、それに影響される温度計って、使いづらくない??

【ラズパイ】温度計などを使用してみる

最新ソースを置きました(gitHub)。

https://github.com/takishita2nd/pi

下段の左から温度、気圧、湿度です。

温度が38℃と灼熱になっていますが、

うちわで扇いだら33℃下がりました。

ラズパイ本体が熱くなっているんでしょう。

温度計の説明はこちらにあります。

https://github.com/raspberrypilearning/astro-pi-guide/blob/master/sensors/temperature.md

英語だよ。

単位は℃で、-40℃~120℃まで計れるみたいです。

温度でLEDの色を変えるとかやってみようかな。

【ラズパイ】ジャイロセンサーを使ってみる その2

その1はこちら

というか、print()で出力させても良く見えないので、TKライブラリを使って表示させてみました。

from tkinter import *
from tkinter import ttk
from sense_hat import SenseHat
import threading

sense = SenseHat()

root = Tk()
frame1 = ttk.Frame(root)
frame1.grid()

label1 = ttk.Label(frame1, text='pitch', width=10)
label1.grid(row=1, column=1)

label_pitch = ttk.Label(frame1, width=10)
label_pitch.grid(row=1, column=2)

label2 = ttk.Label(frame1, text='yaw', width=10)
label2.grid(row=1, column=3)

label_yaw = ttk.Label(frame1, width=10)
label_yaw.grid(row=1, column=4)

label3 = ttk.Label(frame1, text='roll', width=10)
label3.grid(row=1, column=5)

label_roll = ttk.Label(frame1, width=10)
label_roll.grid(row=1, column=6)

def scheduler():
    t = threading.Timer(0.1, scheduler)
    t.start()
    orientation_data = sense.get_orientation()
    label_pitch.configure(text=f'{orientation_data["pitch"]:.4f}')
    label_yaw.configure(text=f'{orientation_data["yaw"]:.4f}')
    label_roll.configure(text=f'{orientation_data["roll"]:.4f}')

t = threading.Thread(target = scheduler)
t.start()

root.mainloop()

【ラズパイ】ジャイロセンサーを使ってみる その1

このサンプルを参考にプログラムを与えてみます。

https://github.com/raspberrypilearning/astro-pi-guide/blob/master/files/SenseHAT-Cheatsheet.pdf

from sense_hat import SenseHat
sense = SenseHat()
while True:
    orientation_data = sense.get_orientation()
    pitch = orientation_data['pitch']
    yaw = orientation_data['yaw']
    roll = orientation_data['roll']
    print(f'{pitch:.4f} {yaw:.4f} {roll:.4f}')

get_orientation()を使うと、本体の傾きを得ることができます。

pitch,yaw,rollとはなんぞや?なんですが、この絵に説明が描いてありました。

https://projects.raspberrypi.org/en/projects/getting-started-with-the-sense-hat/8

水平、北向きを0度として、傾いた方向の角度が出力されます。

本体アッツ!

【ラズパイ】ディスプレイにいろいろ表示させてみる

こちらのサンプルプログラムを入力します。

https://github.com/raspberrypilearning/astro-pi-guide/blob/master/files/SenseHAT-Cheatsheet.pdf

8×8のLEDディスプレイにいろいろ表示させてみましょう。

ドット点灯

from sense_hat import SenseHat
sense = SenseHat()
sense.set_pixel(0, 0, 255, 0, 0)

インターフェースは(x, y, R, G, B)。

これは(0,0)に赤を点灯します。

色を変えてみます。

sense.set_pixel(0, 0, 155, 100, 10)

表示位置を変えてみます。

sense.set_pixel(1, 1, 155, 100, 10)

1文字表示

from sense_hat import SenseHat
sense = SenseHat()
sense.show_letter("J", text_colour=[155, 100, 10])

ピクチャ表示

このような絵を作成。

from sense_hat import SenseHat
sense = SenseHat()
sense.load_image("creeper.gif", redraw=True)

一応256階調に調整できるので、フルカラー表示できるはずなんですが、あまり細かい違いは分かりません。

回転

from sense_hat import SenseHat
sense = SenseHat()
sense.load_image("creeper.gif", redraw=True)
sense.set_rotation(r=90, redraw=True)

ピクセルマップ

from sense_hat import SenseHat
sense = SenseHat()

R = [255, 0, 0]
W = [255, 255, 255]

pixel_list = [W, W, W, R, R, W, W, W,
              W, W, R, W, W, R, W, W,
              W, W, W, W, W, R, W, W,
              W, W, W, W, R, W, W, W,
              W, W, W, R, W, W, W, W,
              W, W, W, R, W, W, W, W,
              W, W, W, W, W, W, W, W,
              W, W, W, R, W, W, W, W]

sense.set_pixels(pixel_list)

次はセンサーを弄ってみましょう。

【ラズパイ】Sense HATを装着する

これをラズパイに装着します。

これのマニュアルはgitHubにアップされています。

https://github.com/raspberrypilearning/astro-pi-guide

英語です。

チュートリアルに従って装着します。

https://github.com/raspberrypilearning/astro-pi-guide/blob/master/assemble.md

1.GPIO pin extension headerをラズパイに取り付けます。

2.六角柱のやつをラズパイに取り付けてしたからネジ止めします。

3.SENSE HATを取り付けます。

4.最後に上からネジ止めします。

電源ON!

正しくできたかどうか、本当に動くかどうか、次回はサンプルプログラムを作成してみます。

【ラズパイ】ラズパイのセットアップ

さぁ、ラズパイをセットアップするぞ。

まずはマイクロSDカードにラズパイOSをインストールします。

マイクロSDカードをPCに接続して、以下のサイトからインストールツールをダウンロードします。

https://www.raspberrypi.org/downloads/

実行するとこんな画面が表示されるので、一番左のリストボックスから使用するOSを選びます。

今回はデフォのRASBIANで。

真ん中のリストボックスでは、インストール先のメディアを選択します。

これは当然SDカードを選択。

この二つを選択すると、一番右のWRITEボタンが有効になります。

WRITEボタンを押すとSDカードにOSが書き込まれます。

終わりました。

マイクロSDカードをラズパイに装着し、電源以外のケーブルなどを接続。

最後に電源ケーブルを接続します。

そうすれば勝手にラズパイが立ち上がります。

立ち上がりました。

初回セットアップに言語設定、Wi-Fi設定、アップデートを行って設定完了。

これで自動的に日本語も使用できます。

あと、設定を変えることろは、VNCを有効にする。

Raspberry Piの設定からVNCの項を有効にすると、他PCからVNCで接続できます。

基本的にはVNC接続で使用していきたいと思います。

さて、次回はアタッチメントをつなげてみましょうか。

【ラズパイ】Raspberry PI4が届いた!

買いました。

Raspberry Pi 4 Model B 2GB RAM。

これの一個前がRaspberry Pi 2 Model Bだったから、それより大幅なパワーアップです。

メモリもプロセッサーも強化されていますが、わかりやすいところで言うと、

HDMIポート1個から、Micro HDMIのポート2つになりました。

4K出力もできるみたいよぉ。

Micro HDMI対応のケーブルなんてほとんど出回っていないので、本体と一緒に注文しました。

Micro HDMI – HDMIのケーブルです。

これが無いと、ディスプレイに画面を表示できません。

そして、もう一つ、左側にあるのが電源です。

端子はUSB-Cなのですが、これを動かすのに3Aの出力が必要なので、一般に出回っているUSB-Cケーブルでは動きません。

これも本体と同時に対応電源を注文しました。

あとは、ストレージとなるMicro SDカード。

これだけでこのラズパイは動かせるのですが、ついでなので、もうちょっと遊べるパーツを買いました。

このボードに温度計、湿度計などなど、あと右下にジョイスティック、8×8のLEDディスプレイが付いているパーツです。

ラズパイ4でも動くはず。

さあ、セットアップするぞ。

この一式はこちらのサイトで購入しました。

https://raspberry-pi.ksyic.com