初めての Arduino 入門 (後編)

生まれて初めて勉強してみる。目指せ、鉄道模型の自動制御システム!(^_^)
3
戸田プロダクション @TodaProduction

というわけで今回の実験はあくまでもその1、引き続き Arduino の「I2Cインターフェースの使い方」について、これから勉強したいと思う。

2018-12-10 10:37:46
戸田プロダクション @TodaProduction

本日の Arduino - Project 25: ADXL345 Three Axis Acceleration Module (2) I2C勉強開始。とりあえず「Aruduino I2C」でググり、以下の2記事を熟読。 Arduino を30分でI2C通信する qiita.com/MergeCells/ite… Arduino でI2C通信でセンサから値をとってみる qiita.com/hurusu1006/ite…

2018-12-10 14:16:01
戸田プロダクション @TodaProduction

i2c_scanner playground.arduino.cc/Main/I2cScanner 記事の中で紹介されてたデバイススキャナを実行。確かに「ADXL345」が1個だけ接続されていることを確認。デバイスのアドレスは「0x53」、これは仕様書(p17)「SDO/ALT ADDRESSピン接地時は 0x53 がI2Cアドレス」に一致した。 pic.twitter.com/JMYYPz6Kv4

2018-12-10 14:17:14
拡大
戸田プロダクション @TodaProduction

次に、最初の記事の内容に従って ADXL345 から1バイトの読み込みを実行。結果には「229」が返ったが、これって十六進では「0xE5」だよね? なんでさっきの「0x53」が返ってこないのか?イマイチ疑問。 pic.twitter.com/6T7yiczly7

2018-12-10 14:17:58
拡大
戸田プロダクション @TodaProduction

引き続き ADXL345 のレジスタマップ見て、値が入っていそうな DEVID(0x00) と BW_RATE(0x2C) を読み出してみた。ちゃんと読めた(と思う)。「さっきの1バイトリードの返り値は DEVID だったんだな?」と納得。ここから 0x32(DATAX0) とか読みに行けば加速度が判るんだろうが、その先が面倒臭そうw。 pic.twitter.com/xaBpY5djbF

2018-12-10 14:18:54
拡大
戸田プロダクション @TodaProduction

第5回 Arduino 入門 I2C通信編 monolizm.com/sab/pdf/%E7%AC… とりあえず1バイトリードと双方向通信が出来た?あとこのPDF読んだら、一番最初に実験した時よりずいぶん内容が理解出来た。しかし加速度って難しいな。もっと簡単な内容が返る「練習用」ICとかがあれば良いのに…(^_^;)。

2018-12-10 14:21:18
戸田プロダクション @TodaProduction

ふー、色々なサイト記事と ADXL345 の仕様書を見て、とりあえず今日のスケッチをでっち上げてみた。一応シリアルモニタに数字が出力されたから、今日はもうこれで良しとする。データフォーマットと Power_CTL 設定値が正しいか?まではよう判らん。 pic.twitter.com/qTdOH6vPWm

2018-12-10 16:37:30
拡大
戸田プロダクション @TodaProduction

アナログセンサと違い、I2Cインターフェースのセンサを読むのは難しいね。そう思ってもしや?とライブラリを検索してみたら、いくつか ADXL345 用ライブラリもあるようだ。ちょっと見た限りではコードもずいぶんラクになる様子。この先の人生で、加速度センサを使う日がくれば検討させてもらうw。 pic.twitter.com/S1BQoVxKWJ

2018-12-10 17:13:19
拡大
戸田プロダクション @TodaProduction

本日の Arduino - Project 26: HC-SR04 Ultrasonic Sensor wiki.keyestudio.com/index.php/Ks00… 今日は超音波距離センサを使って距離を測る実験。センサモジュールを Arduino に取り付けるだけ。ここんとこ keyestudio 製モジュールが続いたが、今回モジュールは汎用品?ゆえ、久しぶりに Fritzing 絵を描いた。 pic.twitter.com/i05qOKYOt6

2018-12-11 15:22:54
拡大
戸田プロダクション @TodaProduction

超音波距離センサ「HC-SR04」データシート akizukidenshi.com/download/ds/sa… キット付属品は巷で不評な2穴タイプではなかったが、基板の裏とか結構汚なかった。トリガを 10μS 以上 HIGH にすれば 40KHz パルス波が8回発射され、戻って来るまでの時間を測ることで距離を算出することが出来るらしい。 pic.twitter.com/WrNqzK74lL

2018-12-11 15:25:13
拡大
戸田プロダクション @TodaProduction

実験結果。装置全体を机と同じ高さに置き、そこから床面までの距離を測定した時「概ね69~70センチ」、装置をひっくり返し天井までの距離を測定した時「概ね150~160センチ」が表示された。外部環境により「音速」は変化するため、精度を求めるなら気温や湿度による補正考慮が必要となる由。 pic.twitter.com/tUb76WnjVm

2018-12-11 15:26:02
拡大
戸田プロダクション @TodaProduction

いやいや、そんなことよりもさ、自分としては是非とも測定した数字をシフトレジスタ経由で4桁7セグ表示させたいと思ったのだが、これが全然上手くいかず泣いている (T_T)。タイマ割り込み使っても、外部割り込み使っても、ダイナミック点灯のタイミングがまるで合わない (^_^;)。完全お手上げ状態。 pic.twitter.com/i0PSfkQNvm

2018-12-11 15:32:01
拡大
戸田プロダクション @TodaProduction

