JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

ESP32 入力ピンのPULL UP PULL DOWNテスト

2019-12-25 08:08:51 | ESP32

 ESP32の入力ピンのPULL UP PULL DOWNのテストをします。

 まず、ESP32 DevKitのピン配列は次のようになっています。

 

(この画像の原典は、分からないのですが、見やすいので使わせていただきます)

 デフォルトでPULL UP、PULL DOWNされているピンは、pu、pdで表示されています。

 Arduinoでは、pinMode(ピン番号,INPUT_PULLUP);でINPUTピンをPULL UPすることができます。(ESP32ではPULL_DOWNも指定することができることを確認しました。)

 ESP32では、次のようにPULL UP,PULL DOWN,両方,PULLなしを設定することができます。

 gpio_set_pull_mode(GPIO_NUM,PULL_MODE);

 GPIO_NUM:GPIO_NUM_0~GPIO_NUM_39

 PULL_MODE:GPIO_PULLUP_ONLY プルアップ

        GPIO_PULLDOWN_ONLY プルダウン

        GPIO_PULLUP_PULLDOWN プルアップ、プルダウン両方

        GPIO_FLOATING プルアップ、プルダウンなし

 ESP32のデータシートでは、プルアップ抵抗、プルダウン抵抗とも45kΩとなっています。

 各モードを設定したときのピンの電圧を調べてみます。

 スケッチです。GPIO25を0.5秒ごとにプルアップ、プルダウン、両方、なし設定を繰り返します。

 GPIO25の電圧をPicoScopeで見てみると

PULLUP_ONLYで3.3V、PULLDOWN_ONLYで0V、PULLUP_PULLDOWNで約1.6V、FLOATINGで0Vです。