ミニ①:デバイス学習
JC4827W543 を 一人で起こせるようにする。 USB 書き込み → Serial → 画面(→ タッチ/SD)。倒立・ESP-NOW・増設 SW はまだやらない。
Step 0: 構想
Chocofon(B):
Stick より画面がでかい! でもまず点くのかな……?
Stick より画面がでかい! でもまず点くのかな……?
AIチューター:
倒立にはまだつなぎません。USB で起こして、文字と画面が出るまでがミニ①です。
倒立にはまだつなぎません。USB で起こして、文字と画面が出るまでがミニ①です。
Step 1: 調査
AIチューター:
本機は QSPI 版(NV3041A)。RGB 並列版(〜C)と資料が混ざるので注意。 外に出る信号は下辺の 1.25mm 4ピン(P2〜P5)。ピン番号の正はシルク。
本機は QSPI 版(NV3041A)。RGB 並列版(〜C)と資料が混ざるので注意。 外に出る信号は下辺の 1.25mm 4ピン(P2〜P5)。ピン番号の正はシルク。
メモ(プレースホルダ)
- 画面: CS=45 / SCK=47 / D0=21 / D1=48 / D2=40 / D3=39/BL=GPIO1(要実機)
- SD: CS=10 / MOSI=11 / SCLK=12 / MISO=13(別 SPI)
- ESP-NOW 時のアナログは ADC1(IO5/6/7/9)
Step 2: 書き込み(Serial Hello)
AIチューター:
まず Serial Hello だけ。画面は Step 3。
まず Serial Hello だけ。画面は Step 3。
使用したプログラム: GitHub: alt/main_serial_hello.cpp
- USB-C を挿す(COM が見えること)
- 書き込めないときは BOOT 押しながら RST → BOOT を離す
alt/main_serial_hello.cppをsrc/main.cppにコピー → Upload → Monitor 115200
cd PlatformIO/PlatformIO_Projects/jc4827_tx_tuner
pio run -e jc4827 -t upload
pio device monitor -b 115200
管理人:
「hello」が出たら Step 2 OK。次は Hello LCD。
「hello」が出たら Step 2 OK。次は Hello LCD。
Step 3: 画面(Hello LCD)
フェーズ3-1 完了 — Arduino_GFX(NV3041A QSPI)+ BL=GPIO1 +
invertDisplay(false)(本機確定。true だと白黒・色が逆)。
使用したプログラム: GitHub: alt/main_hello_lcd.cpp
pio run -e jc4827 -t upload
pio device monitor -e jc4827 -b 115200
invertDisplay(false) で color 名と色が一致(2026-08-16)
Chocofon(B):
黒画面のときはバックライト? 色が逆なら invert?
黒画面のときはバックライト? 色が逆なら invert?
AIチューター:
まず GPIO1 のバックライトと QSPI/RGB の取り違え。Serial に
まず GPIO1 のバックライトと QSPI/RGB の取り違え。Serial に
LCD ok が出ているかも。
色名と背景が合わないときは invertDisplay の true/false を入れ替えます。
関数一覧は
書庫: GFX 早見
へ。
Step 4: 触る・残す
完了(2026-08-16) — GT911 タッチ座標+ microSD 1行書き込み(FAT32)
単語メモ(ここだけ読めばOK)
- GT911 … 画面のガラスの下にある タッチ用の小さなチップの型番。 指の位置を測って、マイコンに「x=… y=…」と教える係。スマホのタッチと同じ仲間。
- SD(エスディー)… 基板の microSD カードスロット(シルクは TF など)。 小さなメモリーカードを挿す穴。ログや設定をカードに残すときに使う。 カードが無くても Step4 は止めない。
- I2C(アイ・ツー・シー)… GT911 と話すときの細い通信線(SDA/SCL)。 2本の線で「質問→答え」する方式。
- SPI/HSPI … SD カードと話すときの通信方式。 画面(QSPI)とぶつからないよう、別の SPI(HSPI) を使う。
使用したプログラム: GitHub: alt/main_step4_touch.cpp
確定ピン
- タッチ GT911: SDA=8 / SCL=4 / INT=3 / RST=38
- タッチ回転:
ROTATION_INVERTED(ライブラリの NORMAL は本機では上下左右が逆) - SD: CS=10 / MOSI=11 / SCLK=12 / MISO=13(HSPI・4MHz)
- 画面: BL=GPIO1/
invertDisplay(false)
結果メモ
| 項目 | 結果 |
|---|---|
| タッチ | OK — Serial / 画面に x,y。指の位置に点が乗る |
| SD | OK — SD: OK wrote 1 line(カードは FAT32。64GB の exFAT は NG) |
| 描画帯 | ステータス用に Y≈0〜90 は点を描かない(意図どおり) |
pio run -e jc4827 -t upload
pio device monitor -e jc4827 -b 115200
AIチューター:
画面をタップして Serial に
画面をタップして Serial に
touch x=… y=… が出ればタッチ OK。
SD はカードを挿したときだけ。無くてもミニ①は進めます。
64GB はだいたい exFAT → Arduino の SD は読めません。PC で FAT32 にフォーマットしてから挿し直してください。
Chocofon(B):
触っても数字が出ないときは?
触っても数字が出ないときは?
AIチューター:
ピン割り当てか GT911 の I2C アドレス(0x5D / 0x14)を疑います。管理人に結果を報告してください。
ピン割り当てか GT911 の I2C アドレス(0x5D / 0x14)を疑います。管理人に結果を報告してください。
管理人:
Step4 OK。触れる・残せる。
Step4 OK。触れる・残せる。
Step 5: まとめ — ミニ①完了
判定完了(2026-08-16) — JC4827W543 を一人で起こせるようになった。
できたこと
| Step | 内容 | 証拠 |
|---|---|---|
| 2 | USB 書き込み・Serial Hello | serial-hello.png |
| 3 | Hello LCD(NV3041A QSPI・BL=GPIO1・invert false) | hello-lcd.png |
| 4 | GT911 タッチ+ SD 1行(FAT32) | jc4827-touch.png |
このミニで覚えたこと
- Flash は4MB(8MB 想定だとリブート)
- 画面は QSPI NV3041A/バックライト GPIO1/色は
invertDisplay(false) - タッチは GT911(I2C)。回転は
ROTATION_INVERTED - SD は HSPI。カードは FAT32(64GB の exFAT は NG)
- プログラムは
alt/に Step ごとに保管
関数の早見表: 書庫: JC4827 API 早見
コード(GitHub)
- Step2: alt/main_serial_hello.cpp
- Step3: alt/main_hello_lcd.cpp
- Step4: alt/main_step4_touch.cpp
Chocofon(B):
画面も触れるし、カードにも書けた! 次はスイッチ?
画面も触れるし、カードにも書けた! 次はスイッチ?
AIチューター:
次はミニ②で P2/P3 に入力 SW を増やす。倒立・ESP-NOW はミニ③。
次はミニ②で P2/P3 に入力 SW を増やす。倒立・ESP-NOW はミニ③。
管理人:
ミニ①クローズ。ミニ②着手は別途 GO。
ミニ①クローズ。ミニ②着手は別途 GO。
つづき
正本: docs/hardware/jc4827-bringup.md
前: (このミニが先頭)
| 次: ミニ② 入力 SW(準備中)
| プロジェクト概要