自分で地震計を作って震度を計測する話（＋防災科研と特許実施許諾契約を結んで販売した話）

この記事は [防災アプリ Advent Calendar 2022](https://adventar.org/calendars/7488) の 19日目の記事になります。
昨日は @YumNumm 氏による [スマホ向け地震観測・速報アプリを開発しているお話](https://qiita.com/YumNumm/items/ef71e6f5c98b6554028f) でした。

# 3行

- Raspberry Pi Pico を使って地震計を作ってみたよ
- 自作基板と自作ソフトを作ってみたよ
- 👆をキット化して防災科研と特許実施許諾契約を結んで販売したよ

# 誰が書いたの

@nr_ck （[Twitter](https://twitter.com/nr_ck) アイコンがちーちゃん（[佐々木千穂 - はたらく魔王さま！](https://maousama.jp/character/)）の人）が書きました。
本業はC#やラズパイに関する同人誌や、同人ハードウェアを即売会で頒布しています。最近は、「[Raspberry Piで手軽にアニメを録画しよう！](https://booth.pm/ja/items/4073487)」を書いてました。
暇つぶしに電気工事からアプリ開発、システムインテグレートに、PL、コンサルまで何でもやるよろず屋をやってます。

:::note warn
筆者は気象学や地震学に精通している人間ではなく、一般的なエンジニアですので学術的な正確さは保証できない点にご注意ください。

また、今回は全体的に概要だけを書いています。
こういうことができるんだ！という発見つながればと思い書いております。
:::

# Raspberry Pi Pico を使って地震計を作ってみたよ

## Raspberry Pi Picoって？ 
[Raspberry Pi Pico](https://www.switch-science.com/products/6900)はご存知でしょうか？ おそらく、Raspberry Piは知っている方が多いと思いますが、Picoは初めて聞いたという人もいるのではないでしょうか？
Raspberry Pi Picoとはたったの5ドルで買える超イケてるマイコンです。日本円でだいたい700円ですが、大人の事情でもう少し高い値段で販売されています。

## 地震計って？
地震計とは地震による揺れの大きさを計測する機械のことです。今回は揺れの大きさから震度を算出するところまで作成します。

## 作ってみた
今回はこのRaspberry Pi Picoと市販の加速度計を組み合わせて、地震計を作成してみました！
用意するのは以下の通りです。

|パーツ|個数|用途|
|---|---|---|
|Raspberry Pi Pico|1|ADコンバータの制御や震度の算出を行います|
|AD コンバータMCP3204|1|加速度センサからのアナログデータをデジタル化します|
|加速度センサKXR94-2050|1|地震の揺れを計測します|
|LED|10|震度表示に使用します|
|抵抗|10|LEDの電流制御に使います|
|ショットキーダイオード|1|電源ICの保護に使用します|
|定電圧レギュレーター 3.3V|1|ADコンバータに安定した基準電圧を送るために使用します|
|コンデンサ|4|各種電圧のノイズを除去するために使います|
|ブレッドボード|1|基板の代わりに使います|

それぞれを、以下のようによしなに繋ぎます。
![ブレッドボード_ブレッドボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160980/0be77cc5-8a72-57fa-0f19-c7b9b44931c2.png)

実際にはこうなります。
![DSC_6980.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160980/ac34d933-c6de-30d9-35e8-860f4da8d903.jpeg)

## どうやって震度を算出するの？
震度を算出するフローは以下のとおりです。
1. 地震が発生したときの揺れを「KXR94-2050」がXYZの3軸で加速度として計測し、加速度の値を電圧で出力します。
1. 「MCP3204」で「KXR94-2050」が出力した電圧値を読み取り、12bitでデジタル化します。
1. 「Raspberry Pi Pico」で「MCP3204」からSPI通信で3軸それぞれの値を12bitで読み取ります。
1. 「Raspberry Pi Pico」は計測した加速度データを使い、[特許第5946067号] (https://plidb.inpit.go.jp/pldb/html/HTML.L/2016/001/L2016001200.html) で考案されたフィルター処理を行います。
1. 上記の処理後のデータを使用し、計測震度を算出します。
1. 計測震度に対応するLEDを点灯させます。

と、駆け足で説明しましたが、詳細は[Raspberry Piで手軽に震度を計測しよう！](https://booth.pm/ja/items/3022619)にまとめてあるため、さらに理解を深める場合はご参照いただければと思います。
つまるところ、**揺れを秋月電子で売っている数百円の加速度計**で計測して、これまた**数百円で売っているRaspberry Pi Picoで計算処理をするだけ**で自作の地震計が作れるわけです。画期的ですね！
これを自宅に設置すれば、もう自宅が観測所と言っても過言ではないですね！（過言です）

:::note warn
ちなみ、観測所であると公言すると**気象業務法第6条、同法第9条の違反**となりますのでやめましょう。
:::

# 自作基板と自作ソフトを作ってみたよ

## 基板を作ってみた
作ってみたは良いですが、ブレッドボード上で継続的に運用するのはイケていないですね。
そんなときは**自分で基板を作ってみる**と良いでしょう。
KiCadでサクッと👇のような基板を作成し、Fusion PCBに投げるだけで数週間後には自作基板が届きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160980/35878789-ce7c-24ec-6688-f8990156512c.png)

自分のサークルロゴとか入れちゃうとオンリーワン感が出てイケてますね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160980/367eac55-f47b-673f-499e-e1acb55a126d.png)

実際に各種パーツをはんだ付けして、組み立てるとこのようになります。
![DSC_6972.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160980/ded9c27a-b3ac-9fbc-cf70-cd8a913ef070.jpeg)

と、簡単に書きましたが、素人が自作基板を作るのは本当に苦労します。よく勉強してから作る必要がありますし、KiCadの使い方や、基板設計の手法は他の優秀な記事に譲ります。ちなみに筆者は**素人**です。 ~~よく作れたな？~~

## ソフトを作ってみた
マイコンと言えばC言語みたいなノリがありますが、Raspberry Pi PicoではMicro Pythonを使用できます。そのため、自作地震計のプログラムではMicro Pythonを使用しています。
Micro Pythonは組み込み用途向けに少々カスタマイズされたPythonではありますが、通常のPythonと同様の書き方ができるため学習コストがとても小さいです。またRaspberry Pi Picoへのソフトの書き込みもビルド不要で、VS Codeから直接でき（詳しくは[こちら](https://qiita.com/nr_ck/items/c9e99689fd5b3eb79506)）手軽に扱えます。

Micro Pythonでこれまたサクッと前述の震度の算出フローの内容を書き、Raspberry Pi Picoに書き込みます。
すると、LEDがピカピカと点滅しだすことでしょう！
このプログラムは[Github](https://github.com/nrck/PiDAS)で公開していますので、ライセンスに則り自由に使用ください。

## でもでも・・・・
これでイケイケな自作地震計の完成だ！　って思っていたのですが、実はMicro Pythonは処理が遅く（語弊がありますが、一旦は遅いと思っていてください）揺れを100Hzでサンプリングできないという問題を抱えていました。
しかし、 @ingen084 氏によってC言語に移植された [PiDASPlus](https://github.com/ingen084/PiDASPlus) が公開されたことにより、本件は解決しました！　（しかも本家より機能が多い！　すごい！）
本家側も改修に取り掛かっていますが、どうしてもMicro Pythonでは高速に計算ができないため、完全新規でC言語版を作成中です。なんで PiDAS Plusを使わないのか？というと、本家側ではRaspberry Pi Pico W（WiFiモジュール搭載のPico）向けにネットワーク機能を追加予定だからです。
こちらも完成したらGithubにて公開予定ですので、乞うご期待！

# キット化して防災科研と特許実施許諾契約を結んで販売したよ

パーツを揃えたり、自分で基板を作ったりするのがしんどい・・・・。でも地震計は作ってみたい！という声があったため、これらをひとまとめにしたキットを作成し「[PiDAS（Raspberry Pi Picoで作る自作地震計）作成キット](https://k-s.booth.pm/items/3054511)」として販売しています。
しかし、震度算出のプログラムでは特許を使用しており、特許を使用した商品を販売するためには特許実施許諾契約が必要になります。

ということで、行ってきました。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ということで、防災科学技術研究所のイノベーション共創本部さまに伺い、きじのしっぽで作った地震計「PiDAS」のご説明をさせていただきました！！ <a href="https://t.co/YpXu8LIjT3">pic.twitter.com/YpXu8LIjT3</a></p>&mdash; けー【12/31 C101 土曜西さ29a＊ラズパイ地震計/特許本】 (@nr_ck) <a href="https://twitter.com/nr_ck/status/1457608017977901064?ref_src=twsrc%5Etfw">November 8, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">防災科学技術研究所って言われてもわからんと言われたので（？）、強震モニタを提供してるところですよ？って言えば伝わるんですかね...？？ <a href="https://t.co/umWeJIgfWv">https://t.co/umWeJIgfWv</a></p>&mdash; けー【12/31 C101 土曜西さ29a＊ラズパイ地震計/特許本】 (@nr_ck) <a href="https://twitter.com/nr_ck/status/1457661444686708740?ref_src=twsrc%5Etfw">November 8, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

（自分の同人誌👇と自作地震計キットを持って、国立研究開発法人に乗り込むってどういうプレイ・・・？）
![表紙.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160980/ece835b3-a992-8abe-5e01-9994f5d2d0cc.png)

「おっぱいは揺れてないからね」と書かれた本を提示しながら、どういう仕組みで地震観測を行うのかという説明をしてきました。羞恥プレイ。
その時のフィードバックとして面白かったものは、「強震モニタで使用している地震計は数百万円レベルのものなのに、簡易的ではあるが1万円以下でこのような地震計が作れるのは画期的だ」「多少故障が出てもこの価格なら数で押し切れる」「予算が少ないので、こういった価格でさらに精度が出ると嬉しい」というようなものです。
一趣味で作ったものが、防災科研の方にお世辞でもそのように評価頂いたことは大変光栄でした。（当時、ご対応頂いた方々ありがとうございました！）

そのような事前説明の後に、特許実施許諾契約を結びました。契約締結までは数回メールにてやりとりを行い、条文の修正や、特許実施料（ロイヤリティ）の調整を行いました。お仕事で契約周りやってなかったら詰んでたよ・・・。
実際の契約内容については守秘義務があるため、大きくは言えませんですが、PiDASが1つ売れる度にxxx円が防災科学技術研究所に支払う形になっています。もし、防災科学技術研究所の予算を潤わせたいのであれば、PiDASをたくさん買うと良いでしょう。（私も、たくさん特許実施料を払えるように頑張って販路拡大していきます。）

もし、防災科学技術研究所が所有する特許権の内容を自身のプロダクトに組み込んで販売を行いたいときは、実際に自分で説明に赴き、特許実施許諾契約を結んでみると良いでしょう！
防災科学技術研究所は社会通念上問題が無いような商品であれば、特許実施許諾契約を結んでくれるはずです！

# 最後に

大変とりとめのない文章となってしまいまい申し訳ありません。
サークル「きじのしっぽ」は2022年12月30日～31日に開催されるコミックマーケット101に参加します！
上で説明した書籍やキット、また新刊として「[やさしい日本語で読む特許公報！](https://booth.pm/ja/items/4381968)」を頒布予定です。特許公報の題材として、PiDASで特許実施許諾契約を結んだ「特許第5946067号 計測震度概算装置及びそれを用いた計測震度概算システム」について、やさしい日本語で解説をしております。
地震観測において、どのようにリアルタイムな震度を算出しているのかが、特許の内容から理解できますのでご興味があればお手に取っていただければと思います！

この記事がきっかけで電子工作や地震観測、特許実施許諾契約へ興味を持っていただければ幸いです。
最後まで読んでいただきありがとうございました。
ご指摘、ご感想はコメント、もしくはTwitterまでどうぞ！