LoginSignup
121
27

More than 3 years have passed since last update.

懸垂をすると掛け声が飛び交う装置を作った話

Last updated at Posted at 2019-12-18

この記事は Brainpad Advent Calender 2019 18日目の記事です。
Brainpad Advent Calender 2019 の 20 日目で、後日談(開発環境詳細)をのせます。
@ushi_198 より)

...

我々はなにを作ったのか

やあ、みんな。切れてるかな!?
ITのお兄さんだよ。
IT系の会社ならどこにでもあるという「懸垂マシン」。
ひとり虚しく、懸垂している諸君に贈る、懸垂をすると掛け声が飛び交う装置を作ったぞ!

その名も、「Dev Muscle」だ!!!
さっそく作り方を見ていこう!

作り方

まずは装置を構成するBIG3の確認だ!

image.png

  • 人感センサー

    • 焦電型赤外線(人感)センサーモジュール SB412A
    • データシート

  • その他

    • 以下は、BIG3ではないが重要な部分だ。しっかり揃えていこう。
    • ジャンパー

    • バッテリー(なんでもOK)

セットアップ

みんなも準備はできたかな?

つぎにセットアップをしていこう!基本姿勢から。機器の接続設定だ!

これが Rasberry PI ZERO のとても美しい腹直筋と斜腹筋だ!
image.png

画像引用

センサーとGPIOの接続は、使うピンを意識しながら接続しよう!

DSC_0315.JPG

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図)
image.png

PDCAに合わせて投げてくれる掛け声一覧だ!

  1. 10 step 3 epoch!
  2. 腹筋DataFrame!
  3. 背中にtouristが宿ってる!
  4. 型メロン!
  5. きれてるよ!
  6. 効いてるよ!
  7. 外転筋の子!
  8. さぁ筋肉のPDCAを回そう!
  9. 大胸筋がResNet!
  10. クロス集計、8LDKかい!?
  11. 泣く子も黙るmaster push!
  12. ナイスバルク!!
  13. 筋肉外注した?
  14. 肩にちっちゃいgpu積んでんのかい!?
  15. 仕上がってるよ!
  16. ナイスプルリク!!
  17. 出ましたマージ!
  18. 大胸筋が過学習!
  19. 腹筋バッチ処理!
  20. 僧帽筋が歌ってる!
  21. 僧帽筋が跳ねてる!
  22. 新時代の幕開けだ!
  23. プルリクきれてるよ!
  24. 二頭がチョモランマ!
  25. 僧帽筋が叫んでる!
  26. 僧帽筋が威嚇してる!
  27. 僧帽筋が飛んでる!
  28. 背中がフルスタック!
  29. 背中に鬼が宿ってる!
  30. 前処理仕上がってるよ!
  31. 変数変換はいズドン!
  32. 秀逸極まりない背中だ!
  33. 背中に鬼神が宿ってる!
  34. 腹筋マイクロサービス!
  35. 僧帽筋が並じゃないよ!
  36. 筋肉のウォーターフォール!
  37. 背中に羽根が生えてるよ!
  38. 肩にコンテナのってんのかい!
  39. 二頭がアジャイル回してる!
  40. 秀逸極まりないプルリクだ!
  41. クラウドサーバはいズドン!
  42. 出たな!プロポーザルおばけ!
  43. フロントエンドダブルバイセップス!
  44. プロテインにできることは、まだあるかい!?
  45. そのクオリティでは眠れないデスマもあっただろう!
  46. そこまで仕上げるためには眠れない夜もあっただろうに!

スクリーンショット 2019-12-18 1.58.00.png
音声の収録:音作りに余念が無いメンバー。

まとめ

懸垂すると掛け声をかけてくれるシステムが完成したぞ!

今後は懸垂をカウントして記録したり、回数や頻度によって異なる掛け声をかけてくれるなどの機能で、さらに筋肉を盛り上げていくぞ!

「懸垂がたくさんできるんだけど、誰も掛け声をくれない!(´;ω;`)」という人はぜひブレインパッドで一緒に働きましょう!

参考記事

121
27
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
121
27