初めての Arduino 入門 (中編)

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

3.標準 Servo ライブラリを使う時は、角度指定の write を使うよりも、パルス幅指定の writeMicroseconds を使う方が圧倒的にサーボの動きがなめらか。 4.writeMicroseconds の指定 μS を求める時は map 関数が大変便利。 5.サーボ固有の MaxPulse と MinPulse は定数で定義すると管理がラク。 pic.twitter.com/dGCyw7OAv6

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

続いて今日の段階ではまだ良く判らんこと。 1.一定角度まで回したあとPWM電流を切れないか? writeMicroseconds(0) しても detach() しても初期化されちゃうみたい? 2.角度を保持したまま、動的 attach、動的 detach させてみたい。 3.Arduino 電源オン時に、前回の角度を復元させたい。

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

だいたいこんなとこかな? 引き続き明日も、色々な別方面を研究してみたい。

2018-12-05 22:11:19
戸田プロダクション @TodaProduction

終日夢中でやってた今日の実験中のひとコマ。半固定抵抗の値に同期してサーボモータが左右に首を振る! 実に他愛のない動画だけど、これぞまさしくサーボの「プロポーショナル制御」と呼ぶのだと思う。 pic.twitter.com/nzJtJ6wj2B

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

中学生の頃、R/Cプロポが欲しくて欲しくてたまらず、しかし当然そんな高価なモノは買えるはずもなく、本屋で「ラジコン送受信機の作り方」みたいな本を立ち読みし、これまた内容など到底理解出来るわけもなく、唯一知り得た知識が「R/Cプロポのプロポは、プロポーショナル(比例する)の略」だった。

2018-12-05 22:16:09
戸田プロダクション @TodaProduction

もちろん、大人になってからは数知れぬラジコン模型を買い込んできたし、今だって書斎にいくつかR/Cプロポが転がってるわけだが、こんなふうに、自分で組み立てた?回路とソフトでサーボモータを動かせたのは本当に嬉しい。40年間の時を超えて、本当に感無量なりだ w。

2018-12-05 22:17:51
Gut🇪🇺 @natsumikangut

@TodaProduction これすごいですね!夢が広がる感がたまらない!

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

@natsumikangut もっと勉強して、アナログとDCCと Arduino をレイアウトに組み込みたいと思います (^_^)。

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

本日の Arduino - Project 21: 9g Servo Control (2) GitHub - netlabtoolkit / VarSpeedServo github.com/netlabtoolkit/… 昨日の続きで色々とググっていたら、またもや素敵なライブラリを発見した。標準 Servo ライブラリの機能を拡張してくれる、とても高性能で有名なサーボ制御ライブラリらしい。 pic.twitter.com/eReXWyMKLY

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

最大8個のサーボが動かせ、すべてのサーボの同時非同期制御が可能、SV.write (角度, スピード, 移動完了待ちフラグ) という命令が使えるから、昨日あれほど苦労した「ゆっくりサーボを回す」ことも簡単に実現出来そう。writeMicroseconds のあとで delayMicroseconds とか無駄にしなくて済むかも?

2018-12-06 15:54:34
戸田プロダクション @TodaProduction

使い方も簡単、標準 Servo の代わりに VarSpeedServo をインクルードして、スケッチ冒頭でそのインスタンス (VarSpeedServo SV) を作るだけ。あとは元のコードをそのまま流用しても良いし、スピード指定可能な新しい SV.write を使っても良い。他にも新メソッド?追加されてるから試すのも面白い。 pic.twitter.com/1uxv7jW8sY

2018-12-06 16:02:41
拡大
戸田プロダクション @TodaProduction

昨日は如何にサーボを「ゆっくり滑らかに回す」か?に苦心したが、試してみたら VarSpeedServo.write の速度10(左) は、概ね 昨日こしらえた自前ルーチン MoveServo の待ち時間 5000 μS (右) に相当するようだ。速度を10より小さくするとサーボが暴れ気味になる。余裕見て15以上で使うべきかも? pic.twitter.com/S434q4PrFf

2018-12-06 16:16:40
拡大
戸田プロダクション @TodaProduction

自前ルーチン MoveServo の場合は delayMicroseconds で待ってるから、理論的にはあと3倍くらい遅く出来るけど (delayMicroseconds(15000);)、それでも極端に遅くするとサーボの軸が微妙に振動してしまう。今日のところの結論は、やっぱりサーボを「ゆっくり滑らかに回す」のは本当に難しい、かな?

2018-12-06 16:18:57
戸田プロダクション @TodaProduction

どうも最近、このアカウントは「鉄道模型とは全然関係のないアカウントだ」と思われているフシがありそうなので (^_^;)、ちょっと鉄道模型クラスタっぽい動画を撮ってみた。将来、こんな遮断器をレイアウトに組み込めれば良いけど… (^_^)。 pic.twitter.com/mE4i4aXnGM

2018-12-06 16:25:04
戸田プロダクション @TodaProduction

@ht_deko 有り難うございます。あんまりハードル上げないでください (^_^)。DEKO さんの Arduino ページ、折にふれて何度も読み返しています。「やっぱり流石ですね」と思うことしきりです。

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

昨日少し悩んだ、実行中の動的 attach と動的 detach、今日やったら案外簡単に実装出来た。このスケッチなら、ボタンを1回押すと遮断器が降りて元に戻ったあとサーボへのPWM電流がカットされる。Servo オブジェクトに pinNO みたいなプロパティがあれば、もっとコードがスッキリするんだけどなぁ? pic.twitter.com/XBSr7h8Dc9

2018-12-06 20:17:43
拡大
戸田プロダクション @TodaProduction

もひとつ疑問だった Arduino 電源投入直後のサーボのキャリブレーション?も、初期処理の中で attach するタイミングを意図的に遅らせれば、前回停止位置から暴れることなくサーボを制御可能みたいだ。長年の疑問も試してみて初めて納得出来た。何度も言うが、本当にこの学習キットはお買い得だった。

2018-12-06 20:26:46
戸田プロダクション @TodaProduction

あとは複数サーボの一括制御だが、この学習キットにはサーボモータが1個しか入ってないので将来のお楽しみとして取っておく (^_^)。色々なサイトをググって調べたので、サーボさえあれば「なんとかなりそう」な感じではある。それにしても今のサーボは安いなぁ。1個400円だなんてバチが当たるぜ?

2018-12-06 20:34:50
戸田プロダクション @TodaProduction

Togetter にまとめました 初めての Arduino 入門 (後編) togetter.com/li/1343062

2019-04-30 10:31:03
前へ 1 ・・ 3 4