スポンサーリンク




Arduino ESP32

【ESP32で電子工作-2】デジタル時計の作成(1)【プリント基板の作成】

インターネット時計の作成(1)
-回路作成から基板発注-

この記事は<JLCPCB>様の提供で執筆しています。

時計を表示させるための回路とプログラミング

今回は自宅に置ける、デジタル時計を作成していきます。
目標は
・ネットワークに接続して時刻の自動調整を行いつつ、平時はRTCを使ってのタイムカウントを行うような回路
・壁にかけれて、目視しやすいような時計

を目指して作っていきます。

 準備するもの

今回、時計を作るために準備した材料は以下になります。

部品銘 個数 購入先 URL
LCD
表示ユニット
TZ-250A
6 ORIGINAL MIND https://www.originalmind.co.jp/useds/38871
ESP32-WROVER DevKitC 1 秋月電子
Amazon
https://akizukidenshi.com/catalog/g/gM-15674/
https://amzn.to/3ksv8Hy
RTCモジュール
RTC-8564NB
1 秋月電子 https://akizukidenshi.com/catalog/g/gI-00233/
I2C I/Oエキスパンダー
MCP23017
3 秋月電子 https://akizukidenshi.com/catalog/g/gI-09486/
ユニバーサル基板 Cタイプ 2 秋月電子 https://akizukidenshi.com/catalog/g/gP-03229/
配線材 大量

こんな感じの材料と家にある、こまごました材料で作成しました。

LCD表示ユニットをオリジナルマインドで見つけて、勢いで購入してから何かに使いたいなーってずっと思っていて、今回の時計作成を思いつきました。
こんなLCDパネル見つけたら使ってみたくなっちゃいますね♪

回路図の設計と回路の作成

今回作成した回路図は以下のようになります。

電源はDevKitCのUSBより給電しています。
LCD表示ユニットを6枚も使用するので、ESP32では足の数が足りません。
そのため、I2C対応のI/Oエキスパンダーを使って、一つのマイコンで複数のLCDパネルを操作できるようにしています。
そして実際に作成した回路が以下のようになっています。


回路を2枚作製して重ねるようにして使います。

配線間違えて、ジャンパとかしちゃって、ぐちゃぐちゃで何とも言えない出来ですね(笑)

プログラムの作成と動作

時計を駆動させるためのプログラムを書いていきましょう。
プログラムはArduinoIDEを使用しています。
ESP32を使用して書き込む設定は「【ESP32で電子工作-1】ESP32の入出力ポートを使用してLED点滅【Lチカ】を読んでいただければわかると思います。

プログラムの流れとしては、

  1. ライブラリの読み込み、変数設定
  2. シリアル、I2C、WIFIの設定
    今回は自宅インターネットにつながってるWIFIルーターに接続しています。
  3. インターネットより現在時刻を取得
    取得した時間をRTCに書き込み
  4. I/Oエキスパンダーの設定、LCDの初期化
  5. ループ関数
    RTCより随時時間を取得してLCDに出力

簡単にザクっと説明するとこのようなプログラムを作成しました。
作成したプログラムは以下のようになります。

※クリックするとプログラムが表示されます

だらだらと同じようなことを繰り返し書いているので、いつか関数化してわかりやすくしたいと思っています。(遠い目)
そして、実際に時計が動いている様子はこのようになります。

基板以外はいい感じですね。
基板は変なところから吊るされているし、線が配線がぐちゃぐちゃっと出ていて大変美しくないです。(哀)

哀しい回路の模様はこちらです。

ということで、この時計回路をプリント基板化してすっきりさせていきたいと思います。

プリント基板作成

プリント基板製作は<JLCPCB>様に依頼します。

プリント基板を発注するために回路図とプリント基板の設計図をKiCadで作成します。
作成した設計図から発注データの作成を行い、JLCPCB様で基板の注文を行っていきます。

回路図とプリント基板の作成

時計の回路をすっきりさせるために、プリント基板の作成をしていきます。
プリント基板を作るのは初めてなので、失敗、間違い等があるかもしれません。ドキドキします。
基板の設計ですが、実際に時計を作ってみてから、いろいろと欲が出てきてしまいました。
追加の機能として目覚まし機能を付けようと思います。なので回路にブザーとランプを組み込みました。
電源は24Vの直流電源を使用して、その電源をリレーを介して、ランプの点灯をさせてみます。
そんなこんなで作成した回路が以下になります。ちなみに回路はkiCADを使用しています。

この回路図を基に作成した部品配置図が以下になります。
綺麗に配置させるのにはなかなか苦労しました。

そして、実際に配線を行った基板の3Dモデルが以下になります。

うーん、カッコいいですね!!この基板が実際に手元に来ると思うとワクワクします!!
いつか、kicadによる基板設計の記事を書こうと思います。

発注用ガーバーデータの作成

まず、発注用データの作成をしていきます。
KiCadの上部アイコンよりPLOTを選択して、「製造ファイル出力」ウィンドウを選択します。


ガーバデータに含むレイヤーに以下の7つを選択します。

レイヤー名 内容
F.Cu 表面の銅箔面
B.Cu 裏面の銅箔面
F.SilkS 表面のシルク印刷
B.SilkS 裏面のシルク印刷
F.Mask 表面のレジストマスク
B.Mask 裏面のレジストマスク
Edge.Cuts 外形レイヤ

レイヤーを選択して製造ファイル出力ボタンを押すことでガーバーデータが生成されます。
正常に生成されると、出力メッセージに以下のような文言が出力されます。

次にドリルファイルを生成します。

マップファイルのチェックが「ガーバー」になっている事、ドリル単位が「mm」になっていることに注意して「ドリルファイルを生成」ボタンを押して、ドリルファイルを生成します。
「*************.drl」ファイルが生成されます。

作成した計8つのファイルから2つのファイルの拡張子を変更します。
「*************.drl」→「*************.txt」
「*************.gm1」→「*************.gml」

拡張子の変更が行えたら、上記で生成したデータが入っているフォルダをZIPで圧縮します。
これで、発注用データの作成は完成です。

実際に発注していきましょう。

JLCPCBで基板の発注

JLCPCBで基板の発注を行っていきます。
JLCPCBにアクセスして、「Order now」を選択します。

「Add gerber file」を選択して先ほど作成したzipファイルをアップロードします。
正常にアップロードされると以下のように作成する基盤が表示されます。
今回作成する基板は5枚作製して7.90ドルで作れるみたいですね。

「SAVE TO CART」を押して、作成基板を買い物かごに入れておきます。
買い物かごに移動して、「Secure Checkout」ボタンを押して購入画面に進みます。

そこで、住所、運輸方法、支払い方法を選択すると発注完了でした。
これで、発注作業は完了です。

基板の到着が待ち遠しいですね。

自分でプリント基板を作れるなんていい時代になりました。
電子工作の幅も技術もレベルもどんどん上がっていきそうです。

基板が届いて実装できたら続編を書きたいと思います

それまで、良き電子工作ライフを!!
See You …

ブログランキング参加中

クリックしていただけると
ブログ更新の励みになります


電子工作ランキング
にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

スポンサーリンク

-Arduino, ESP32
-, , , , ,

© 2021 電子工作でライフハック Powered by AFFINGER5