ダイエットを続けるために玄関で懸垂しないと家の鍵が開かない仕組みを爆速でつくってみた

こんにちは！わみ([@wamisnet](https://twitter.com/wamisnet))です。

ダイエットって続かないですよね…

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/ea1117a3-13c7-c84d-66a8-67fccbf1a504.png)


みんな続けられてたらライザップみたいなものはないので同志はいっぱいいると思います（思いたい

そんなことをふんわりとおもっていたらこんなツイートを見かけました

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">私の住んでるシェアハウス、入り口にチンニングバーがあって10回懸垂しないと家に入れない仕組みになってるんですよ、逆に10回懸垂すれば誰でも入れるのでぜひ、ギークハウス新宿ってところです <a href="https://t.co/ykQcSFxvdK">pic.twitter.com/ykQcSFxvdK</a></p>&mdash; ウルトラ天丼パラダイス (@otinpoloniex) <a href="https://twitter.com/otinpoloniex/status/1285502451643105280?ref_src=twsrc%5Etfw">July 21, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

【懸垂しないと家に入れない】

これだ！！！

お仕事や買い物などで少なくとも家の外に出かけるので、その帰宅したときに懸垂しないと入れないようにしたら、面倒でサボるとはならないはずです

スマートフォンとかでやるのも手ですけど、偽装しやすいので、専用のハードウエアをつくってやってみます

そんなおかしなアイデアをテクノロジーで実現させちゃったお話です。

この記事は技術編として、どんな風にこれができているのか紹介していきます。プログラムの説明記事もありますのでご覧ください。

[【おうちハック】筋トレしないとお家に入れないようにしてみた【プログラム編】](https://wamisnet.github.io/blog/2020-07-26-chin_up_program/)


# 作ったもの

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ダイエットを頑張れないあなたに！<br>筋トレしないと玄関の鍵が開かないシステム作ってみた<br>いいねとかRTで広めてくれると次とか作るときの励みになるのでお願いします！！<a href="https://twitter.com/hashtag/%E3%83%80%E3%82%A4%E3%82%A8%E3%83%83%E3%83%88?src=hash&amp;ref_src=twsrc%5Etfw">#ダイエット</a> <a href="https://twitter.com/hashtag/%E7%AD%8B%E3%83%88%E3%83%AC%E3%83%8F%E3%83%83%E3%82%AF?src=hash&amp;ref_src=twsrc%5Etfw">#筋トレハック</a> <a href="https://t.co/P4hNkEJUVj">pic.twitter.com/P4hNkEJUVj</a></p>&mdash; わみ (@wamisnet) <a href="https://twitter.com/wamisnet/status/1288761252794241024?ref_src=twsrc%5Etfw">July 30, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


# 仲間集め

さっそくさっきのツイートを今住んでいるシェアハウスのSlackで話題にしました。

![slack.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/7d811d83-3595-1707-4e90-cf7707010d07.png)

面白そうって言ってくれたのでプロトタイピングでモノを作ってみようと思います！

せっかく4連休があることなので、爆速でモノを作ってみようと思います。

# どんな風に動くの？？？


## 下準備

まえもって次の写真のように懸垂するところの天井にお手製ハードウエアを取り付けておきます。

あとはカギを開けるために必要な懸垂の回数を設定しておきます。（何度も取り直しているので最後のほうヘロヘロになりながらドアをあけていますｗ

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/9bf609d3-9115-e2f6-7b21-92b276f89470.jpeg)

## 懸垂のカウント

懸垂をすると、天井に取り付けられたお手製ハードウエアに内蔵されている距離センサーが反応します。

懸垂によって体と天井の距離が離れたり、近づいたりすると懸垂をしたとしてカウントアップされます。

## カウントの表示

デバイスから懸垂が何度目かわからないとやる気でませんよね？？

天井にある都合上表示したところで確認するのは大変ですし、しゃべらすのも技術的にちょっと難しいです。

というわけでスマートフォンから確認できるWebページを用意しました！

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/2bbb0d76-3892-7156-32ef-869b6b6e2630.gif)

Webページには、懸垂の回数を確認できるのはもちろん、鍵を開けるために必要な懸垂の回数を設定できるようにしたり、懸垂の回数をクリアできるようなボタンも用意しておきました。

ちなみに鍵を開けるために必要な懸垂の回数は最大255回まで設定できます。（これぐらいあればだいぶ疲れるよね…？

もっとできるバケモノがいたら改善しないといけないですね！w

## カウント達成

懸垂を指定された回数を達成するとSESAMEというスマートロックによって家の鍵を解除してくれます。

これが全体の流れになります。

# 構成技術

ちょっと難しいワードが出るかもしれませんが、そんなに気にしないで雰囲気ですすめていきましょう。

全体の構成図を作ってみました。

![system.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/d948ef72-c067-5dec-e456-5535b70c1e68.jpeg)

あ、使用したプログラミング言語は次の通りです

- ハードウエア
    - C++(Arduino)
