この記事は Brainpad Advent Calender 2019 18日目の記事です。
Brainpad Advent Calender 2019 の 20 日目で、後日談(開発環境詳細)をのせます。
( @ushi_198 より)
...
我々はなにを作ったのか
やあ、みんな。切れてるかな!?
ITのお兄さんだよ。
IT系の会社ならどこにでもあるという「懸垂マシン」。
ひとり虚しく、懸垂している諸君に贈る、懸垂をすると掛け声が飛び交う装置を作ったぞ!
懸垂をすると掛け声が飛び交う装置を作った話https://t.co/73ndOnjL3v pic.twitter.com/xM0uH1U3LK
— ウッディ川越 (@woody_kawagoe) December 18, 2019
その名も、「Dev Muscle」だ!!!
さっそく作り方を見ていこう!
作り方
まずは装置を構成するBIG3の確認だ!
-
Raspberry Pi Zero
- 全体の仕組みを支える重要な部品だ。
-
- 掛け声を放つ部品だ。
-
人感センサー
- 焦電型赤外線(人感)センサーモジュール SB412A
- データシート
-
その他
- 以下は、BIG3ではないが重要な部分だ。しっかり揃えていこう。
- ジャンパー
セットアップ
みんなも準備はできたかな?
つぎにセットアップをしていこう!基本姿勢から。機器の接続設定だ!
これが Rasberry PI ZERO のとても美しい腹直筋と斜腹筋だ!
センサーとGPIOの接続は、使うピンを意識しながら接続しよう!
Raspberry Pi ZERO の環境設定は、筋肉で解決だ! (※ 後日枠で詳細説明。)
import glob
from gpiozero import MotionSensor
import random
import time
import pygame
from mutagen.mp3 import MP3 as mp3
# 使用するセンサ
sensor = MotionSensor(21)
# interval
interval = 0.1
# 音声リストを取得
cheer_music_list = glob.glob("./mp3/*")
pygame.mixer.init()
time.sleep(5) # エラー回避
def cheer_music():
""" 応援音声を流す """
file_name = random.choice(cheer_music_list)
pygame.mixer.music.load(file_name)
pygame.mixer.music.play(1) # 一回実行
time.sleep(mp3(file_name).info.length + 3) # load の待機
pygame.mixer.music.stop()
def detected():
""" 焦電センサが検知したか """
if (sensor.motion_detected):
return True
return False
if __name__ == "__main__":
try:
print("終了キャンセル:CTRL+C")
cnt = 1
while True:
if detected():
cnt = cnt + 1
cheer_music()
# sleep 処理を挟む
time.sleep(interval)
except KeyboardInterrupt:
print("終了処理中...")
finally:
print("終了...")
筋肉のPDCA
ここまでついてこられたのなら大したものだ!しかし、言うは易し、行うは難し。さあ、全体を俯瞰し、実際に装置を作成したら、一緒に筋肉のPDCAをまわそう!
PDCAに合わせて投げてくれる掛け声一覧だ!
- 10 step 3 epoch!
- 腹筋DataFrame!
- 背中にtouristが宿ってる!
- 型メロン!
- きれてるよ!
- 効いてるよ!
- 外転筋の子!
- さぁ筋肉のPDCAを回そう!
- 大胸筋がResNet!
- クロス集計、8LDKかい!?
- 泣く子も黙るmaster push!
- ナイスバルク!!
- 筋肉外注した?
- 肩にちっちゃいgpu積んでんのかい!?
- 仕上がってるよ!
- ナイスプルリク!!
- 出ましたマージ!
- 大胸筋が過学習!
- 腹筋バッチ処理!
- 僧帽筋が歌ってる!
- 僧帽筋が跳ねてる!
- 新時代の幕開けだ!
- プルリクきれてるよ!
- 二頭がチョモランマ!
- 僧帽筋が叫んでる!
- 僧帽筋が威嚇してる!
- 僧帽筋が飛んでる!
- 背中がフルスタック!
- 背中に鬼が宿ってる!
- 前処理仕上がってるよ!
- 変数変換はいズドン!
- 秀逸極まりない背中だ!
- 背中に鬼神が宿ってる!
- 腹筋マイクロサービス!
- 僧帽筋が並じゃないよ!
- 筋肉のウォーターフォール!
- 背中に羽根が生えてるよ!
- 肩にコンテナのってんのかい!
- 二頭がアジャイル回してる!
- 秀逸極まりないプルリクだ!
- クラウドサーバはいズドン!
- 出たな!プロポーザルおばけ!
- フロントエンドダブルバイセップス!
- プロテインにできることは、まだあるかい!?
- そのクオリティでは眠れないデスマもあっただろう!
- そこまで仕上げるためには眠れない夜もあっただろうに!
まとめ
懸垂すると掛け声をかけてくれるシステムが完成したぞ!
今後は懸垂をカウントして記録したり、回数や頻度によって異なる掛け声をかけてくれるなどの機能で、さらに筋肉を盛り上げていくぞ!
「懸垂がたくさんできるんだけど、誰も掛け声をくれない!(´;ω;`)」という人はぜひブレインパッドで一緒に働きましょう!