初めての Arduino 入門 (後編)

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

本日の Arduino - Project 22: 5V Stepper Motor wiki.keyestudio.com/index.php/Ks00… サーボに続いて今日はステッピングモータを回す実験。学習キットに同梱されていたのは「28BYJ-48」というモータと「型番不明」ドライバモジュール。 pic.twitter.com/Nb6DVxpKlP

2018-12-07 15:49:21
拡大
戸田プロダクション @TodaProduction

ユニポーラ ステッピングモーター 28BYJ-48 akizukidenshi.com/catalog/g/gP-1… ステッピングモータの方は、秋月電子で1個250円の この部品だと判った。メチャクチャ安いが、ギヤ比 1/64 で結構トルクが強いらしい。中国ではエアコンルーバーを動かすのに使われている由。 pic.twitter.com/8TQu5eyJwZ

2018-12-07 15:50:19
拡大
戸田プロダクション @TodaProduction

ところが肝心のドライバモジュールの仕様が全然判らん。教本にはステッピングモータの仕様はあるもののドライバに関する記述はなく、型番すら不明なので調べようがない。しかも教本のスケッチでは analogRead があるのに、実体配線図ではどう見たってアナログピンの配線が抜けている。大丈夫か? pic.twitter.com/Ea7SkcrCnX

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

一番最初の実験風景。ところがこれが全然回らない (^_^;)。教本スケッチを読む限り、半固定抵抗を回したらそれにつられてステッピングモータも回るはずだがそうならない。ドライバは光るがモータは微動だにしない。ひょっとして不良品なのか?と疑う前に、やっぱりドライバ仕様を確認すべきだろうな? pic.twitter.com/TRahGklDVM

2018-12-07 15:52:08
拡大
戸田プロダクション @TodaProduction

送料無料!3ピース(keyestudio5ボルトステッピングモータ28byj-+uln2003ドライバボード) ja.aliexpress.com/item/Free-ship… 仕方ないから「keyestudio 28BYJ-48」でググったら、ようやくアリババ通販サイトでドライバの型番が「ULN2003」だと判った! アリババに助けられたのは3度めだ、すごいぞアリババ! pic.twitter.com/LU7DKmigzk

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

型番から、大変有益なこの2件の記事がすぐ見つかった。ハッキリ言って、この記事なしではモータは回せなかった。 1.ステッピングモーター(28BYJ-48)を分解して仕組みを調べてみた stupiddog.jp/note/archives/… 2.ステッピングモーター(28BYJ-48)の動かし方 (ULN2003A使用) stupiddog.jp/note/archives/…

2018-12-07 15:55:52
戸田プロダクション @TodaProduction

教本の悪口はあまり言いたくないが、今回に限っては、教本は配線図もスケッチも完全に間違っていた。ステップ数定義、setSpeed 速度、極めつけはピン配置の順番相違。インスタンス生成でピン番号を入れ替え対応したが、要するに「標準 Stepper ライブラリは 28BYJ-48 専用じゃない」ということだろう。

2018-12-07 15:56:30
戸田プロダクション @TodaProduction

まぁ、こんなこともあるわな。先ほどの記事を参考にして最終的に教本スケッチをこのように変更したら、ようやく当初の意図通り、半固定抵抗の回転につられてステッピングモータが回ってくれた。すごく勉強になった。ググっただけで、あんなに素晴らしい有益な記事をただで読めるとは有り難いお話だ。 pic.twitter.com/cczVcFRznC

2018-12-07 15:57:45
拡大
戸田プロダクション @TodaProduction

本日の実験動画。左45度旋回を4回、右45度旋回を4回、左180度旋回、右180度旋回、最後に右22.5度旋回、左22.5度旋回 (^_^)。 このステッピングモータ、1個たった250円だが、スケッチさえキチンと書ければ極めて正確に回転するみたいだ。ターンテーブルに使えるかも?w pic.twitter.com/7C6gjmlXGw

2018-12-07 15:59:08
戸田プロダクション @TodaProduction

本日の Arduino - Project 22: 5V Stepper Motor (2) 昨日は生まれて初めてステッピングモータを回せて嬉しかったが、あれから色々考えたり調べたりしてるうち、なお奥深い?事柄がぼんやり判るようになってきた。忘れないよう、順不同で後日のためにメモしておく。

2018-12-08 02:31:08
戸田プロダクション @TodaProduction

1.昨日「標準 Stepper ライブラリは 28BYJ-48 専用ではない」と気づいたが、ライブラリ管理で「Stepper」と検索すると山のように他ライブラリが出てきた。28BYJ-48 専用もあるし、別のモータ用もあるっぽい。各ライブラリで命令も違うから「実際それを使う時に調べりゃ良かろう」という結論にする。 pic.twitter.com/YHS0Z5D73h

2018-12-08 02:33:51
拡大
戸田プロダクション @TodaProduction

2.昨日の動画ツイートで「ターンテーブルに使えるかも?w」と書いたが、良く良く考えたら 28BYJ-48 には「原点」が無いから、そのまま使うにはチと無理がありそうだと気がついた。別途ハード的にリセット可能な初期位置を作り、それをソフト的に感知しキャリブレーション?する仕掛けが要りそう。

2018-12-08 02:35:26
戸田プロダクション @TodaProduction

