はじめに

このページでは使った部材やFWおよび作るうえでのメモ書きなどを残しておこうと思います。


材料
・タカチ防水ケースWC72-21-C[マルツで購入]
マルツエレクトロニクス

・arduino nano33 ble[mouserで購入]
・ユニバーサル基盤[秋月電子で購入](使うときは必要なサイズにカッターなどで加工)
商品ページ
・L字ピンヘッダ[秋月電子で購入]
商品ページ
・L字ピンソケット[秋月電子で購入]
商品ページ
・タクトスイッチ[秋月電子で購入]
商品ページ
・ケーブル[近所のホームセンターで購入。50円/m]
低消費電力化するために
この内容は必須ではないです。電池の消耗を抑えるために以下の2つを行いました。
以下の処理を行うとFWの書き込みなどで不都合が出る可能性がありますのでお気を付けください。現在の消費電流は、接続完了後、定常状態で1.3mA程度。システムOFF時10uA程度。
Arduinoボードの3.3Vパターンカットを行う。
↓の赤で囲った箇所の細い個所をカッターなどでカットします。USBの電源から3.3Vラインへの供給がなくなります。(USBからICへの電源供給ができなくなります)
main.cppのデバッグシリアル通信を無効化
arduinoNano33BLEのライブラリをインストールしているフォルダに行き、
main.cppの40行目と41行目の
PluggableUSBD().begin();
SerialUSB.begin(115200);
をコメントアウトする。
これでSerialドライバがオフになるみたいです。FW書き込みなどでPCと接続する際はリセットボタンを2回押してブートモードにしないとPCから認識しなくなるので注意。
ちなみに自分は↓のフォルダにインストールされて、
C:\Users\{ユーザー名}\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.4
その中の\cores\arduinoにmain.cppがありました。
FW(ソースコード)
使用する場合は、ELINK_MACADDRESSに自分のELinkのMACアドレスに置き換えてください。
FWの動作として
①起動後、MACアドレスでスキャン。
②見つかったら通信確立(③へ)する。20秒間見つからなかったらシステムOFF(④へ)する。
③通信確立後、スイッチを押すと(PIN10or11のLowエッジ検出)と割り込み内でフラグを立て、メインループでElinkへの変速指示を送信。10分間スイッチを押さないとシステムOFF(④へ)する。
④システムOFF後は、スイッチを押す(PIN10or11のLowエッジ検出)と再起動して①へ。
またおまじないコード部は私の環境では動作しましたが、すべてのX Shifterで共通かは検証できていませんのでご了承ください。※動いたor動かなかったの情報いただければうれしいです笑
2020/07/23 コードの整理。不要なコードの削除やコメントの追加
回路図
回路図というほど大したものではないですが、、、
完成したモジュールの外観図
ご参考までに。。。
参考にさせていただいたサイト
ArduionoBLEライブラリ リファレンス
Arduino NANO 33 BLEをArduinoIDEで使えるようにする方法
Arduino Nano33 BLEの低消費電力化について(英語のArduinoFourum・)