トイドローンをハッキング(2/3)ft. Arduino - 気軽にドローンを自動操縦

Arduinoをつかって小型の「トイドローン」をコントロールすることを目指しました。
今回は連載の第2弾です。→前の記事

より具体的な技術的な内容はQiitaで記事にしていきます!
このページの中の該当のところにリンクを貼って行きます。


方法の提示②Arduinoってなーに

Arduinoとは
「使いやすいマイコンボード」
である!

マイコンボードとは
「マイコンを使いやすいようにしたボード」
である!!

つまり、Arduinoとは
「とても使いやすいマイコン」
である」!!!


少しばかり大雑把なところはありますが、これでだいたいArduinoの説明はできています。
マイコンというのはマイクロなコンピュータの略で、
色んな電化製品に入って複雑な計算を担っています。

また、Arduinoの本が大量に出ているので読んでみてください。

とっつきやすい本はおそらくこれです。

「本が高い!」
と思った僕の心の友は、ネットで
「Arduino 入門」
と調べると、令和の救世主がたくさん降臨します。



方法の提示③ドローンのコントローラにArduinoを繋げる

**アウトライン**
アナログ電圧の作り方
PWMじゃダメだった
動かしてみる
**********

前の記事で紹介したように、コントローラにアナログ電圧を入力する必要があります。でも、Arduinoからはデジタルな出力(ここでは100%か0%のどちらかの出力)しかできないので、どうにかしないといけません…。

今回はデジタルな情報からアナログ電圧を出力するためのICを用います!

DAコンバータ

ってやつです。今回はLTC1660CNという商品を用います。秋月電子で購入しました。

これを動かす方法はこちらの記事で紹介しています。


「PWMじゃダメなの?」
というコメントが来そうですね。
(ご存知のない方は検索してみてください。PWMはArduinoをはじめ、マイコン全般の基本的な出力方法なのでたくさんの情報が見つかるでしょう。)

PWMをコントローラに入れてみたところ、ドローンのモータがガタガタと不安定に回転する様子が観察されました。
これは下の図(縦軸:電圧、横軸:時間、赤丸:電圧計測をするタイミング)のように、平滑化された平均の電圧値が計測されるのではなく、電圧計測の時点での電圧をコントローラが読み取ってしまうので、100%の電圧と0%の電圧が時折入れ替わったガタガタした電圧入力がコントローラに対してなされてしまうためだと思われます。

僕はアナログ回路でLPFを作って平滑化したものを入力するという方法も試しました。うまくは行きましたが、なんだか動作が不安定になってしまってその原因がわからなかったので、DAコンバータに切り替えました。

ドローンに接続する

ドローンは前回の記事で紹介したものを使用します。

このドローンの基本的な操作手順は
1.ペアリング
2.キャリブレーション
3.飛行開始
という流れです。

ペアリングキャリブレーションの手動でのやり方はリンク先の記事に実に丁寧に書いてあります。

ペアリングを行う際は左のスロットルを上下に、
キャリブレーションを行う際は左のスロットルを下に、右のスロットルを左下に傾けます。なので、ドローンとコントローラを接続させる上では、右の上下方向と、左の上下方向と左右方向の合計3つのアナログ電圧の入力が必要になります。

3つのアナログ電圧をLTC1660CNから出力させて、ドローンを操縦するプログラムを書きました。具体的にはこちらのQiita記事に書いています。

これでほぼドローンをプログラムから操縦できるようになりました!

やるべきことは意外とシンプルでしたね!

次回は、いろんな動きをさせてみたいと思います!では!

この記事が気に入ったらサポートをしてみませんか?