LoginSignup
1
0

More than 5 years have passed since last update.

アオノドンワークショップテキスト

Last updated at Posted at 2018-08-25

BLEトレーニングボードアオノドンを使って、以下のようなワークショップを行います。そのテキストです
image

インストール

http://arduino.cc から、ダウンロード

image

インストールして、起動するとこの画面になります

image

「ファイル」- 「環境設定」 - 「追加のボードマネージャのURL:」に
https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json
と入力してOK

「ツール」 - 「ボード:・・・」の一番上の「ボードマネージャ...」
で検索窓に「Nordic」と入力すると
「Nordic Semiconductor nRF5 Boards」と出るので選択して「インストール」

環境依存の設定

更にドキュメント https://github.com/sandeepmistry/arduino-nRF5 に沿って環境(Windows/Mac/Linux)に応じた設定をします。

Mac OSXの場合

特に追加作業は必要ありません

Windowsの場合

以下のようにST-Linkのドライバをインストールするだけでいいみたいです。
http://www.st.com/ja/development-tools/stsw-link009.html
このページから STSW-LINK009 をダウンロード、インストールしてください。

なお、"libusb error not supported" エラーが出る場合は、上記の作業ができていない場合に発生するようです。

Linux64の場合


sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libstdc++6:i386 libncurses5:i386 libudev1:i386

なお、 libc6:i386 が不足している場合、以下のエラーが発生する。


arm-none-eabi-g++: no such file or directory

また、


openocd: error while loading shared libraries: libudev.so.1: cannot open shared object file: No such file or directory

でエラーが発生する場合は、


sudo apt install --reinstall libudev1

で対処。
また、


Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
Error: open failed
in procedure 'program' 
in procedure 'init' called at file "embedded:startup.tcl", line 473
in procedure 'ocd_bouncer'
** OpenOCD init failed **
shutdown command invoked

が発生した場合、

(Arduinoフォルダ)/Arduino_STM32-master/tools/linux64/install.sh

を実行する。

また、以下も必要かも。(未検証)

$ sudo apt-get install libusb-1.0

書込プログラムを配置(SoftDeviceを使う場合)

Arduinoスケッチフォルダにtools/nRF5FlashSoftDevice/tool/
を作り、nRF5FlashSoftDevice.jarを格納。

jarファイルはこちらから。

僕の場合はポータブル環境として arduino-1.8.5_nRF5というフォルダを作っているので、
その中に/tools/nRF5FlashSoftDevice/toolsフォルダを作りました。

ターゲットボードなどの選択

image

「ツール」 - 「ボード:」を
「Generic nRF52」 にする。

「ツール」 - 「書込装置:」を
「ST-Link V2」 にする。

「ツール」 - 「Softdevice:」を
「S132」 にする。

動作テスト

ST-Linkを接続して動作確認します

最低限は以下のようにして使います。

IMG_20180708_141200.jpg

ST-Linkに付属しているケーブルの色はいくつかパターンがあります。自分の色に合わせて参照して下さい。
IMG_20180825_153018.jpg
IMG_20180825_153444.jpg

マイク端子を使ってLチカをするコードです

image

うまく書けたら上図のようなメッセージが出ます。(環境設定で「書き込み」を「より詳細な情報を表示する」にしています。)

抵抗付きLEDを差し込んで、動作確認します。

IMG_20180708_142107.jpg

Ardublock を設定する

Ardublock環境をダウンロード、インストールします。

https://ja.osdn.net/projects/akbone/downloads から ardublock-all.jarをダウンロードします。

tools フォルダ中の ArduBlockTool/tool フォルダを作って配置

tools フォルダは、通常の場合はドキュメントフォルダのArduinoの中です。
・portable環境の場合はportableフォルダを置いているところと同じ所にあります。

テキスト「光の流れ」

image

https://ja.osdn.net/projects/akbone/releases/p15816
より、テキスト「光の流れ」リリース6(アオノドンバージョン) を参照して、学習していきます。

拡張課題

image

この、スイッチの代わりにセンサーを使う方法です。
例として、写真のような光センサを接続してみます。
IMG_20180825_231841.jpg

この光センサはCdSといい、暗くなると抵抗が上がり、明るくなると抵抗が下がります。GL5516というタイプでは、暗い時 0.5MΩ,明るい時 5~10kΩぐらいになります。

極性はないので、下の写真のように接続します。

IMG_20180825_235902.jpg

3V3に接続した抵抗で、感度を調節することができます。
写真では、2kΩ(赤黒赤金)を2本使って4kΩとしています。
GPIO4番(右端から6番目)のデジタル信号として入力できます。
このままで、アナログ信号としても取り込めます。GPIO4番は、AIN2として機能します。
しかしながらアナログ信号として取り込む場合は下図のようにシリアルアダプタを接続し、値を確認しながら調節するのがいいでしょう。

IMG_20180826_001205.jpg

また、以下のようなセンサーキットを活用にチャレンジしてみましょう。

IMG_20180825_230928.jpg

アオノドンのGPIOは3.3V出力ですが、旧来のArduinoのように5V出力でないとうまく動かないものもあるので全部が動くわけではありません。しかし下図の傾きスイッチのようなデジタルで信号が取れるものは、あまり気にせずに簡単に動かすことができます。

IMG_20180825_235121.jpg

この傾きスイッチは、水銀が下に移動するとスイッチが入ることになります。
ピン配置は様々ですが、これに類したセンサーは上からGND,3V3,信号線に接続すれば動きます。

IMG_20180825_233416.jpg

センサー以外にも、レーザーエミッタ−などの出力モジュールもあります。楽しみましょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0