OutputができないM5StickCのGPIOに合わせて設計変更

アイキャッチ

M5StickCは壊れていない?

昨日の記事で青色LEDを制御するGPOが壊れているのかと考えていました。

M5StickC LED拡張基板の製作2 (実機確認) | てつふくブログ

MtStickC用にLED拡張基板を作った話の続きです。今日は実機で動作確認します。 M5StickC LED拡張基板の製作1 (基板製作) | てつふくブログ 目次 1. 抵抗を買ってきた 2. 配置検討 3. はんだづけ 3-1. 回路図修正(ピン振替) 4. 動作確認 5. LCDが映らなくなる 6.

・・・が、その後もネットで情報収集してると、G36の端子はOutputできないよというページを見つけました。

入力専用ピンだった

上記のページを見た後、必死でエビデンス(データシート)を探したけど上手く見つけられず。ただ、英語版の公式サイトには全ピンでOutputできるよと書いてある。

PWM/timer input/output available on every GPIO pin

https://m5stack.com/products/stick-c

でも、信頼と実績の非公式日本語ドキュメントでは「入力専用です」と。

GPIO36

入力専用端子で出力はできません。また、プルアップとプルダウンも利用できませんので注意しましょう。

https://lang-ship.com/reference/unofficial/M5StickC/

結論。手元の実機の動作からも入力専用で間違いないです。

設計変更

現実を受け入れて設計変更します。

回路

Grove側のGPIO端子は素直に動くと書かれているので、青色制御はこちらのG32に変更します。基板とピンヘッダのままではどうにもならないのでジャンパ線で接続します。

ピンソケット

青色の電流制限抵抗からピンヘッダにつながっている回路を切って、ジャンパを引き出します。

ジャンパ線追加

そしてジャンパの先にはピンソケットをつないで完成。ピンソケットはGrove端子へ。

配線修正済みM5StickC

回路図の配線も修正しました。

プログラム

GPIO36ピンを設定していた部分をGPIO32ピンに変更します。

ソースコードの変更部分はこちら。

void setup() {
  // put your setup code here, to run once:
  pinMode(26,OUTPUT);
  pinMode(32, OUTPUT);    // ← この行
  pinMode(0, OUTPUT);
}

動作確認

それでは動画をご覧ください。

動作OK~!

M5StickC LED点灯

今後は日本語非公式ドキュメントも参考にしながら設計していきます。

エビデンスはどこ?

心残りは、結局公式的なエビデンスは見つけられなかったことです。どこにあるかご存知の方いらっしゃれば教えて・・・

M5CoreのFAQには同様の項目がありましたけど。

Q6: What special GPIO pins do you need to pay attention to in ESP32?

A6: The ESP32 has 34 GPIO pins, of which GPIO 34-39 is only used as an input and cannot be used as an output. Others can be used as both an input and an output pin.

https://docs.m5stack.com/#/en/faq

スポンサーリンク




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です