ハイハイスクールアドベンチャー_raspberry_pico_lcd版
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| ハイハイスクールアドベンチャー_raspberry_pico_lcd版 [2025/04/25 01:43] – [Pico Res-Touch LCD 3.5] araki | ハイハイスクールアドベンチャー_raspberry_pico_lcd版 [2026/01/14 08:09] (現在) – [RP2350-Touch-LCD-2] araki | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== ハイハイスクールアドベンチャー Raspberry Pico + LCD版 ====== | ====== ハイハイスクールアドベンチャー Raspberry Pico + LCD版 ====== | ||
| + | ===== あらすじ ===== | ||
| + | |||
| + | 2019年((まさかこのゲームが2019年を超えて生き残っているとは思っていなかっただろう。))神奈山県立ハイ高等学校は 地盤が弱く校舎の老朽化も進んだため、 とうとう廃校にする以外方法がなく なってしまった。 | ||
| + | |||
| + | ところで大変な情報を手に入れた。 それは、 | ||
| + | |||
| + | 「ハイ高校にATOMIC BOMBが仕掛けられている。」 | ||
| + | |||
| + | と、いうものだ。 どうやらハイ高が廃校になった時、 気が狂った理科の先生がATOMIC BOMBを 学校のどこかに仕掛けてしまったらしい。 | ||
| + | |||
| + | お願いだ。我が母校のコナゴナになった 姿を見たくはない。 早くATOMIC BOMBを取り除いてくれ……!! | ||
| + | |||
| + | 行動は英語で、“< | ||
| + | |||
| + | それでは Good Luck!!!………… | ||
| ===== 概要 ===== | ===== 概要 ===== | ||
| 行 10: | 行 25: | ||
| 現状、[[https:// | 現状、[[https:// | ||
| + | 追記: [[https:// | ||
| + | また、BLEキーボードもPico 1W/Pico 2Wで利用できるようになっています。 | ||
| ===== あれこれ ===== | ===== あれこれ ===== | ||
| 行 114: | 行 131: | ||
| === SPI上でSDとLCDが競合している場合 === | === SPI上でSDとLCDが競合している場合 === | ||
| - | Pico Res-Touch LCD 2.8(3.5も同様)はSDカードインターフェイスとLCDインターフェイスをSPI1上に置いているため、両社は競合している。 | + | Pico Res-Touch LCD 2.8(3.5も同様)はSDカードインターフェイスとLCDインターフェイスをSPI1上に置いているため、両社は競合しています。 |
| このため。 | このため。 | ||
| 行 154: | 行 171: | ||
| 画面サイズが320x480なので、ハイハイスクールアドベンチャーでは縦長で使うことにしました。 | 画面サイズが320x480なので、ハイハイスクールアドベンチャーでは縦長で使うことにしました。 | ||
| + | |||
| + | ==== RP2350-Touch-LCD-2 ==== | ||
| + | |||
| + | 2インチ (320x240)のタッチパネルとRP2350のボードが一体になったデバイス。 | ||
| + | ST7789T3をコントローラに持つデバイスなので、ピン配置だけ合わせてやればLCD2.8とおおむね同じ感じで動く。 | ||
| + | |||
| + | 但し、TFカードがSPI、液晶がSPI1と SPIの割り振りが違っているので、初期化部分で別コードとなっている。 | ||
| + | |||
| + | ワイヤレス機能はないので、キーボードはUSB一択。 | ||
| + | プロセッサもRP2350なので、Pico2相当一択である。 | ||
| + | |||
| + | インターフェイスはUSB Type Cなので、Raspberry Pi Pico/ | ||
| + | |||
| ==== USBキーボード ==== | ==== USBキーボード ==== | ||
| 行 285: | 行 315: | ||
| static uint8_t const keycode2ascii[128][2] = { HID_KEYCODE_TO_ASCII }; | static uint8_t const keycode2ascii[128][2] = { HID_KEYCODE_TO_ASCII }; | ||
| </ | </ | ||
| + | |||
| + | なお、カーソルキーやスクロールキーは 0 を返すようになっているので、別途処理を追加してやる必要がある。 | ||
| + | <code cpp> | ||
| + | switch (report-> | ||
| + | { | ||
| + | case 0x4f: ch = 0x1d; break; // Right Arrow | ||
| + | case 0x50: ch = 0x1c; break; // Left Arrow | ||
| + | case 0x51: ch = 0x1f; break; // Down Arrow | ||
| + | case 0x52: ch = 0x1e; break; // Up Arrow | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| ==== BLEキーボード ==== | ==== BLEキーボード ==== | ||
| 行 292: | 行 335: | ||
| 線がのたくりまわるのは好きではないので、最初にこっちを実装しようとしたのですが、サンプル見ても、Web界隈で調べても、例によってマイコンをBLEセントラルとして使っている事例は少ないんですよね。 | 線がのたくりまわるのは好きではないので、最初にこっちを実装しようとしたのですが、サンプル見ても、Web界隈で調べても、例によってマイコンをBLEセントラルとして使っている事例は少ないんですよね。 | ||
| - | 実は未だ動いてないので、コードは同梱していませんが、とりあえず、色々実験はしているので、ここまでで得た知見を。 | + | <del>実は未だ動いてないので、コードは同梱していませんが、とりあえず、色々実験はしているので、ここまでで得た知見を。</ |
| + | 無事に動くに至りましたので、そこまでに得た知見をまとめておきます。 | ||
| === ビルド === | === ビルド === | ||
| 行 447: | 行 491: | ||
| + | なお、このBLEキーボードのくだりについては再編集して[[bleキーボードをつなごう_btstack編]]にまとめました | ||
ハイハイスクールアドベンチャー_raspberry_pico_lcd版.1745545426.txt.gz · 最終更新: by araki
