X-Plane コクピットの自作に挑戦!
プルアップとプルダウン
プルアップとプルダウン、これTeensyを扱うにおいて、最初に頭に入れて置きたい重要事項です。
プルアップ抵抗またはプルダウン抵抗は、Teensyの入力にHIGH(5V)かLOW(0V)信号を 確実に伝える為に取り付けます。抵抗がない場合はHIGH/LOWの状態が不安定となり、Teesyが誤動作を起こす元になるので抵抗は必ず付けましょう。
実際にはLEDを扱う時に、ボタンを押したとき、点灯させるか、離した時、点灯させるかをこれでコントロール出来るようですね。
しかし、下の方法だとこの回路がいらないとか?
Teensyで内蔵プルアップ抵抗をONさせる方法は、pinMode( )関数で行います。
pinMode(1, INPUT_PULLUP) ; と言う感じで記述します。これで上の回路のように設定しなくても直接ピンに接続できるようになります。
下がその回路になります。Teensyのピンから直接スイッチに入っています。その間には抵抗が一切ありません。そのままGNDに繋がっていますね。これGND側でないと動作しません。
ここに詳しく説明されています。すごく分かりやすいので見てみてください。下の画像もそこからおかりしました。
プルアップ抵抗またはプルダウン抵抗は、Teensyの入力にHIGH(5V)かLOW(0V)信号を 確実に伝える為に取り付けます。抵抗がない場合はHIGH/LOWの状態が不安定となり、Teesyが誤動作を起こす元になるので抵抗は必ず付けましょう。
5Vからみて最初に抵抗が来て、スイッチ、GNDの順になります。
- スイッチが押されていない時は、GNDに流れません。抵抗を通して入ってきたTeensyのピン電圧は5Vになります。
- スイッチが押された時は、GNDと繋がる。従ってTeensyのピンの電圧は0Vになります。
5Vからみて最初にスイッチが来て、抵抗、GNDの順になります。
これは上と丁度逆の状態になります。
- スイッチが押されていない時は、GNDと繋がっているので、Teensyのピン電圧は0Vになります。
- スイッチが押された時は、Teensyのピン電圧は5Vになります。
実際にはLEDを扱う時に、ボタンを押したとき、点灯させるか、離した時、点灯させるかをこれでコントロール出来るようですね。
しかし、下の方法だとこの回路がいらないとか?
Teensyで内蔵プルアップ抵抗をONさせる方法は、pinMode( )関数で行います。
pinMode(1, INPUT_PULLUP) ; と言う感じで記述します。これで上の回路のように設定しなくても直接ピンに接続できるようになります。
下がその回路になります。Teensyのピンから直接スイッチに入っています。その間には抵抗が一切ありません。そのままGNDに繋がっていますね。これGND側でないと動作しません。
ここに詳しく説明されています。すごく分かりやすいので見てみてください。下の画像もそこからおかりしました。
また、X-Planeでスイッチを押したとき、最初だけ反応しない場合があります。2度押すとスイッチが入ります。その後は順調ですが、最初反応しないのでチョット気になる場合があります。これはプルダウンで回路を作成してると思います。これをプルアップにすると問題なく最初からスイッチが入るようになります。
頭がこんがらかってしまいますが、スケッチとの関係もあるのかもしれません。もし、これでもダメなら逆にするとか…… まさに素人考えですね。
※ここに説明記事があります参考になるかも:http://mag.switch-science.com/2013/05/23/input_pullup/
- 低価格コクピットの自作
- DataRefEditor
- プルアップとプルダウン
- Nav1の周波数の設定をロータリーエンコーダで行う
- スロットルコントロール
- イグニッションキーコントロール
- 針路バグコントロール
- 針路バグとエレベータトリムの切り替え
- 回転動作を粗いと微細で設定 & 3つのモードの切り替え
- ギアのアップダウンコントロール
- ロータリーエンコーダの色々な数値の設定
- トグルスイッチコントロール
- ロータリースイッチコントロール
- Teensy&キーボードボタン
- Teensy&ジョイスティックボタン
- プッシュスイッチでトグルを実現
- プッシュスイッチでLEDをONにしたままにする
- Teensy & I2C接続キャラクターLCDモジュール
- 7セグで数字を表示
- X-Plane LED ON/OFF
- マウスホイールの活用
- B 737-800
- B747-400
- B 777 Worldliner
- SiteMap
Contents