Dropbox

[ 関連記事 ]
ドローンにRGB LEDを搭載するもう一つの方法 <- 親記事です
ATtiny85によるLED制御 – ハードウェア実装編
ATtiny85によるLED制御 – UART/LEDパッドを利用した制御方法
ATtiny85によるLED制御 – プログラムの書き込み方法

「RGB LED制御プログラム書き込み済みATtiny85 – スイッチ/BUZZパッド接続用」の入力ポート(5番ピン)をFCのBUZZ用パッドに接続して送信機から制御する方法です。

[ FCに接続せずに使う方法 ]
FCに接続せず入力端子をGNDに落とすだけでも動作させることが出来ます。小さいスイッチを取り付けたり、単純にリード線をUSBの外枠などに接触させるだけでも使用出来ます。

以下、FCに接続して送信機からコントロールする方法です。

[ Betaflightファームウェアの前提 ]

Betaflightの更新の際に”その他のオプション”で”Pin IO”の指定が必要です。このオプションは規定値で有効になっていますので、自分で削除した記憶がなければ問題はないはずです。もし不確かな場合はCLI画面でresource pinioを投入してみてください。赤字で”INVALID RESOURCE NAME”と表示された場合は”Pin IO”オプションを指定してBetaflightの更新を行う必要があります。

[ FCへの接続 ]
電源への接続およびLEDへの接続は「ATtiny85によるLED制御 – ハードウェア実装編」をご覧ください。ATtiny85の5番ピンはそのままFCのBUZZに接続します。

[ Betaflight Configuratorの設定 ]
CLIタブを開いていくつかのコマンドを投入する必要があります。
クリティカルな操作ですので最初にdiff allで構成のバックアップを取得しておいてください。

– BEEPERのリソースを見つける –
CLI画面でresourcコマンドを投入します。resourceの一覧が表示されますので、その中からBEEPERを見つけます。

resource BEEPER 1 A14

右端の文字列、この例の場合は”A14″を記憶します。これがFCボード上のBUZZのパッドに付けられたIDです。

– PINIOの構成 –
引き続きCLIにて以下のコマンドを投入します。PINIOに割り当てるA14は上で実際に調べたものと置き換えてください。

resource BEEPER 1 NONE
resource PINIO 1 A14
SET PINIO_BOX = 40,255,255,255
save

実際の画面だとこんな感じになります。

– モードによる送信機スイッチの割り当て –
上のPINIOの設定によりモード画面にUSER1が現れます。PINIO_BOXの最初のパラメーターである40が、このUSER1を出現させています。詳しいことはBetaflight Wikiをご覧ください。

USER1にAUX4(私の送信機のモーメンタリースイッチ)を割り当てた例です。どの領域をアクティブにするかは環境により変わります。アクティブな状態でATTiny85に対するスイッチオンであると考えて良いと思います。
これで送信機とBUZZパッドが接続されました。

– 動作確認 –
スイッチを短押しして順次色が変われば成功です。長押しで光り方の変更です。もし意図したのと違う動作であればモード画面のアクティブになる範囲を調節してみてください。

[ BUZZパッドにまつわる話し ]
BUZZパッドはとてもユニークなものです。ブザーのプラス側をFCの+5V、マイナス側をBUZZに接続することからも想像出来るように、このポートは開放状態と接地(GND)を切り替えるようなハードウェアの作り込みがなされており、かつブザーを鳴らすのに十分な電流に耐えられます。必要な時にGNDに落とせるスイッチと機能的に透過であると考えられます。そのため今回のような目的で使うのに適しています。

Trackback

only 1 comment untill now

  1. […] ] – ドローンにRGB LEDを搭載するもう一つの方法 <- 親記事です – ATtiny85によるLED制御 – BUZZパッドを利用した制御方法 – ATtiny85によるLED制御 – UART/LEDパッドを利用した制御方法 – […]

Add your comment now