ジェイソン・ステイサムが犯人を撃退してくれる防犯サービスを作って、ステイサムへの想いを爆発させたら、ハッカソンで受賞しちゃったよ【M5Stack】

先日、人生２度目のハッカソンに参加してきました！
[M5Stackハッカソン](https://mashupawards.connpass.com/event/188452/)といって、M5Stackというマイコンモジュール縛りのイベントでした。
そして、なんと！！！ありがたいことに__　オーディエンス賞　__をいただくことができました！

せっかくなので、ハッカソンで作った作品についてQiitaにまとめようと思います！

#盗難防止サービス「SPステイサム」
私が作ったのは、__ジェイソン・ステイサムが犯人を脅してくれる盗難防止サービス、その名も「SPステイサム」__です！

大切なものの側に「SPステイサム」を置いておくと
誰かが触れたときに警告音と共に、ステイサムの画像で犯人を脅すことができます。

最初はピーピーという警告音なのですが、10秒たつとピーーーーー！！と音量が上がり、
__本気でステイサムが銃を向けてきます。__

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">SPステイサムの10秒カウントからの、本気スイッチ入るとこまで。<br><br>ステイサムに銃を向けられるというこの世で最大の恐怖。 <a href="https://t.co/TftEWu7itL">pic.twitter.com/TftEWu7itL</a></p>&mdash; カレー大好き★たわちゃん (@tawachan1128) <a href="https://twitter.com/tawachan1128/status/1308709117750468608?ref_src=twsrc%5Etfw">September 23, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
__さらに、LINEにもステイサムから通知が飛んできます！__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670338/85c0ed24-718c-395c-9f2e-99add21ea230.png)

ジェイソン・ステイサムという人類最強の男が守ってくれる、とても頼もしいサービスです♪

「ステイサムと(に)～～～したい・されたい」という夢が198739201個ぐらいあるのですが、
__「ステイサムに守られたい」__という1つの夢が叶えられて、私は本当に幸せを感じております。

#「SPステイサム」を思いついた経緯

