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端子へ。
回路図の配線も修正しました。
プログラム
GPIO36ピンを設定していた部分をGPIO32ピンに変更します。
ソースコードの変更部分はこちら。
void setup() { // put your setup code here, to run once: pinMode(26,OUTPUT); pinMode(32, OUTPUT); // ← この行 pinMode(0, OUTPUT); }
動作確認
それでは動画をご覧ください。
M5StickC+LEDで青色も光らせた!ちょっと頑張った!
LED回路を触るのは特別な頑張りではなくて、ブログを続ける方がよっぽど頑張りが必要。ブログはかなり頑張った! pic.twitter.com/2BTP5r0exK— てつふく (@tetsufuku81) September 12, 2019
動作OK~!
今後は日本語非公式ドキュメントも参考にしながら設計していきます。
エビデンスはどこ?
心残りは、結局公式的なエビデンスは見つけられなかったことです。どこにあるかご存知の方いらっしゃれば教えて・・・
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
コメントを残す