ESP8266のピン配列リファレンス。 どのGPIOピンを使うべきですか?

この記事は ESP8266 GPIO のガイドです: ピンアウト図、その機能と使用方法。

ESP8266 12-E チップには 17 本の GPIO ピンが付属しています。 このガイドでは、ESP8266 GPIO の正しい使用方法を学び、プロジェクトに最適なピンを使用することで、何時間もイライラする必要はありません。

ESP8266 12-Eチップのピン配置

次の図は、ESP8266 12-Eチップのピン配置を表しています。

注意: すべての GPIO がすべての開発ボードでアクセスできるわけではありませんが、各 GPIO は使用している開発ボードにかかわらず同じ方法で機能します。 ESP8266を使い始めたばかりであれば、当社のガイドを読むことをお勧めします。

現在、ESP8266チップを搭載したさまざまな開発ボードがありますが、アクセス可能なGPIOの数、サイズ、フォームファクターなどが異なっています。 これらのボードの比較は、こちらのガイドをご覧ください。 ESP8266 Wi-Fi 開発ボードの比較

ESP8266-01 ピンアウト

ESP8266-01 ボードを使用する場合、次の GPIO 図を参考にすることができます。

ESP8266 12-E NodeMCU Kit

ESP8266 12-E NodeMCU キットのピンアウト図は、以下のとおりです。

ESP8266 ピン配置図の PDF をダウンロードする

ESP8266 ピン配置図をダウンロードして印刷できるので、常に横に置いておくことができます:

PDF ピン配置図のダウンロード ”

ESP8266 Peripherals