__[『メカニック』](https://youtu.be/Ihy2MCscK58)__というジェイソン・ステイサム主演の映画からヒントを得ました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670338/5f811ca1-414b-eaf3-4049-df29729c0361.png)
映画内でステイサムは完璧な殺し屋を演じているのですが、他人が彼のものに触れると、
彼が仕込んでいた仕掛けにより爆発が起きるというシーンがあります。

そのシーンが__So Cool__なので、私もそのかっこよさを自身の作品で表現したいと思い、
「SPステイサム」を作ろうと考えました。

#POINT
###光センサーを使って、対象物が動いた時に「SPステイサム」を発動させる
本当は距離センサーや加速度センサーを使って、距離や動きを読み取ろうと思ったのですが、
私の手元にあったM5Stackとパーツでは実装できないことが判明…。
ハッカソンで買い出しにも行けなかったので、光センサーで代用しました！
[![Image from Gyazo](https://i.gyazo.com/f35a6fbe33b8f0a0773db1a3f6cf93c3.png)](https://gyazo.com/f35a6fbe33b8f0a0773db1a3f6cf93c3)
このウネウネしてる面で光を感知するので、この面を対象物にピッタリくっつけておくとデフォルトの値が0となります。
対象物が少しでも動いて光が入り込み、値が0以上になるとM5Stackが反応するようにプログラムを組みました！

###音の微調整＆音と一緒にステイサムの画像も表示させる
発動したときに、10秒カウント→本気の警告といった段階を踏みたかったので、
UIFlowを下図のようにしました。
[![Image from Gyazo](https://i.gyazo.com/4539882cb186ee8e51e359912ba6bf75.png)](https://gyazo.com/4539882cb186ee8e51e359912ba6bf75)

36ピンから光センサーの値を読み取り、0以上だったら（対象物から離れていたら）発動します。
最初はスピーカーの音量１で、ピーピーと断続的な音。
ステイサムも「10秒だけ待ってやる」と、__少し猶予を与えてくださります。__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670338/b87df2eb-7f56-5aa4-1655-478ee9bad72f.png)

10回ループしたのちに、再度光センサーの値を取得し、0以上のままだと
__音量が50に爆上がりし、音もピーーーーーーっと変化します。__
ステイサムも本格的に銃をかまえ、「覚悟しろ」と__本気で脅してきます。__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670338/d4752b84-e3f3-2058-52a2-94d862527027.png)

画像の表示も綺麗にするように結構こだわったので、気になる方はこちらの記事もご覧ください！
▶[【M5Stack初心者向け】UIFlowでM5Stackのディスプレイに写真を表示させる時の細かい注意点](https://qiita.com/twtjudy1128/items/febd484df808c005419c)


###LINE Notifyで、LINEに通知が来るようにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670338/85c0ed24-718c-395c-9f2e-99add21ea230.png)

通知の送り方はこちらの記事参照！
▶[【初心者向け】M5StackのUIFlowからLINEに通知を送れるようにする方法【LINE Notify】](https://qiita.com/twtjudy1128/items/e4980be7ffd1b465144a)

ここで地味にこだわったのは、__イギリス英語。__

ステイサムはイギリス出身で、とにかくイギリス訛りが強いらしい！（私は英語話せないのでわからないから悔しい）
なので、荷物はbaggageではなく、__luggage__というイギリス英語を使うことで
本当にステイサムからLINEが来ているように演出しました。

たったそれだけ…って思うかもしれませんが、これが__私のステイサム愛__なのです。
###設定したコマンドを押せば処理を停止できる
発動してずっと鳴りっぱなしだと困るので、あるコマンドを押すと処理を停止できるようにしました。

M5Stackにはボタンが３つあるので、ABCそれぞれのボタンを押すと、リストの最後尾にABCと値が保存されるようにしました。
[![Image from Gyazo](https://i.gyazo.com/bf86f82fb723f84cdd5db3219cff051a.png)](https://gyazo.com/bf86f82fb723f84cdd5db3219cff051a)

そして、リスト内の値が「ABABACAC」になった時にループを抜け出して音が止まるようにしました。
[![Image from Gyazo](https://i.gyazo.com/bff84ae1378362dcfa6d5b044fbde0db.png)](https://gyazo.com/bff84ae1378362dcfa6d5b044fbde0db)
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">コマンドを押すと音が止まるSPステイサム。<br>ステイサムが私の指示に従っている、、、ゾクゾクする、、、 <a href="https://t.co/wgEAJ3p9NH">pic.twitter.com/wgEAJ3p9NH</a></p>&mdash; カレー大好き★たわちゃん (@tawachan1128) <a href="https://twitter.com/tawachan1128/status/1308724826253656065?ref_src=twsrc%5Etfw">September 23, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

#ハッカソンで感じたこと～なぜ受賞できたのか～
ハッカソンに参加するのは2回目ですが、前回はチームを組み、今回は完全なるボッチで臨みました。

正直、技術レベルだと全然大したことはしてないので、私が評価いただけたのは__「好き」という想い__だと思っています。

防犯サービスで音が鳴るというシンプルな仕組みに

__「ジェイソン・ステイサムに守られたい」__
__「ジェイソン・ステイサムの魅力をもっとみんなに伝えたい」__
__「とにかくジェイソン・ステイサムが好き」__

そんな想いをたっぷり上乗せすることで、私にしか作れないサービスを作れたのが良かったのかな。

そして、その魅力や想いをきちんと発表で伝えられるかどうかも大事だなと感じました。

ハッカソンでは少ない時間で作品をプレゼンしないといけないので、
いかにそこで__「伝えられるか」__が肝になってきます。

どんなに素晴らしい作品を作っても、デモが動かないとか、プレゼンで淡々と技術的な話をしてるだけだと
作品の魅力は全く伝わりません！！！

なので私はとことん発表にもこだわり、__2時間半は発表準備に費やしました。__
普通に資料やデモ動画では伝わらないと思ったので、__ミニドラマで表現しました。__

その発表時に使った動画を再現したのがこちらです。

__▶ [「SPステイサム」M5Stackハッカソン発表動画](https://youtu.be/BQGOp3rf7Oc) (２分)
　※YouTubeに飛びます__

ハッカソンの後、お酒飲み過ぎて声カッスカスになっちゃってすみません。笑
かつ、周波数の関係なのかM5Stackの音が全然聞こえないのですが、ちゃんとピーピー鳴ってます。

ハッカソンでは生でアテレコしたので、もっと興奮が伝わっていたかもしれませんが、
この動画からもステイサムへの想いや、サービスの魅力が伝わっていると嬉しいです！

ご覧いただけた方、ありがとうございます！

__これからも、「好き」を原動力に学ぶこと・作ること・表現することを楽しんでいこうと思います♪__

###(*^^)v「よろしければLGTMもよろしくお願いします！」