注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。

なぜ参加するのか?

  • 専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。

  • 限定プレビュー:新製品発表や予告編に早期アクセス。

  • 特別割引:最新製品の特別割引を楽しむ。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

ESP32 ボード

ESP32 は、高性能かつ多用途なマイクロコントローラーで、デュアルコア処理、Wi-Fi および Bluetooth を内蔵し、豊富な周辺機器サポートを備えています。低消費電力設計により、コンパクトで高性能な IoT アプリケーションに最適です。

../_images/esp32_board.png

主な特長:

  • 処理性能:Xtensa® LX6 32 ビット・デュアルコア・マイクロプロセッサを搭載し、高い柔軟性と拡張性を実現しています。

  • ワイヤレス通信機能:2.4 GHz Wi-Fi とデュアルモード Bluetooth を内蔵しており、安定した無線通信を必要とするアプリケーションに適しています。

  • メモリとストレージ:大容量 SRAM と高性能フラッシュメモリを備え、ユーザープログラムやデータ保存に対応します。

  • GPIO:最大 38 本の GPIO ピンを備え、さまざまな外部デバイスやセンサーを接続できます。

  • 低消費電力:複数の省電力モードを搭載しており、バッテリー駆動や省エネ用途に最適です。

  • セキュリティ:暗号化およびセキュリティ機能を内蔵し、ユーザーデータとプライバシーを保護します。

  • 高い汎用性:家庭用機器から複雑な産業用機械まで、安定した効率的な性能を発揮します。

ESP32 ボードは、優れた処理能力と多彩な接続機能に加え、豊富な機能を備えており、IoT やスマートデバイス分野で非常に人気の高い選択肢となっています。

ピン配置図

ESP32 では、複数の機能が同じピンを共有しているため、一部のピン使用に制限があります。プロジェクト設計時には、ピンの使用計画を慎重に行い、競合が発生しないか確認することで、正常な動作とトラブル防止につながります。

../_images/esp32_pinout.jpg

主な制限事項および注意点:

  • ADC1 と ADC2:Wi-Fi または Bluetooth 使用中は ADC2 を利用できません。一方、ADC1 は制限なく使用できます。

  • ブートストラップピン:GPIO0、GPIO2、GPIO5、GPIO12、GPIO15 は起動時のブート設定に使用されます。起動に影響を与える可能性のある外部回路の接続は避けてください。

  • JTAG ピン:GPIO12、GPIO13、GPIO14、GPIO15 は JTAG デバッグ用ピンとして使用できます。JTAG デバッグが不要な場合は通常の GPIO として利用可能です。

  • タッチピン:一部のピンはタッチ機能をサポートしています。タッチセンシング用途で使用する場合は注意してください。

  • 電源ピン:一部のピンは電源関連機能専用です。たとえば、3V3 や GND ピンから過大な電流を取り出さないようにしてください。

  • 入力専用ピン:一部のピンは入力専用であり、出力として使用できません。

ストラッピングピン

ESP32 には 5 本のストラッピングピンがあります。

ストラッピングピン

説明

IO5

デフォルトでプルアップされています。IO5 と IO15 の電圧レベルは SDIO Slave のタイミングに影響します。

IO0

デフォルトでプルアップされています。Low レベルにするとダウンロードモードに入ります。

IO2

デフォルトでプルダウンされています。IO0 と IO2 の組み合わせにより ESP32 はダウンロードモードに入ります。

IO12(MTDI)

デフォルトでプルダウンされています。High レベルにすると ESP32 は正常に起動できません。

IO15(MTDO)

デフォルトでプルアップされています。Low レベルにするとデバッグログが表示されません。また、IO5 と IO15 の電圧レベルは SDIO Slave のタイミングに影響します。

ソフトウェアは、「GPIO_STRAPPING」レジスタからこれら 5 ビットの値を読み取ることができます。

チップのシステムリセット解除時(電源投入リセット、RTC ウォッチドッグリセット、ブラウンアウトリセット)に、ストラッピングピンは電圧レベルを “0” または “1” の設定ビットとしてサンプリングし、チップの電源が切られるまでその値を保持します。これらの設定ビットは、起動モード、VDD_SDIO の動作電圧、およびその他の初期システム設定を決定します。

各ストラッピングピンは、チップリセット中に内部プルアップまたはプルダウンに接続されています。そのため、ピンが未接続である場合や、接続された外部回路が高インピーダンス状態の場合、内部の弱いプルアップ/プルダウンによってデフォルトの入力レベルが決定されます。

ストラッピングビットの値を変更するには、外部プルアップ/プルダウン抵抗を使用するか、ホスト MCU の GPIO を利用して ESP32 起動時の電圧レベルを制御します。

リセット解除後、ストラッピングピンは通常の GPIO ピンとして動作します。 ストラッピングピンによるブートモード設定の詳細については、以下の表を参照してください。

../_images/esp32_strapping.png
  • FE:立ち下がりエッジ、RE:立ち上がりエッジ

  • ファームウェアは起動後にレジスタ設定を変更し、「Voltage of Internal LDO (VDD_SDIO)」および「Timing of SDIO Slave」の設定を変更できます。

  • モジュールには 3.3 V SPI フラッシュが内蔵されているため、起動時に MTDI ピンを High レベルに設定してはいけません。