ESP8266 周辺機器には以下が含まれます。

  • 17 GPIO
  • SPI
  • I2C (ソフトウェアで実装)
  • I2S DMA
  • UART
  • 10->
    • SATA
    • I2S
      • I1Sインタフェースbit ADC

      Best Pins to Use – ESP8266

      ESP8266 について注意すべき点は、GPIO 番号とボード シルクスクリーンのラベルが一致しないことです。 例えば、D0はGPIO16に対応し、D1はGPIO5に対応します。

      次の表は、シルクスクリーンのラベルとGPIO番号の対応、およびプロジェクトで使用するのに最適なピンと注意が必要なピンを示しています

      緑でハイライトされているピンは、使用してもかまいません。 黄色で表示されているピンは、使用しても問題ありませんが、主に起動時に予期せぬ動作をする可能性があるので注意が必要です。 赤色で表示されているピンは、入出力として使用することをお勧めしません。

      D0

      Label

      の場合

      D8

      Label GPIO Input Output Notes
      Output Label
      Output InputGPIO16 割り込みなし PWM、I2Cサポートなし 起動時HIGH
      ディープスリープからの起動に使用
      D1 GPIO5 OK SCL(I2C)としてよく使われる
      D2 GPIO4 OK OK SDA (I2C) として使用されることが多い
      D3 GPIO0 pull up OK FLASH ボタンに接続されている。 6007>
      D4 GPIO2 pull up OK 起動時HIGH
      オンボードLEDに接続した場合、起動に失敗します。 LOWにするとブート失敗
      D5 GPIO14 OK SPI (SCLK)
      D6 GTPIO12 ok ok spi (miso)
      d7 gpio13 ok ok spi (mosi)
      GPIO15 GNDにプル OK SPI (CS)
      HIGHにプルするとブートに失敗
      RX GPIO3 OK RX端子 ブート時HIGH
      TX GPIO1端子 OK ブート時HIGH
      デバッグ用出力。 LOW にプルするとブート失敗
      A0 ADC0 アナログ入力 X

      ESP8266 GPIO およびその機能についてより詳細な分析を続けるには、続きをお読みください。

      フラッシュ チップに接続された GPIO

      GPIO6 ~ GPIO11 は通常、ESP8266 ボードのフラッシュ チップに接続されています。 そのため、これらのピンの使用は推奨されません。

      Pins used during Boot

      ESP8266は、いくつかのピンがLOWまたはHIGHにプルされると、ブートできないようにすることができます。 以下のリストは、BOOT時の以下のピンの状態を示しています:

      • GPIO16: BOOT時にピンはHIGH
      • GPIO0: LOW
      • プルされるとブート失敗 GPIO2: BOOT時にピンはHIGH、 LOW
      • プルされるとブート失敗 GPIO15: HIGH
      • GPIO3: GPIO1: BOOT時にHigh、LOWにするとブート失敗 GPIO10: BOOT時にHigh
      • GPIO9: BOOT時にHigh

      Pins HIGH at Boot

      特定のピンは3.を出力することがあります。ESP8266の起動時に3Vの信号を出力するピンがあります。 これは、それらのGPIOにリレーやその他の周辺機器を接続している場合、問題となることがあります。 以下のGPIOは、ブート時にHIGH信号を出力します。

      • GPIO16
      • GPIO3
      • GPIO1
      • GPIO10
      • GPIO9

      さらに、GPIO5とGPIO4を除く他のGPIOは、ブートに低電圧信号を出すことがあり、これらがトランジスタまたはリレーに接続している場合問題が生じることがあります。

      GPIO4とGPIO5は、リレーを動作させたい場合、最も安全に使用できるGPIOです。 そのGPIOはADC0と呼ばれ、通常シルクスクリーン上でA0とマークされています。

      ESP8266のベアチップを使用している場合、ADC0ピンの最大入力電圧は0~1Vです。 ESP8266 12-E NodeMCUキットのような開発ボードを使用している場合、これらのボードには内部分圧器が含まれているので、電圧入力範囲は0~3.3Vです。

      以下のガイドで、ESP8266でアナログ読み取りを使用する方法を学ぶことができます。

      • ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua

      オンボード LED

      ESP8266 開発ボードのほとんどは、LEDを内蔵しています。 このLEDは通常GPIO2に接続されています。

      LEDは倒立論理で動作します。 HIGH信号を送ると消灯し、LOW信号を送ると点灯します。

      RST Pin

      RSTピンがLOWになると、ESP8266はリセットされます。 これは、オンボードのRESETボタンを押すのと同じです。

      GPIO0

      GPIO0をLOWにするとESP8266をブートローダモードに設定します。 これは、オンボードのFLASH/BOOTボタンを押すのと同じです。

      GPIO16

      GPIO16 は ESP8266 を深い睡眠から覚めるために使用することが可能です。 ESP8266をディープスリープから目覚めさせるには、GPIO16をRSTピンに接続する必要があります。 ESP8266をディープスリープモードにする方法:

      • ESP8266 Deep Sleep with Arduino IDE
      • ESP8266 Deep Sleep with MicroPython

      I2C

      ESP8266にはハードウェアI2Cピンがありませんが、ソフトウェアで実装することが可能です。 そのため、任意のGPIOをI2Cとして使用することができます。 通常、以下のGPIOがI2Cピンとして使用されます:

      • GPIO5: SCL
      • GPIO4: SDA

      SPI

      ESP8266でSPIとして使用されているピンは以下の通りです。

      • GPIO12: MISO
      • GPIO13: MOSI
      • GPIO14: SCLK
      • GPIO15: CS

      PWM Pins

      ESP8266 ではすべての I/O ピンでソフトウェア PWM が可能です。 GPIO0~GPIO16です。 ESP8266のPWM信号の分解能は10ビットです。

      • ESP8266 PWM with Arduino IDE
      • ESP8266 PWM with MicroPython

      Interrupt Pins

      ESP8266はGPIO16以外のGPIOで割り込みをサポートしています。

      • ESP8266 Interrupts and Timers with Arduino IDE

      Wrapping Up

      ESP8266 GPIOに関するこのガイドがお役に立てば幸いです。 ESP8266 GPIO の適切な使用方法についてヒントがある場合は、下にコメントを書いてください。

      ESP32 GPIO 用の同様のガイドも用意していますので、そちらもお読みください。

      もしあなたが ESP8266 を使い始めたのなら、私たちはあなたが興味を持つかもしれない素晴らしいコンテンツを用意しています。

      • ESP8266 を使用したホーム オートメーション(コース)
      • ESP8266 を始める
      • 30+ ESP8266 プロジェクトとチュートリアル
      • ESP8266 Web Server Tutorial
      • ESP32 vs ESP8266 – Pros and Cons

      お読みいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。