本日の Arduino - Project 27: Joystick Module wiki.keyestudio.com/index.php/Ks00… 今日の実験はジョイスティックの使い方。すごいな、こんなパーツまでお手頃価格で広く流通してるんだな…と感動する。大昔の人々は「ラジコンプロポの作り方」という本を読んで自作してたというのに (自分は読んだだけ w)。 pic.twitter.com/09csjzfoxG

2018-12-12 13:50:41
拡大
戸田プロダクション @TodaProduction

これが学習キット付属の keyestudio 製モジュール。秋月電子で売ってる他製品と比べても、決して遜色ない高級感が漂っていると思う。X軸Y軸がアナログ出力、Z軸 (押ボタン) がデジタル出力。手を離すとセンターポジションに復帰するオートリターン機能付き。使い勝手が良いし、応用範囲も広そうだ。 pic.twitter.com/VuD41X7iRy

2018-12-12 13:53:41
拡大
戸田プロダクション @TodaProduction

本日の実験動画。あいにくサーボが1個しか無いのでこんな動画しか撮れないが、2個あればもっと面白いことも出来ると思う。是非とも鉄道模型のレイアウトギミックの操作に応用してみたい。押しボタンによるLEDの点灯は、昨日4桁7セグのダイナミック点灯で失敗した「外部割り込み」を使ってみた。 pic.twitter.com/7hVdyt0Szy

2018-12-12 13:55:54
戸田プロダクション @TodaProduction

本日の Arduino - Project 28: 5V Relay Module wiki.keyestudio.com/index.php/Ks00… 今日は Arduino で5Vリレーモジュールを制御する実験。「電子」部品であるマイコンで、ご家庭の「電気」製品の電源コントロールを行なう。鉄道模型のレイアウトにも応用出来る?ため、以前から是非確認したい実験だった。 pic.twitter.com/ekW2WAp3JK

2018-12-13 12:54:00
拡大
戸田プロダクション @TodaProduction

これが学習キット付属の keyestudio 製5Vリレーモジュール。1次側は Arduino の5V電源、2次側はなんと5A250VACまで駆動可能というから驚きだ。こんなちっぽけなリレーで、ご家庭の100V商用電源が制御出来るとは思わなかった。まさか仕様書を読み間違ってるんじゃないだろな? pic.twitter.com/qmcx0OhH4P

2018-12-13 12:56:34
拡大
戸田プロダクション @TodaProduction

事故防止のためだろうか? 教本の回路は実に気弱で?LEDを光らせるだけだったが、ここは是非とも100V電源を制御してみたい。というわけで朝からせっせと実験装置をこしらえた。メチャクチャ簡単な回路だが、これを「実験装置」と呼ぶと 映画やアニメに出てくる博士みたいでテンション上がるw。 pic.twitter.com/4C6wTe1UKj

2018-12-13 13:11:08
拡大
戸田プロダクション @TodaProduction

リレーの2次側は真ん中がコモンだと思うが、両端が NC と ON になってるのが気になった。調べたら普通は NC (Normally Close)、NO (Normally Open) と表記されるはず。念のためテスタを当てて調べたら、ON が NO に相当する動作をした。(リレーが作動すれば)ONになりますよ、と言いたいのだろうな? pic.twitter.com/9q4sfRug07

2018-12-13 13:14:55
拡大
戸田プロダクション @TodaProduction

いよいよ実験動画。教本スケッチをそのまま実行したら見事に100Vが制御出来て、白熱電球が交互に点滅を繰り返した! あのちっぽけなリレーモジュールは本物だ。動作中に触ってみたが特段熱くも感じない。もっとも、基板の裏は端子がむき出しだから、出来れば絶縁するに越したことはないと思うが。 pic.twitter.com/HpsCNOh1Er

2018-12-13 13:25:51
戸田プロダクション @TodaProduction

本日の Arduino - Project 28: 5V Relay Module (番外編) こんな動画を撮ってみた (^_^)。「Arduino で制御する白熱電球モールス信号」 ただし このモールス信号、正しいのかどうか? ちょっと自信がない (^_^;)。 pic.twitter.com/GnnWSvs7mv

2018-12-13 14:31:35
戸田プロダクション @TodaProduction

このスケッチにバグがありませんように… pic.twitter.com/gftq4OCXep

2018-12-13 14:37:20
拡大
戸田プロダクション @TodaProduction

新しい Arduino IDE 1.8.8 が出たから早速入れ替えようとしたが、このインストーラって元の Arduino 環境を削除するんだな? 警告に従い、あらかじめスケッチフォルダと Fritzing フォルダは C:\Arduino から退避させたが、自分でインストールしたライブラリを退避させるのを忘れちゃった。

2018-12-13 21:55:58
戸田プロダクション @TodaProduction

自分でインストールする外部ライブラリって、何フォルダに入れるのが一番良いんだろ? 自分はこれまで ZIP を解凍し C:\Arduino\libraries に入れてたら大過なく過ごせたが、ある時 C:\Arduino\hardware にもライブラリフォルダが出来る (こともある?) ことに気づき、出来れば統一したいと思ってる。

2018-12-13 22:06:44
戸田プロダクション @TodaProduction

ちなみにスケッチやライブラリソースを %USERPROFILE%\Documents\Arduino 配下に置くのは全然好きじゃない。なんたってパスが長ったらしいし、どこに何を入れたか?覚え辛くて管理するのに一苦労だ。そう思って、すべて C:\Arduino 配下で管理してたつもりが今回IDE入替に伴う環境削除だよ (^_^;)。

2018-12-13 22:12:00