- Webページ
    - HTML
    - CSS
    - JavaScript


## お手製ハードウエア

もう少し詳しい説明をしていきます。

むかーし作った基板が落ちていたので、それでサクッとはんだ付けしちゃます。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/9b9aaaf0-93b4-15ae-e5b2-553c7bc505cc.jpeg)


緑色の基板が3.5cmの正方形で500円玉が2.6cmなので500円玉と比較するとちょっと大きめではありますが、小さいのが伝わるでしょうか？

その上に米粒より小さい1.6mmしかない部品やはんだ付けする間隔が0.65mmしかない部品をはんだ付けしていきます。

これでもスマートフォンなどで使われている部品からしたらとても巨大で、なれば簡単にはんだ付けできるようになるんだから慣れって怖いものですね。

完成したのハードウエアはこんな感じです。できたのでケースに収めます。

![device.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/c858d624-6e34-fed7-0008-e83048ad29f1.jpeg)

### プログラムの作成

ハードウエアができたところでプログラムを作成する必要があります。

今回はつい最近リリースされた「obniz plug-in」を活用して作成しました。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/b81810d8-e40a-b4c6-d394-b36d2e5bb4ff.png)


これを活用すると次のようなメリットがあります。

- 簡単にネットワークに接続できる
- 高頻度のデータでもロスせずに扱える
- obnizでサポートしていないセンサーを活用できる
- Webページと簡単に接続ができる

といった一からつくるより簡単にオリジナルのIoTデバイスを開発できます。

それを活用して短いコード数でプログラムを作成しました。


## 懸垂回数の表示

これも先ほど話にでた「obniz」を活用して作成しています。

普通のIoTであれば、Webとハードウエアを繋げるのには大変な苦労があります。

それは、異なるモノとモノをつなげようとしているからなのですが、obnizではその差を吸収してくれます。

あとは、簡単にHTML、CSS、JavaScriptを書くだけで、Webページが完成してしまいます。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/2bbb0d76-3892-7156-32ef-869b6b6e2630.gif)

実際に2時間ぐらいでサクッと作ることができています。

## カギの制御

鍵の制御は、SESAMEというスマートロックを購入します。

その子をこんな感じにドアに取り付けて、鍵を開けてもらいます。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/871ae2e2-9b44-82f8-7432-c02f690d9713.png)

SESAMEのいいところとして、APIとよばれるプログラムから指示を送ると鍵を開けてくれる機能があるのでそれに指示を飛ばすだけです！

いまのシェアハウスでは、Suicaや指紋認証で入れるようになっており、このAPIを活用しています。

詳しくはこちらの記事にまとまっていますので興味のある方はぜひご覧ください！

- [Suicaで開けられるスマートロックを作ってみた](https://qiita.com/wamisnet/items/b8a3f204dc604124ea34) 
- [【おうちハック】開発合宿で3人でシェアハウスの鍵管理システムを作った【チーム開発】](https://qiita.com/retoruto_carry/items/d59b9edc94475c5f2396)
-  [Raspberry pi とGoとMackerelでシェアハウスの運用しやすい鍵システムを作る ](https://qiita.com/fukubaka0825/items/979a02a93e1ebcac31f1) 


# まとめ

こんな感じで筋トレしないと鍵が開かない仕組みを作ることができました。

別記事で、プログラムの解説をした記事も用意しましたので興味のある方はご覧ください！

[【おうちハック】筋トレしないとお家に入れないようにしてみた【プログラム編】](https://wamisnet.github.io/blog/2020-07-26-chin_up_program/)

今回のこのような面白デバイスのような開発やはたまた真面目な農業用IoTといったものまで受託開発しておりますので、予算とこんなアイデア作ってみたいといったものがあればぜひ

[![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97208/9508b74b-e5f2-3da9-d352-6bc8382d813c.png)](https://wamisnet.github.io/contact/)

[お問合せ](https://wamisnet.github.io/contact/)していただければと思います。

いいねやコメント、SNSでの共有等をしてくださると、今後の励みになります。よろしくお願いします。

よかったらTwitter([@wamisnet](https://twitter.com/wamisnet))もフォローしてね！

# 別のハック記事

- [Suicaで開けられるスマートロックを作ってみた](https://qiita.com/wamisnet/items/b8a3f204dc604124ea34) 
- [【おうちハック】開発合宿で3人でシェアハウスの鍵管理システムを作った【チーム開発】](https://qiita.com/retoruto_carry/items/d59b9edc94475c5f2396)
-  [Raspberry pi とGoとMackerelでシェアハウスの運用しやすい鍵システムを作る ](https://qiita.com/fukubaka0825/items/979a02a93e1ebcac31f1) 
-  [Reactとタブレットでバーコード使ったシェアハウス物々交換システム作った話【個人開発】](https://qiita.com/wamisnet/items/1c6f809be7c4847a900d)
-  [Node-REDでシェアハウスのお風呂を爆速でハッキングする方法](https://qiita.com/retoruto_carry/items/00ec51a94d819925fad1)