3.昨日使ったドライバモジュールは ULN2003 だったが、探せば他にもドライバがあるかも知れぬ。未確認だが A4988 てのも使えそうな感じ? 4.28BYJ-48 には5V用の他12V用もある。さらに、この人なんかユニポーラ型の 28BYJ-48 をバイポーラ型に改造したりしてる。→ jangeox.be/2013/10/change…

2018-12-08 02:36:19
戸田プロダクション @TodaProduction

5.ひょっとするとライブラリを使わず直接各コイル(Pin)に digitalWrite する方が、電流停止とかキメ細かい制御が出来るのかも知れぬ。これも実際に使うモータが決まってから、調べて考える方が合理的。 だいたいこんなとこかな? これでステッピングモータは一応終了とする。

2018-12-08 02:37:53
戸田プロダクション @TodaProduction

本日の Arduino - Project 23: PIR Motion Sensor wiki.keyestudio.com/index.php/Ks00… 今日はモーションセンサを使ってみる。「PIR (Passive Infrared Ray) Motion Sensor は、周囲の赤外線放射の変化により人間の接近を検知するセンサ」とのこと。つまり Arduino で防犯ブザーを作る実験…ということらしい。 pic.twitter.com/ov879xq0hv

2018-12-08 14:57:47
拡大
戸田プロダクション @TodaProduction

センサモジュールは keyestudio 製? ざっと仕様を確認すると 入力電圧:3.3〜5V、最大6V 作業電流:15uA 動作温度:-20〜85℃ 出力電圧:高3V、低0V 出力遅延:約2.3〜3秒 検出角度:100度 検出距離:7m 限度電流:100mA という感じ。検出距離7mが本当ならすごいかも? pic.twitter.com/8UNbZbArzD

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

本日の実験動画。回路とコードを追加し、センサが反応したらLEDとブザーで知らせるようにした。確かに動くと反応するが、少し感度が鈍く思えるのは「出力遅延:約2.3〜3秒」のせいか? あと、装置を居間に持って行って試したが、残念ながら検出距離は7mまでは効かず せいぜい5m程度だった。 pic.twitter.com/0hm1ZJDqKh

2018-12-08 15:09:30
戸田プロダクション @TodaProduction

本日の Arduino - Project 24: Analog Gas Sensor wiki.keyestudio.com/index.php/Ks00… 昨日の人感センサに引き続き、今日はガスセンサを試してみた。Arduino で「ガス漏れ警報器」が作れます…という実験らしい。鉄道模型のレイアウトには、イマイチ使い道が無さそうに思われるが… (^_^;)。 pic.twitter.com/cpyFvacKBR

2018-12-09 12:04:12
拡大
戸田プロダクション @TodaProduction

これがキット付属「MQ2」というアナログガスセンサモジュール。茶こしみたいなカバーの中にアルミと二酸化チタンの感応層?があり、ガスを検出すると抵抗値が変化するらしい。LPG、I-ブタン、プロパン、メタン、アルコール、水素および煙の検出が可能、とある。 robotshop.com/media/files/pd… pic.twitter.com/etrgvgWjyE

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

今日も教本回路とスケッチを動画向きに変更して実験。100円ライターのガスを吹き付けた途端、センサの analogRead 値が変化しブザーとLEDが反応した。昨日の人感センサより圧倒的に感度が良い。台所の都市ガス (大分ガス) でも同様に反応した。しかし、なぜか蚊とり線香の煙には反応しなかった。 pic.twitter.com/c4mZqtQ5Rx

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

Arduino ライブラリの keywords.txt の意味がようやく判った。これで色が変わるのか?w ピリオド打った時に、メソッド?表示してくれたら助かるのに…。

2018-12-09 17:52:13
戸田プロダクション @TodaProduction

本日の Arduino - Project 25: ADXL345 Three Axis Acceleration Module (1) wiki.keyestudio.com/index.php/Ks00… 今日は「ADXL345」という3軸加速度センサモジュールを使うその1(なんでその1か?はあとでツイートする)。Arduino で傾き測定や衝撃測定、あるいは振動測定などのポータブルアプリを作る実験。 pic.twitter.com/2pQJS97KBD

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

今回の「ADXL345」モジュールはこれ。例によって他社製仕様書からセンサ仕様のみ抜粋すると、このセンサはXYZ軸の静的加速度と動的加速度が計測可能で、デジタル出力データは16ビット「2の補数」形式、SPIもしくはI2Cインターフェースでアクセス可能、とのこと。 akizukidenshi.com/download/ds/fr… pic.twitter.com/mQEb5diANr

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

教本の Fritzing 絵の通りセンサモジュールを Arduino に繋ぎ、教本サンプルスケッチをそのまま実行すれば、シリアルモニタにXYZ軸の加速度が表示された。モジュールをブラブラ揺らすとシリアルプロッタが地震計みたいに描かれた。至れり尽くせりだが、正直言ってこれじゃ「へー」としか感じない。 pic.twitter.com/86F2EBpRhP

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

白状すると、今回は加速度の×0.039?など物理学的な計算式にはあんまり興味が湧かない。むしろこの Project で最も重要な事柄は「今回初めて、噂のI2Cインターフェースを使う」ことだと思う。この教本、すごく重要な事柄を断りもなくサラッと使い全然解説しない…ことがたまにある?ので少し困る。

2018-12-10 10:35:27
1 ・・ 4 次へ