名刺サイズの超小型PC「ラズパイ」で遊ぶ(第31回)
ラズパイの拡張ボード「Sense HAT」に搭載された加速度計、磁力計、ジャイロスコープでサイコロを作る(1/2 ページ)
ラズパイの拡張ボード「Sense HAT」は、これまで紹介した湿度センサー、気圧センサーの他、加速度計と磁力計、ジャイロスコープの機能を備える「IMU」(Inertial Measurement Unit)を搭載しています。測定できる値は以下の通りです。
- 加速度計:加速力を測定してSense HATがどちらに動いているのかを測定
- 磁力計:コンパスのように地球の磁場を測定
- ジャイロスコープ:Sense HATの運動量と回転を測定
Sense HATは、IMUのセンサーでピッチ、ロール、ヨーのxyz軸3方向の動きを検出できます。
以下のプログラムを記述して「3jiku.py」のように名前を付けて保存し、実行させてみましょう。ラズパイを傾けて±1G以上の加速度を検知したときに、x、y、zの値が変化します。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sense_hat import SenseHat
sense = SenseHat()
try:
while True:
acceleration = sense.get_accelerometer_raw()
x = acceleration['x']
y = acceleration['y']
z = acceleration['z']
x=round(x, 0)
y=round(y, 0)
z=round(z, 0)
print("x={0}, y={1}, z={2}".format(x, y, z))
except KeyboardInterrupt:
sense.clear()
続いてはSense HATに流れている文字の向きが、Sense HATを傾ける方向によって変わるというプログラムを紹介します。ここではx軸が-1Gを検知すると180度向きを変え、y軸が1Gを検知すると90度、y軸が-1GWork270度というように変わっていきます。以下のプログラムを記述して「letter.py」などと保存し、実行してみましょう。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sense_hat import SenseHat
sense = SenseHat()
# "J"の文字を表示
sense.show_letter("J")
try:
while True:
acceleration = sense.get_accelerometer_raw()
x = acceleration['x']
y = acceleration['y']
z = acceleration['z']
x=round(x, 0)
y=round(y, 0)
z=round(z, 0)
print("x={0}, y={1}, z={2}".format(x, y, z))
# 傾けた方向に応じて流れる向きを変える
if x == -1:
sense.set_rotation(180)
elif y == 1:
sense.set_rotation(90)
elif y == -1:
sense.set_rotation(270)
else:
sense.set_rotation(0)
except KeyboardInterrupt:
sense.clear()
Sense HATの傾きに応じて、白い「J」という文字がくるくると変わったでしょうか。
続いてご紹介するのは、x、y、z軸のいずれかの方向に強い加速度が加わると「!」が表示されるというプログラムです。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sense_hat import SenseHat
sense = SenseHat()
red = (255, 0, 0)
try:
while True:
acceleration = sense.get_accelerometer_raw()
x = acceleration['x']
y = acceleration['y']
z = acceleration['z']
x = abs(x)
y = abs(y)
z = abs(z)
if x > 1 or y > 1 or z > 1:
sense.show_letter("!", red)
else:
sense.clear()
except KeyboardInterrupt:
sense.clear()
Sense HATを上下左右に振ってみると「!」という赤い文字が表示されたでしょうか。
Sense HATを使ったサイコロを作ってみよう
Copyright © ITmedia, Inc. All Rights Reserved.
名刺サイズの超小型PC「ラズパイ」で遊ぶ
今やスマートフォンアプリで何でも完結できてしまう時代。しかし、一から自分の手でデバイスを作り上げ、試行錯誤しながらアイデアを具現化する楽しさは格別です。この連載では、テーマや用途にあわせてマイクロコンピュータ(マイコン)と呼ばれる名刺サイズの超小型PC「Raspberry Pi」(通称ラズパイ)の活用方法から具体的な工作手順までを紹介します。
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
「菜の花がおかしい」――イラストレーター制作うたうマラソン大会ポスターに指摘相次ぐ 事務局がAI使用明かす【訂正あり】
-
2
くら寿司、10%割引の“適用漏れ”を謝罪 レシート持参で返金へ ちいかわコラボのお詫び施策
-
3
iPhone 18シリーズ発表、今年はPro・Pro Maxのみ なんと“無印”なし 価格は21万9800円から【更新終了】
-
4
「ペンギンを返して」 Suica新キャラ候補3案公開でSNSに戸惑いの声 一般投票は8日から
-
5
幻の「ちいかわ」コラボ第3弾皿、捨てちゃうの? くら寿司に聞いてみた
-
6
藤井風のリサイタル、公式サイトがインターネット老人会すぎると話題 公民館のチラシみたいだけど東京ドーム開催
-
7
「ペンギンを返して」→「3匹全部採用して」 批判殺到のSuica新キャラ、ファンアートが空気を変えた? SNSの声
-
8
Duolingoの新アイコンが「気持ち悪い」 世界のユーザーから「元に戻して」の声
-
9
農水省の“クソダサ”ポスター話題 「AIよりよっぽど良い」の声も 担当者に狙いを聞いた
-
10
大雨で「首都圏外郭放水路」稼働 濁流が“地下神殿”を満たすまでの動画公開 国交省
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR