LEDパネルキットAKBONE2022で楽しもう！ Beta1版

「AKBONE2022 で LED パネルを使ったオープンソーストレーニングキットを考える」
https://qiita.com/nanbuwks/items/5271dedf196623d452a0

のその後、Beta1 版に改良してイベントで頒布したりはんだづけしたりしました。組み立てや楽しみ方を説明します。

AVTOKYO2022 のブースにて！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3f11fda9-a644-10bc-ee5c-893cabc0be21.png)


# キットのラインナップ

## 基本キット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/21451fda-1e79-c077-6f81-ca532045dd1c.png)

これとLEDパネルを組み合わせて使います。

￥2000

## LEDパネル(安)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e28de1b4-5359-b180-1e66-c08d61d8cc83.png)
P3 ( ピッチ3mm )、192mm x 96mm 、64x32 pixel のパネルです。
なお、P4 ( ピッチ4mm )、256mm x 64mm 、64x32 pixel のパネルも選択できます。

￥2000

## LEDパネル(高)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/da7d09aa-5272-99d3-b51e-8548aadcfa85.png)
P2 ( ピッチ2mm )、 256mm x 128mm 、128x64 pixel のパネルです。


￥5000

## 電源キット 2600mAH (PSE)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/beb59137-6096-cb42-fc98-b7f49840747d.png)

通常の利用シーンはUSB電源につなげて使う想定ですが、AVTOKYOイベントにおいて首から下げてバッジとして使うためにモバイルバッテリーをオプションで用意しました。

￥1000

## 電源キット 3100mAH (BASEN)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b6955f80-5659-210a-ab13-b03bb2a2122e.png)

ちょっと高性能なモバイルバッテリーキットです。

￥1500

## ブースターパック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/03d3dbd5-b03a-74fc-70ee-a7bf44ce6e00.png)

センサなどをつなげて、いろんな機能を使えるようにするパーツです。

￥2000

## Linuxオプション

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3ecf559d-cfee-4537-bb56-5d1b7909330f.png)

Linux が動作する、Lichee Pi Nano モジュールをつなげることができます。  
128x64 Pixel のパネルとつなげて、 6x8 フォントを使うと 21文字 x 8 列のコンソールを実現するためのオプションです。  
Lichee Pi Nano の F1C100S コア を使った Linux ブート開発のトレーニングに使うことを想定しています。

￥1000



# 原価の計算

https://docs.google.com/spreadsheets/d/1HNu2tW9RvKKuJ6njqEtMJ9Ac-R2BFC53DG48MIm28ME/edit?usp=sharing

ううむ、売価原価3倍の法則はキビシイぞ。
売価は原価の1.7倍ぐらいにしてみました。

# 組み立て方
## 用意する道具


- はんだごて 
- ピンセット
- ニッパー

## 基本キット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e4fb1f49-bcae-c8de-f22d-827cdad1054d.png)


内容の一覧です。

- 基板 x 1
- ターミナル x 2
- 0.1μF 1206メトリック表面実装コンデンサ x 2 (多めに入っています)
- ピンソケット 一列 (切って使います)
- ESP32ボード x 1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/0a966bfb-72f2-cff6-ed9e-458e51ab5702.png)

Beta1の基板です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/77303a85-8270-b974-a4cd-3a6b17d86cc3.png)

Beta1 のPCBは ESP32 Devkit のいくつかのタイプに対応しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c3c951dd-edb8-cd3d-f9e7-c406931a4c46.png)

キットに入っている ESP32 ボードに合わせてピンソケットをカットします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b2108d65-a2b7-383e-9091-8d515b55c46f.png)


このように取り付けます。基板の表裏に注意! 注意! 注意!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/02a825e9-a1af-08f1-0f32-f8e2782ecd38.png)


一列をはんだづけします。終わったら反対側のもう一列も。ちなみに、ESP32はまだ接続しないのが無難です。アース処理ができていない機材の場合は、パーツを壊す可能性があります。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/caad686d-6150-0986-fa56-8175ba571c9d.png)

ボックスヘッダをはんだづけ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c256b3a2-727f-7a3f-b13c-631d62db18f3.png)


ターミナルを2つつけます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f7b61f40-7bf4-61ba-2597-06a9b26d7627.png)


