n_shinichi’s blog

★記事一覧★から見てください...(すみません、メニュー、リンク、カテゴリー分けがうまくできてません)    日々の備忘録、思い付きで追記して、見直しせずアップするので誤字、脈絡が変とか多し。 NHK魔改造の夜ではDンソーのベテランアドバイザーってことで出ました♪

MENU

Nordic製 nRF52832 実装の Raytac製 MDBT42V ・・・その6 BLE通信操作でLチカ

マイクロロボの使うマイコン変えてみることにした。

 

今年は特に低消費電流を狙ってATtiny1614で攻めて?みてた。

 去年より小さく軽くなった。 去年はなかったライントレースモードも追加。

無線通信は赤外線でM5Stack、スタックチャンと中継通信して、

 BLEでスマホと通信してラジコンで操縦にしてた。

 

ソフトはちょこちょこ変更する、ハードもちょこちょこ変わる。

 ATtiny・・・M5Stack ・・・スマホ 管理が思いのほか大変だった。

  というより管理で来てなかった。組み合わせが???になることしょっちゅう。

 

また思った以上に赤外線、小さいチップで感知角広げたモノだと感度が低い。

 テレビリモコンにみたいにけっこう向きでたらめでもいけるの期待したけど

 いまいちだった。

 やたら指向性が効いちゃってるというか赤外線LEDと受信モジュールの

  向きをかなり気を使わないといけなかった。

  距離も思ったより離せないし。

 

で、ATtiny、モータの駆動能力が思った以上に弱かった。

 20mAがやっとな感じ。

 ESP32は40mAとか言っても、突入電流はもっと流せてた。

  行儀のいい使い方じゃないけど。

 

こちらは去年作ったマイクロロボ ESP32版

 MOUSERコンテストでも優秀賞頂いた♪

 マイコンは必要以上に高性能・・・

   こんなんでもWiFiサーバーになっちゃうし。

 BLE使える範囲で80MHzまでクロック落としたりしてもそこそこ

 大電流消費だった・・・フツー?の電子工作からすると小さい方だけど。

 

ってことで・・・

マイコンを次のマイクロロボでは変えてみようと思う。

 やっぱし無線はほしいので今度はBLE使えて、小さいマイコン...

 Nordicの nRF52832 にしてみようかと思う。

 Raytacが 小さいモジュール MDBT42V とか出してる。

   最初の写真のやつ。

 サイズはATtiny1614と同じくらい。

  ポートの数はずっと多い。ATtinyより配線、ハンダ付けは気を遣うけど

  0.4mmピッチのVQFNほどではない。。。

 

ブレッドボードでテストする準備 動かないようにちょっと接着剤でつける。

 

書込み線はこの辺に配置。

 

書込み線と、Lチカ用のポート1本引き出して配線

 

配線は 5本だけ 電源、書込みのクロック&データ線、Lチカ用のLEDポート

GND :  1

VDD : 20

CLK :  2

DIO :  4

P16(LED):6

 

拡大するとこんな感じ

 

 

◆書き込み器

ST-LINKが使えます。 1円玉に乗ったATtinyくんは飾り

ST-Linkのドライバは
http://www.st.com/ja/development-tools/stsw-link009.html
このページから STSW-LINK009 をダウンロード、インストールです。

(会員登録が必要です)dpinst_amd64.exe を実行します。

 

 

◆nRFボードのインストール

  1. ArduinoIDEで「ファイル」メニューより「環境設定」を開き、「追加のボードマネージャのURL」に
    「 https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json 」を追加する。
  2. ArduinoIDEで「ツール」メニューより「ボード:"Arduino Uno"(選択されているボードは異なる場合あり)」に進み
    「ボードマネージャー」を開く
  3. 「Nordic Semiconductor nRF5 Boards」のボードをインストールする。(今回はv0.8.0をインストールしました)
  4. ボード一覧に「Nordic Semiconductor nRF5 Boards」が追加されるので、その中の「Generic nRF52」を選ぶ

Arduino nRF Boards は入れてない。



 

 

 

◆SoftDeviceの準備 ArduinoIDEツールメニューに書き込みメニューの作成

  nRFではBLEはソフトで実装されるので。

Arduinoスケッチフォルダにtools/nRF5FlashSoftDevice/tool/
を作り、nRF5FlashSoftDevice.jarを置きます。

  1. https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/nRF5FlashSoftDevice.jar
    をダウンロードする。

  2. C:\Users\ユーザー名\Documents\Arduino フォルダ内に、tools\nRF5FlashSoftDevice\tool フォルダを作ります。

  3. ダウンロードしたjarファイルを、
    C:\Users\ユーザー名\Documents\Arduino\tools\nRF5FlashSoftDevice\tool\nRF5FlashSoftDevice.jar
    の場所にコピーします

  4. ArduinoIDEを再起動します。

★ここで、書込もうとしてもArduinoIDEからは対象のhexファイルはダウンロードできずエラーになる。

 

◆SoftDevice.hexの準備 手作業で。

ArduinoIDE内からだとDLできないらしいので。。。手動でやります。
ブラウザでエラー内のURL(https://www.nordicsemi.com/-/media/Software-and-other-downloads/SoftDevices/S132/s132nrf52201.zip )にアクセスし、手動ダウンロードします。

  1. ダウンロードしたzipを解凍し、「s132_nrf52_2.0.1_softdevice.hex」を
    C:\Users\ユーザー名\AppData\Local\Arduino15\packages\sandeepmistry\hardware\nRF5\0.8.0\cores\nRF5\SDK\components\softdevice\s132\hex
    フォルダにコピーします。
  2. 再度、「nRF5 Flash SoftDevice」を選択します。「Error while flashing SoftDevice.」というエラーが出ますが、まだデバイスをつないでいないためなので、問題ない。

 

こちら参考にさせて頂きました。

qiita.com

 

 

 

ArduinoIDEのツール設定はこんな感じ

 

 

 

定番・・・のLチカのスケッチです

 コンパイル時間、ATtinyよりはずっと時間掛かるけど、ESP32よりはずっと早い。

 

定番・・・の Lチカです

 

Â