楽しそうなことをしています(^^)
SONY α7II + FE 90mm F2.8 MACRO G
大好評(か?)の自転車盗難アラーム装置製作の3回目です。
前回は、子機をツールボトルのキャップ内に収める方向で作っていくことが閣議決定されました。
今回は、順番が後先の気もしますが、望み通りの動きができるか電子回路の実験を行ってみました。
どんな動きをするのかな?
今回作る、自転車盗難アラーム装置は、ボトルキャップに内蔵した子機とスマホの組み合わせで、以下のような動きをするシステム(と言うほどではないですが)を予定しています。
- 振動センサーで揺れを検出
- LED(8×8マトリクス)で「盗まないでネ」的な表示と音声合成による警告
- スマホのLINEに「盗まれそうです!」という通知
- スマホからGARMINウォッチにも「盗まれそうです」通知
- スマホからの操作で子機の警報停止
4.はGARMINさんの仕様なので言いすぎですね(笑)
自転車盗難アラーム装置としては、1~3、5を実装予定です。
実験回路作成
実験は、いつものようにブレッドボード(電子ブロックのような板)に部品を差し込んでやってみます。
それに先立って回路を考えますが、今回はセンサの増幅や比較などの面倒な回路はなく、周辺回路をマイコンにつなぐだけなので簡単です。
とりあえず、こんな回路で実験してみましょう。
振動を検出するセンサーは、傾きセンサー、加速度センサー、地磁気センサーなどいろいろありますが、とりあえず一番簡単な傾き(振動)スイッチでやってみることにしました。
ちょん、とつつけば瞬間的にON・OFFになるスイッチです(内部は水銀?)ので、前の状態と一瞬でも変化が出たらその状態を検出して「盗まれそう」という認識をして、各種動きを始めればよいかと。
真ん中の米粒みたいな部品が、傾き(振動)スイッチです。
SONY α7II + FE 90mm F2.8 MACRO G
音声合成はいつも使っている、AQUEST社のATP3012というICを使い、マイコンからのシリアル伝送で「ローマ字」を送ることで任意の音声を作り出し、その先につないだD級アンプで増幅してスピーカーを鳴らします。
表示回路は、8×8のLEDを並べたマトリクスLEDで、絵や文字をスクロールさせて表示させてみます。
回路自体はとても簡単ですので、30分ほどでこんな感じに組んでみました。動くかな~?(^^)
回路図通り、ブレッドボード上に組んでみました。
SONY α7II + FE 90mm F2.8 MACRO G
プログラムして実験成功! しかし・・・?
回路を組んだ後は、マイコン用にプログラムを書きます。
今回使うマイコン、ESP32のプログラミング言語は「C++言語」ですが、ここ数年、PythonやKotlinといった親切丁寧な言語ばかり使ってきたので、なかなか思い出せず難儀します。
なんども、コンパイラから「行末のセミコロンがねえぞ!」と怒られながら、とりあえず、実験用プログラムを書いてコンパイルし、USBでマイコンに転送し、恐る恐る実行してみると、意外や意外、一発でちゃんと動作してくれました!
待ち受け状態ではニコニコマークが点滅し、わずかな振動を検出すると、お怒りマークに変わり、「盗まないでください」的な音声警告も出ます。
また、同時にスマホのLINEに通知が飛び、ForeAthleteにも通知が出ました(^^)
おぉ、お怒りマークに変わっている(笑)
SONY α7II + FE 90mm F2.8 MACRO G
これで、実験回路は大成功!
・・・のはずだったのですが、思わぬ落とし穴が。
実験で使ったマイコンは、Expressif社の「ESP32」というチップを用いた、SwitchScience社の「ESPr Developer32」というマイコン。
青い基板で格好いい(個人の感想です)のですが、ちと縦長の基板形状をしていて、ボトル内部にはギリギリ入らないことが判明(!)
青いマイコン、ESPr developwer32。ボトルに入らないじゃん!!
SONY α7II + FE 90mm F2.8 MACRO G
そんなの、子機ボディの設計段階で気が付けよ、という感じですが、よくよく見ると自分で設計した3Dモデルでも、ちゃんと(?)ボトル内側に引っかかっている様子がわかりました・・・(トホホ)
マイコンを入れ替えて、再実験完了!
心臓部であるマイコンがボトルに入らない、という衝撃の事態。
まさかボトル(の直径)を大型化させるのは無理すぎるので、同じESP32チップを使いながら、もう少し小さいマイコンに変更することにしました。
こちらは、本家Expressif社の作る「ESP32 devkit C」というマイコンで、サイズはESPr Developer32よりも10mmほど小さいうえにお安い(1000円)という素晴らしいマイコンです。
今回の使用部品。真ん中上のデカい基板が、ESP32 devkit C。
SONY α7II + FE 90mm F2.8 MACRO G
むしろ、「なんで最初からこっちにしなかったのか?」という感じですが、これを見越していたのか、部品箱には3個も持っていたので、先見の明ありです(?)
同じ過ちを犯さないように、まずは実物がボトル内に入ることを確認します。
ほっ、無事に入りました!(^^)
SONY α7II + FE 90mm F2.8 MACRO G
無事に収まりました(^^)
「ESPr Developer32」と「ESP32 devkit C」は同じチップを使っているくせに、ピン配置が全く異なるので、回路設計はやり直しです。
回路構成をやり直してみました。動くかナ?
SONY α7II + FE 90mm F2.8 MACRO G
といってもつなぐ先を変えるだけですので、すぐに再構築完了。
当たり前ですが、動作実験も無事に終了です。
一連の動作を、動画撮ってみました。
つづく
さて、子機のボディ製造、電子回路の実験までできました。
次回からは、これらの回路を子機ボディの中に押し込んでいく作業になります。
予想外に(いつものことですが)狭い空間に回路を押し込むことになりそうで、ちと大変な気もしていますが、ここからが面白いところでもあるので、失敗を繰り返しながらやっていきましょう。
つづく
ステップ | 内容 | 詳細 | ステータス |
---|---|---|---|
1 | システム全体の構想 | 検出、通知方法、親機・子機の組み合わせなど | 完了 |
2 | 子機のデザイン・モック | 形状、配置方法、印刷方法 | 完了 |
3 | 子機の回路実験 | 揺れ検出、通知、警告、電源管理など | ★イマココ |
4 | 子機の回路製造 | 全パーツを子機内部に詰め込む | |
5 | 子機のプログラミング | 待ち受け、通知、停止受付 | |
6 | スマホ用アプリ作成 | 警報停止 | |
7 | 全世界向け販売開始 | 年1個くらい |
まずは、丸い基板を作るところからスタートです(^^)
SONY α7II + FE 90mm F2.8 MACRO G