表面実装のコンデンサ、予備で1つ入ってますが2つをはんだづけします。
C1 は ESP32 への書き込みの安定化のためのコンデンサです。
C2 はロータリーエンコーダーの安定化のためのコンデンサで、ロータリーエンコーダーはブースターキットに含まれるパーツですが、ここで一緒に取り付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/433d0fd9-3d9e-071a-1a4c-d5b64b956093.png)


片側にはんだを盛ります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/122202c2-1d1c-da2f-6d1c-909ff89ed7e7.png)

ピンセットを使ってはんだをとかし、付けてみましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/fba9a337-e021-70b7-9e97-0796a5f03e83.png)


もう片側もはんだづけします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e2f4ddb9-febc-94d8-ff44-9d4661ddd215.png)


うまくできたかな？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/4ddb9572-3f99-79d7-fcd8-74bf479f842d.png)



基本キット完成です！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c82125e5-7c91-0014-2b59-24d4f65f2813.png)

PCにつないでみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/330c25cf-91b6-d80e-cc4b-ecd0ca0a2363.png)



※ ブースターパックの組み立ては更に下にあります。

# ソフトウェア

開発環境をセットアップ、サンプルプログラムを書いてみます。
「LEDパネルキット AKBONE2022 の環境構築を自分でやってみる」
https://qiita.com/nanbuwks/items/d4523ebfb9cabdae90c5


ESP32のソフトが書き込みできるかどうかテストしましょう。

> ESP32 ボードを接続し、シリアルポートとボードを合わせます。
> 動作確認プログラムは
> 「スケッチ例」-「ESP32」-「ChipID」-「GetChipID」を試してみました。
> 
> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d99262b1-f2b3-27a7-24ab-d173be39a160.png)

ここまで確認できたら、ケーブルをつなげて光らせてみましょう！

# パネルと接続して光らせてみる

電源ケーブルをネジ止め。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3813a5ff-8729-df84-fa76-70e2d78e9cd2.png)

基板とパネルの配線はこのようになります。
パネル側のフラットケーブルのコネクタは2箇所あるので左側に取付てください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ac39e783-12d3-fe01-8250-10470b94c106.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/02bac9ce-f447-bb3f-fae3-f327a31aa3ef.png)

# パネルに基板を固定

うまく動いたら、基板をパネルに取付けます。

AVTOKYOで頒布したバックパネルのセットです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/250f91e6-e92f-a902-a357-3f40c3bf7615.png)


ダボが邪魔になるのでカット。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f4bfacc2-0222-4e84-a8a2-951276c617a9.png)

ネジはこの位置に取付ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/7d0d3b4b-4ffa-5364-c549-10386c780b27.png)

モバイルバッテリーで駆動したところ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/13ce7356-45f5-3413-564b-6445b2dcb1ce.png)


AVTOKYO では、低レベル勉強会のロゴを併せて頒布しました。かっこよく貼り付けましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8cfcb0ef-0579-fc89-0ccc-17e148def67c.png)


AVTOKYO のストラップをとりつけてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/48ebf121-5574-9ff8-55f2-d9906ff63160.png)


マグネットを使って、貼り付けもできます。工夫してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/aab43895-6a6f-880c-0522-a6c364824f9a.png)

この、AVTOKYO のロゴは、次の作業で表示することができます。

# SPIFFS を使えるようにする

画像ファイルを表示してみましょう。

https://github.com/nanbuwks/AKBONE2022
こちらからレポジトリをクローンしてローカルに保存します。
クローンしたファイルのうちの
AKBONE2022/Arduino/sketchbook/avtokyo2022demo を開きます。

AVTOKYOでは、パネルを3種類頒布しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e149a91a-ada6-110c-3c19-d68d9ca702d0.png)
左から、P4パネル、P3パネル、P2パネルです。


- P4(ピッチ4mm) 256mmx128mm 64x32pixel
- P3(ピッチ3mm) 192mmx96mm 64x32pixel 
- P2(ピッチ2mm) 256mmx128mm 128x64pixel

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/50836430-380e-0172-9225-1ee0849d0d32.png)
パネルのピッチが違うのがわかります。

パネルの種類に応じて、該当箇所を書き換えます。書き換えは5箇所です。



## AVTOKYO で頒布した、 256x128mm の P4 パネルの場合

サイズを指定。
```
#define PANEL_64x32
//#define   PANEL_128x64
```
次の箇所を丸々無効にします。

```

struct LGFX_HUB75 : public lgfx::LGFX_Device
{
  struct Panel_Custom_HUB75 : public lgfx::Panel_HUB75
  {
/*/ X 座標が8ドット単位で逆順になる場合の対策が必要な場合はこのoverrideを有効にする

    void _draw_pixel_inner(uint_fast16_t x, uint_fast16_t y, uint32_t rawcolor) override
    {
      Panel_HUB75::_draw_pixel_inner((x & 8) ? x : (x ^ 7), y, rawcolor);
   // Panel_HUB75::_draw_pixel_inner((x & 8) ? (x ^ 7) : x, y, rawcolor);
    }
//*/
  };

```

行デコード方法をバイナリとします。
```
      // パネルの行選択の仕様に応じて指定する
      //cfg.address_mode = cfg.address_shiftreg;
      cfg.address_mode = cfg.address_binary;
```

列ドライバの初期化コマンドを送らないようにします。
```
      // LEDドライバの初期化コマンドを指定する
      cfg.initialize_mode = cfg.initialize_none;
      //cfg.initialize_mode = cfg.initialize_fm6124;
```
パネルの縦横ピクセル数を指定します。
```
      // ここでパネルサイズを指定する
      // 複数枚並べる場合は全体の縦横サイズを指定
      cfg.memory_width  = cfg.panel_width  = 64;
      cfg.memory_height = cfg.panel_height = 32;
```


## AVTOKYO で頒布した、 192x96mm の P3 パネルの場合

サイズを指定。
```
#define PANEL_64x32
//#define   PANEL_128x64
```
次の箇所を丸々有効にします。

```

struct LGFX_HUB75 : public lgfx::LGFX_Device
{
  struct Panel_Custom_HUB75 : public lgfx::Panel_HUB75
  {
// X 座標が8ドット単位で逆順になる場合の対策が必要な場合はこのoverrideを有効にする

    void _draw_pixel_inner(uint_fast16_t x, uint_fast16_t y, uint32_t rawcolor) override
    {
      Panel_HUB75::_draw_pixel_inner((x & 8) ? x : (x ^ 7), y, rawcolor);
   // Panel_HUB75::_draw_pixel_inner((x & 8) ? (x ^ 7) : x, y, rawcolor);
    }
//*/
  };

```

行デコード方法をバイナリとします。
```
      // パネルの行選択の仕様に応じて指定する
      //cfg.address_mode = cfg.address_shiftreg;
      cfg.address_mode = cfg.address_binary;
```

列ドライバの初期化コマンドを送らないようにします。
```
      // LEDドライバの初期化コマンドを指定する
      cfg.initialize_mode = cfg.initialize_none;
      //cfg.initialize_mode = cfg.initialize_fm6124;
```
パネルの縦横ピクセル数を指定します。
```
      // ここでパネルサイズを指定する
      // 複数枚並べる場合は全体の縦横サイズを指定
      cfg.memory_width  = cfg.panel_width  = 64;
      cfg.memory_height = cfg.panel_height = 32;
```


## AVTOKYO で頒布した、 256x128mm の P2 パネルの場合


サイズを指定。
```
//#define PANEL_64x32
#define   PANEL_128x64
```
次の箇所を丸々無効にします。

```

struct LGFX_HUB75 : public lgfx::LGFX_Device
{
  struct Panel_Custom_HUB75 : public lgfx::Panel_HUB75
  {
//* X 座標が8ドット単位で逆順になる場合の対策が必要な場合はこのoverrideを有効にする

    void _draw_pixel_inner(uint_fast16_t x, uint_fast16_t y, uint32_t rawcolor) override
    {
      Panel_HUB75::_draw_pixel_inner((x & 8) ? x : (x ^ 7), y, rawcolor);
   // Panel_HUB75::_draw_pixel_inner((x & 8) ? (x ^ 7) : x, y, rawcolor);
    }
//*/
  };

```

行デコード方法をシフトレジスタ形式とします。
```
      // パネルの行選択の仕様に応じて指定する
      //cfg.address_mode = cfg.address_shiftreg;
      cfg.address_mode = cfg.address_binary;
```

列ドライバの初期化コマンドで輝度指定を送るようにします。
```
      // LEDドライバの初期化コマンドを指定する
      // cfg.initialize_mode = cfg.initialize_none;
      cfg.initialize_mode = cfg.initialize_fm6124;
```
パネルの縦横ピクセル数を指定します。
```
      // ここでパネルサイズを指定する
      // 複数枚並べる場合は全体の縦横サイズを指定
      cfg.memory_width  = cfg.panel_width  = 128;
      cfg.memory_height = cfg.panel_height = 64;
```

## ファイルアップロード  


「LEDパネルキット AKBONE2022 の環境構築を自分でやってみる」
https://qiita.com/nanbuwks/items/d4523ebfb9cabdae90c5#spiffs-%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
の「SPIFFSを使えるようにする」の設定を行っておきます。

「ツール」 - 「ESP32 Sketch Data Upload」で、アップロードし、スケッチも登録すると以下のように画面が出ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5f3b2b62-2797-dbac-3394-2af3f20c2fd4.png)

# ブースターパック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ebb83dbd-2b0c-1d66-538e-1c86fa7ea8f8.png)

内容物一覧です

- ロータリーエンコーダ
- ツマミ
- ブザー
- LED
- 330Ω抵抗 1206メトリック
- 10kΩ抵抗 1206メトリック
- SDカードソケットアダプタ
- MPU6500ジャイロモジュール
- GY-BME280-3.3 温湿度気圧センサ
- GROVEコネクタ
- PCF8563 RTCモジュール
- CR1220 電池
- ピンソケット(約30pin分)
- ピンヘッダ
- ジャンパー


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f48d2064-3724-84bc-3044-35bf4532e347.png)



## ブースターパック搭載の拡張モジュール詳細


中華製の市場で安く購入できるものをつなげられるようにしています。

ジャイロ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/cc217339-efc9-09ab-7f8c-0c27e9a2bbd6.png)

RTC
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d14b0ed1-8dd6-12c3-c201-a3ce8bf8fb1f.png)


温湿度気圧センサ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9688b2a9-6818-3198-4b26-5e0db2384f0e.png)

このほか、ロータリーエンコーダー、GROVE端子などなど。

## ブースターパック組み立て

再度基板にはんだ付けします。まずはESP32のモジュールを外しておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f0fbdcfa-1271-ea0b-cb0a-923b6dc84edb.png)

330Ωの抵抗を取り付けます。331と書いてある抵抗です。なくしてもいいように余分に入っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/84846290-2c5f-e498-8097-29441f0f1930.png)


4.7kΩの抵抗を取り付けます。シルクには 10kΩ(104) x4 と書いていますが、今回は4.7kΩ(472)を5個取付ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/653c4b23-b707-7a82-0b90-771e2e981e37.png)

LEDを取付ます。ピンの長い方が下です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c6d99b04-7e87-c333-a31e-811a77296ef5.png)
裏側の足は余分を切りましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/826003cf-cfa8-3bf4-b497-d61d19a8e8d7.png)

6P ピンソケットを取り付け

ピンソケットを必要な長さで切り、写真の箇所にはんだづけします。マスキングテープで止めてはんだ付けしましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d70fddb8-61b8-2d80-fa33-c81ffd46ec29.png)

LEDの近くにも6P 分をはんだづけします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/31b20b4f-bfc2-3882-4f97-452b07d45346.png)


この位置に10P分を取付ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/4d902622-3618-f6ec-714c-c6273c046b1f.png)

補助電源コネクタを取付ます。ピンヘッダを6つ分切って取付てください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ff16954a-a2a9-1441-9b75-e6ccf6a723f6.png)
圧電ブザーと、ジャンパーコネクタを取付ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9b1c648e-cd2c-6c80-711d-8c0a0e2de8d7.png)
ジャンパーを取り付けておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/77205fb2-e664-75dd-820b-37fcdd42b706.png)

GROVE対応機器を接続できるコネクタを接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/0cf502e5-a98b-eac1-3882-cde0763e9e88.png)

ロータリーエンコーダを取り付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1af0aae7-9afc-e1fb-e07f-1637513beaa7.png)

中華モジュールにピンをはんだづけします。microSDカードモジュールのみ部品面にピンを立てるのに注意。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b485d277-dbb0-f8b9-8e07-589737555065.png)

モジュールを装着します。RTCモジュールに電池を入れます。microSDカードモジュールは裏返して装着してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/aebc6071-e52e-6b36-a58d-b8bc80a5addb.png)

ツマミをつけて完成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/96afebfe-5d94-f871-988f-a1f682ccaa3e.png)

# モジュールを活用したサンプルプログラム

Beta1 の注意点

I2Cの設定ですが、Beta1 の割当が次のようになっています。

- SDA 22
- SCL 21

通常は以下のようになっています。

- SDA 21
- SCL 22

なのでI2Cのピンマッピングを変更する必要があります。 Arduino 開発環境の場合、以下のようにしてI2Cの初期化をします。

```
  Wire.begin(22,21);
```


## モジュールがつながっているか確認する

「ESP32 を使って I2C スキャナ」
https://qiita.com/nanbuwks/items/c235f7f867f6139b6c8b

を使って、I2Cに接続したアドレスを確認します。先のI2Cの初期化部分を書き換えて実行します。
```
Scanning...
I2C device found at address 0x51  !
I2C device found at address 0x68  !
I2C device found at address 0x76  !
done
```
と出ればOKです。

アドレスは以下のように割当となります。

- 0x51 PCF8563 RTCモジュール
- 0x68 MPU6500ジャイロモジュール
- 0x76 GY-BME280-3.3 温湿度気圧センサ


## 温湿度気圧センサBME280を使ってみる

サンプルプログラムの BME280demo を使ってみます。

「LEDパネルキット AKBONE2022 の環境構築を自分でやってみる」
https://qiita.com/nanbuwks/items/d4523ebfb9cabdae90c5#bme280%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B
の「BME280ライブラリを導入する」を行うと、温度湿度気圧が表示できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b45f5b1a-26ae-85f7-d684-9323b07ec052.png)

## カレンダモジュール RTC PCF8563 を使ってみる

「LEDパネルキット AKBONE2022 の環境構築を自分でやってみる」
https://qiita.com/nanbuwks/items/d4523ebfb9cabdae90c5#rtc-%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B
の「RTC ライブラリを導入する」を行うと、カレンダ機能が使えるようになります。

64x32pixelパネルの例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/4018fa67-f410-b5aa-afae-cbf61177ec3e.png)

128x64pixelパネルの例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e34878e1-ebfb-0093-e801-a4529b0caa93.png)

## ジャイロモジュール MPU6500 を使ってみる
「LEDパネルキット AKBONE2022 の環境構築を自分でやってみる」
の
「ジャイロセンサライブラリを導入する」を行うと、6軸加速度が取得できるようになります。
https://qiita.com/nanbuwks/items/d4523ebfb9cabdae90c5#%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B
https://twitter.com/i/status/1589277896434397184

## その他のモジュールのサンプルソフトウェア

後ほど公開します! 乞期待!

# ピン配置

```
#define R1PIN     33
#define G1PIN     32
#define B1PIN     25
#define R2PIN     18
#define G2PIN     19
#define B2PIN     5
#define A0PIN     12
#define A1PIN     14
#define A2PIN     27
#define A3PIN     26
// #define A4PIN       4 // GND
#define CLKPIN    4
#define LATPIN    17
#define OEPIN     16
#define LEDPANEL_X      64
#define LEDPANEL_Y      32
```
その他


|ESP32|Linuxボード|信号名|説明| 
|:----:|:----:|:----:|:----:|
|VP(GPIO36)||SW_B|ロータリーエンコーダーB相|
|VN(GPIO39)||SW_ANALOG|ロータリーエンコーダーSWとESCスイッチのマルチプレックス|
|GPIO34||SW_A|ロータリーエンコーダーA相|
|GPIO35|MOSI/RX|SDMISO_SMOSI_RX2|microSDソケットMISO/LinuxボードSPI0_MOSI/ジャンパー選択でLinuxボードRX|
|GPIO23|MISO/TX|SDMOSI_SMISO_TX2|microSDソケットMOSI/LinuxボードSPI0_MISO/ジャンパー選択でLinuxボードTX|
|GPIO13|SCLK|SCLK|microSDソケットCLK/LinuxボードSPI0_CLK|
|GPIO22||I2C_SDA|センサやGrove端子のSDA|
|GPIO21||I2C_SCL|センサやGrove端子のSCL|
|GPIO2||BUZZER|圧電ブザー|
|GPIO15|CS|CS|microSDソケットCS/LinuxボードSPI0_CS|
|TX|RX|TX|ESP32ボード上でUSBシリアルとして接続/ジャンパー選択でLinuxボードRX|
|RX|TX|RX|ESP32ボード上でUSBシリアルとして接続/ジャンパー選択でLinuxボードTX|




SW_ANALOGは、10kでプルアップされていて、ロータリーエンコーダーSWを押すとGND,ESCを押すと電圧が中点となります。両方押すとGND。