← プロジェクト概要に戻る Mini 01 ミニ① 完了

ミニ①:デバイス学習

JC4827W543 を 一人で起こせるようにする。 USB 書き込み → Serial → 画面(→ タッチ/SD)。倒立・ESP-NOW・増設 SW はまだやらない。

2026年8月 | PlatformIO | jc4827_tx_tuner | 配線追加なし

Step 0: 構想

JC4827W543 裏面
裏面で USB・BOOT/RST・P2〜P5・TF の場所を指差す
Chocofon(B):
Stick より画面がでかい! でもまず点くのかな……?
AIチューター:
倒立にはまだつなぎません。USB で起こして、文字と画面が出るまでがミニ①です。

Step 1: 調査

AIチューター:
本機は QSPI 版(NV3041A)。RGB 並列版(〜C)と資料が混ざるので注意。 外に出る信号は下辺の 1.25mm 4ピン(P2〜P5)。ピン番号の正はシルク。

書庫:ピン配置と比較ADC 対応表

メモ(プレースホルダ)
  • 画面: 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。

使用したプログラム: GitHub: alt/main_serial_hello.cpp

  1. USB-C を挿す(COM が見えること)
  2. 書き込めないときは BOOT 押しながら RST → BOOT を離す
  3. alt/main_serial_hello.cppsrc/main.cpp にコピー → Upload → Monitor 115200
cd PlatformIO/PlatformIO_Projects/jc4827_tx_tuner
pio run -e jc4827 -t upload
pio device monitor -b 115200
Serial Monitor に hello が出た画面
Serial Hello — Monitor に hello が出た証拠(2026-08-16)
管理人:
「hello」が出たら Step 2 OK。次は Hello LCD。

Step 3: 画面(Hello LCD)

フェーズ3-1 完了 — Arduino_GFX(NV3041A QSPI)+ BL=GPIO1invertDisplay(false)(本機確定。true だと白黒・色が逆)。

使用したプログラム: GitHub: alt/main_hello_lcd.cpp

pio run -e jc4827 -t upload
pio device monitor -e jc4827 -b 115200
invertDisplay true と false の比較。false で color 名と背景色が一致
Hello LCD — invertDisplay(false) で color 名と色が一致(2026-08-16)
Chocofon(B):
黒画面のときはバックライト? 色が逆なら invert?
AIチューター:
まず 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。指の位置に点が乗る
SDOK — 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
Step4: touch OK と SD OK wrote 1 line、指で描いた線
Step4 証拠 — touch OK/SD OK/座標表示(2026-08-16)
AIチューター:
画面をタップして Serial に touch x=… y=… が出ればタッチ OK。 SD はカードを挿したときだけ。無くてもミニ①は進めます。 64GB はだいたい exFAT → Arduino の SD は読めません。PC で FAT32 にフォーマットしてから挿し直してください。
Chocofon(B):
触っても数字が出ないときは?
AIチューター:
ピン割り当てか GT911 の I2C アドレス(0x5D / 0x14)を疑います。管理人に結果を報告してください。
管理人:
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)

Chocofon(B):
画面も触れるし、カードにも書けた! 次はスイッチ?
AIチューター:
次はミニ②で P2/P3 に入力 SW を増やす。倒立・ESP-NOW はミニ③。
管理人:
ミニ①クローズ。ミニ②着手は別途 GO。

つづき

正本: docs/hardware/jc4827-bringup.md
前: (このミニが先頭) | 次: ミニ② 入力 SW(準備中) | プロジェクト概要