「Raspberry Pi」カテゴリーアーカイブ

【ラズパイ】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)

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

【ラズパイ】サンプルプログラムを実行する。

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

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

エディターは何でも良いらしい。

from sense_hat import SenseHat
sense = SenseHat()
sense.show_message("Hello my name is Tim Peake")

言語はpythonですな。

実行に必要な物はすでに入っていました。

実行するとこうなりました。

ただ、デフォのエディターだと使いづらいので、ラズパイ用のvscodeをインストールします。

インストール方法はこのやり方で行けた。

https://note.com/yoshiteru11/n/n6521e33ca456

$ wget -qO - https://packagecloud.io/headmelted/codebuilds/gpgkey | sudo apt-key add -

$ sudo su

# . <( wget -O - https://code.headmelted.com/installers/apt.sh )

# exit

【ラズパイ】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