2022年5月21日土曜日

昔のデジタル時計をNTP時計にする(その3;ESP32モジュール基板作成)

なんだか梅雨入りしたような天気で、先週に続き雨の土曜日です。なんだか気分も落ち込みそう。剪定枝の片づけもできません。梅雨入り前に終わらせたかったけど無理かも。

朝からNTP時計の時刻を受信してPICへ送信するモジュールを作りました。載っているのは秋月で330円のESP-WROOM-32Dと、裏面にSMDタイプの3端子レギュレータと3.3V/5Vレベル変換回路が載っています。総額500円以下だと思う。

左の方に出ているピンヘッダはESP32のプログラム用、右下の3ピンのピンヘッダがデジタル時計に繋ぐ電源と信号です。写真では仮に8ピンのPIC12F1501に繋いで検証していますが、最終的には 青色LEDデジタル時計 に繋ぎます。


回路は手書きで汚くて恐縮ですがこんな感じ。左上のSDA,SCKはESP32にI2C接続のLCDを繋いだときのメモの痕跡。


当初、信号を取り出すピンをGPIO12にしていました(ESP32の左側一番下なので半田付けしやすそうだったからという理由で選んだ)が、プログラム書き込み時に以下のエラーがでてプログラムできませんでした。

     A fatal error occurred: MD5 of file does not match data in flash!

色々試しましたが解決できず、ググったら以下のサイトに原因が載っていました。感謝。


Note about GPIO12 (ESP32 only)
GPIO12 is used as a bootstrapping pin to select output voltage of an internal regulator which powers the flash chip (VDD_SDIO). This pin has an internal pulldown so if left unconnected it will read low at reset (selecting default 3.3V operation).

ということで、レベル変換回路に繋いでプルアップにしてあったのでまずいようです。隣のGPIO14に変更しました。

なんか前にもこんなようなことがあった気がします。ESP32のGPIOは機能が予約されているピンがあるので要注意です。備忘録として記載しておきますが、忘れて同じことを繰り返しそう。

今日はこれから3年半ぶりくらいに歯医者にでかけるのでここまで。コロナ禍になる前には年に1回程度は検査と歯石取りに行っていたのですがずっと行けなかった。とくに気になる箇所があるわけではないけど診てもらいます。久しぶりなのでレントゲン検査もあると思うけど、何事もないことを願っています。

0 件のコメント:

コメントを投稿