努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:os:linux:debian:bbb-doc006

文書の過去の版を表示しています。


006.プルダウン抵抗を配置する

2026-08-17 清書とかを頼むとAIさんが「プルアップ!プルダウン!」と大変しつこ……推奨してくるので。

概要

  • タクトスイッチの回路にプルダウン抵抗を配置する。プルダウンにしたのはイメージと論理に合致して自分が理解しやすいから。
  • プルダウン抵抗が無い時の回路振る舞いが改善するのか確かめる。

GND

すっかり書き忘れて…

GND : 電圧の基準(0V)であり回路的に電流の出口でもある

やめてだいぶ簡単に書いたんだからいっぱい指摘しないで…

抵抗を配置する理由

プルダウン/プルアップ抵抗

GPIOは入力PINの電圧を基準にHigh/Lowを決める。

プルダウン/プルアップ抵抗を配置する理由は 入力が未接続状態の時に入力をLow/High(プルダウン/プルアップ)に固定してノイズを防ぐ 為。
簡単な回路で

  • ノイズが気にならない
  • 気にしなくていい

なら配置しなくても実用上問題は無いかもしれない。

プルダウン抵抗

入力PINとGND間に配置する抵抗。図だとスイッチがONの時入力PINは3.3VとつながりHigh状態になる。

プルアップ抵抗

入力PINと3.3V間に配置する抵抗。図だとスイッチがOFFの時入力PINは3.3VとつながりHigh状態になる。

保護抵抗

以前の回路と同様で、GPIOが意図せぬ理由で入力から出力に変わった時、過大電流が流れるのを防ぐために配置する。

抵抗 Rg が保護抵抗。

プルダウン、プルアップのどちらも、GPIOが誤って出力設定になった場合や、外部回路と反対の電位でぶつかった場合に、保護抵抗 Rg が過大な電流が流れるのを防ぐ。

プルダウン時

スイッチON + GPIO出力がLow時、3.3VからGPIOの出力回路側へ過大電流が流れ得る。
配置したRgが電流を制限する。

スイッチ GPIO出力 状況
OFF Low 問題なし。GPIOもプルダウンもLow
OFF High GNDへ電流が流れるが、Rg、Rが電流を制限する
ON High 問題なし。3.3VとGPIO Highが同方向
ON Low Rgが電流を制限する

プルアップ時

スイッチON + GPIO出力がHigh時、GPIOからGNDへ過大電流が流れ得る。
配置したRgが電流を制限する。

スイッチ GPIO出力 状況
OFF High 問題なし。GPIOもプルアップもHigh
OFF Low 3.3VからGPIOへ電流が流れるが、R、Rgが制限する
ON Low 問題なし。GPIOもGNDもLow
ON High Rgが電流を制限する

プルダウン抵抗なしで実験

回路を長くしてノイズなんかを拾うように…というAIさん推奨構成。

残念ながら外付けのカードリーダーのUSBケーブルをワザと線の上(写真で言うところの緑の結線)に被せてファイルコピーなんかを実行してみたが、ノイズは見られず。

20260816-173529.jpeg

005.LEDとタクトスイッチを連動するでやった回路のまま。ただしTSW 1 と P8_45 間を意図的に長くした。

タクトスイッチの押す放すの間隔を狭めるとそれらしい不安定さが出てきた。

Pushdemo3.sh
#!/bin/bash
 
# TACT SW 1
sudo config-pin P8_45 gpio >/dev/null
 
sudo stdbuf -oL gpiomon gpiochip2 7

結果、RISING→FALLINGの繰り返しのはずがRISING連続、な検出。
不安定な入力は確認できた。ただし今回の結果だけでは、AIさんの言うノイズなのか、タクトスイッチのチャタリングなのかは判別できない。
そしてこれ以上詳しく調べるつもりもない。ヤだよ面倒だもん…

debian@BeagleBone:~$ ./Pushdemo3.sh
event:  RISING EDGE offset: 6 timestamp: [  119480.872924936]
event: FALLING EDGE offset: 6 timestamp: [  119481.023533483]
event:  RISING EDGE offset: 6 timestamp: [  119482.129727678]
event: FALLING EDGE offset: 6 timestamp: [  119485.022289240]
event:  RISING EDGE offset: 6 timestamp: [  119487.168530954]
event: FALLING EDGE offset: 6 timestamp: [  119487.241813167]
event:  RISING EDGE offset: 6 timestamp: [  119487.343832366]
event: FALLING EDGE offset: 6 timestamp: [  119487.388211435]
event:  RISING EDGE offset: 6 timestamp: [  119488.588575460]
event: FALLING EDGE offset: 6 timestamp: [  119488.725893697]
event:  RISING EDGE offset: 6 timestamp: [  119488.834687524]
event: FALLING EDGE offset: 6 timestamp: [  119488.967555410]
event:  RISING EDGE offset: 6 timestamp: [  119489.587770591]
event: FALLING EDGE offset: 6 timestamp: [  119489.734967908]
event:  RISING EDGE offset: 6 timestamp: [  119489.833294181]
event: FALLING EDGE offset: 6 timestamp: [  119489.978722865]
event:  RISING EDGE offset: 6 timestamp: [  119490.074842523]
event: FALLING EDGE offset: 6 timestamp: [  119490.209937355]
event:  RISING EDGE offset: 6 timestamp: [  119490.501814430]
event: FALLING EDGE offset: 6 timestamp: [  119492.696805702]
event:  RISING EDGE offset: 6 timestamp: [  119493.268147798]
event: FALLING EDGE offset: 6 timestamp: [  119493.422785965]
event:  RISING EDGE offset: 6 timestamp: [  119494.266001031]
event:  RISING EDGE offset: 6 timestamp: [  119494.400179944]
event:  RISING EDGE offset: 6 timestamp: [  119494.400428767]
event: FALLING EDGE offset: 6 timestamp: [  119494.400562095]
event:  RISING EDGE offset: 6 timestamp: [  119494.844143796]
event: FALLING EDGE offset: 6 timestamp: [  119495.003756169]
event:  RISING EDGE offset: 6 timestamp: [  119496.873623910]
event: FALLING EDGE offset: 6 timestamp: [  119497.099399800]
event:  RISING EDGE offset: 6 timestamp: [  119497.099472172]
event:  RISING EDGE offset: 6 timestamp: [  119497.099618958]
event:  RISING EDGE offset: 6 timestamp: [  119497.099891988]
event: FALLING EDGE offset: 6 timestamp: [  119497.099994442]
event:  RISING EDGE offset: 6 timestamp: [  119525.229745690]
event: FALLING EDGE offset: 6 timestamp: [  119525.368526286]
event:  RISING EDGE offset: 6 timestamp: [  119525.991826058]
event: FALLING EDGE offset: 6 timestamp: [  119527.286269567]
event:  RISING EDGE offset: 6 timestamp: [  119527.286490975]
event:  RISING EDGE offset: 6 timestamp: [  119527.286555305]
event:  RISING EDGE offset: 6 timestamp: [  119527.286646051]
event:  RISING EDGE offset: 6 timestamp: [  119527.286789504]
event:  RISING EDGE offset: 6 timestamp: [  119527.286875750]
event: FALLING EDGE offset: 6 timestamp: [  119527.286925498]
event:  RISING EDGE offset: 6 timestamp: [  119710.378896851]
event: FALLING EDGE offset: 6 timestamp: [  119711.339763310]

プルダウン抵抗ありで実験

書きかけ

documents/os/linux/debian/bbb-doc006.1786933790.txt.gz · 最終更新: by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki