🤖

kyoto.goのマスコット基板を作って京都行って配ってきた

2024/12/22に公開

この記事はTinyGo Advent Calendar 2024 22日目の記事です。

はじめに

kyoto.goは京都を中心に活動しているGoコミュニティで、毎回楽しく参加させてもらってます。

https://kyotogo.hatenablog.com/entry/2024/11/16/112621

kyoto.goのマスコットがお茶飲んでいるGopher君です。

今回kyoto.goのお茶のみGopherくんの基板を勝手に作って、京都に行って配ってきました。
この記事では基板の組み立て方と動かし方を説明します。

https://kyotogo.connpass.com/event/335437/

今回作成した基板はJLCPCBにスポンサー頂き無料で作成することができました。
ありがとうございます。

https://jlcpcb.com/jp/

LTした基板の作り方については以下のスライドになります。

https://docs.google.com/presentation/d/1MciIpyrCq9MeyJoeo3QhsIVcdM3dYVInasOl9c6lR-w/edit?usp=sharing

基板に必要なパーツと機材

必要なパーツを以下に記載します。

はんだごてが自宅にない方向けに、組み立てに必要な機材を以下に記載します。

基板の組み立て方

まず裏側のマイコンのrp2040-zeroを取り付けする場所に予備はんだをします。
デザインを活かして穴を開けないようにして表面実装にしているので、ちょっとめんどうですみませんm(--)m

詳しい予備はんだの仕方は以下を見てください。
https://www.kogadenshi.co.jp/半田付けテクニック/表面実装部品-smd-の半田付け/

予備はんだをしたら、はんだごてを当ててはんだが溶けている状態で、スズメッキ線か抵抗の足を切るなどして調達したリード線をピンセットでんだづけします。
リード線は片側1列のみはんだ付けすればよいです。

リード線とはこういうはんだづけをしたときのLEDや抵抗などの切れ端の線です。
https://www.oyama-ct.ac.jp/tso/workshop/soldering/soldering_3.html#leads

リード線を片側1列はんだ付けしたら90度に折り曲げたら、ちょっと短くカットしてL字にします。

L字にしたらリード線にrp2040-zeroを挿してはんだ付けします。

もう片方はリード線ではなく、側面にはんだを溶かして表面実装のパットと直接はんだ付けします。

マイコンがはんだ付けできたらWS2812-miniと表面実装の抵抗を付けます。
表面実装の抵抗は裏面に予備はんだをしてから、ピンセットでくっつけます。

WS2812-miniは耳の部分に付けます。
まずは四隅のパットに予備はんだをします。

予備はんだをしたら、はんだを付けたパットにはんだごてを当ててはんだが溶けている状態で、ピンセットでWS2812-miniを載せます
WS2812-miniには向きがあります。切れ込みがある箇所を右下の四隅に持ってきます。

WS2812-miniの四隅がパットとちゃんとはんだついているか確認してください。

WS2812-miniのはんだづけは難しいのでSkipしても構いません。
マイコンとタクトスイッチ、液晶がついていれば、最低限ゲームを書き込んで遊べます。

WS2812-miniを付けたらタクトスイッチ6つをはんだ付けします。
タクトスイッチを付けたら裏からはんだします。

タクトスイッチを付けたら次にSSD1306の液晶を付けます。

最後にGrove端子とブザーを付けたら完成です。

基板の動かし方

基板はもちろんtinygoで動かします。
インストールしてなかったらインストールしてください。

https://tinygo.org/getting-started/install/

koebitenをダウンロードします。
koebitenはsago35さんが作っているebitenをマイコン用に移植したものです。

$ git clone https://github.com/sago35/koebiten.git

以下のPRでサポートしているものと今回の基板の回路は同じです。

https://github.com/sago35/koebiten/pull/11

マイコンをPCにケーブルで接続したら、flashコマンドで書き込みます。
書き込み時はtargetオプションでjsonファイルを指定してください

$ tinygo flash --target ./targets/gopher-board-i2c.json --size short ./games/flappygopher

正常に書き込みが完了して、ちゃんとゲームが動けばOKです。

おわりに

今回始めてJLCPCBのカラー印刷をしてみたのですが、割ときれいに印刷されていい感じでした。

これまでもっぱら普通?に緑色の基板を作ってきましたが、フルカラーもできると幅が広がるので今後も使っていきたいなと思いました。

Discussion