| 記号 | タイトル | 作成日 |
| 0010 | RaspberryPi-Pico + freeRTOSで遊んでみる 「LCDを2台プロセス間通信で制御してみる」 |
2026/01/01 |
タッチパネルでは、文字表示が困難なので、LCD1602で文字表示して、タッチパネルでは、定期的に背景色が変化するように実装してみた。
タイマーが定期的にダミーのタッチイベントをイベントキューにエンキューして、それを一定周期でデキューするとLCD1602の文字表示とタッチパネルの背景色を更新するようにしている。
何故か、このタイマーでエンキューしている処理をタッチパネルの物理的タッチによりエンキューするように改良を試みたが、はまったので、辞めることにした。
Picoで遊ぶのに飽きてきたので、これにて連載をストップしようと思う。
表1.機材一覧
| 名称 | 説明 |
| RaspberryPi-PicoW | 実機 |
| ホストPC | OS:Kubuntu24.04 |
| CH340E | USBシリアル変換器 |
| ILI9341 240x320 SPI TFT LCD | タッチパネル |
| LCD1602 | 16ピンタイプ |
1.プロジェクトのディレクトリー構造を以下に示す。
./
├── build.sh・・・ビルドスクリプト
├── CMakeLists.txt・・・cmakeスクリプト
├── freertos_handlers.c・・・freertosハンドラを分離
├── FreeRTOSConfig.h・・・freertosコンフィグレーション
├── FreeRTOS-Kernel・・・freertosカーネル
├── gpio_lcd.cpp・・・LCD1602制御用クラス
├── gpio_lcd.h
├── LCD_driver.cpp・・・タッチパネル制御用クラス
├── LCD_driver.h
├── main.cpp
└── pico_sdk_import.cmake・・・pico-sdkからコピーする
2.ソースコードを以下に掲載する。
3.CMakeLists.txtを以下に掲載する。
4.ビルドスクリプトを以下に掲載する。
5.Picoとタッチパネル、LCD1602等の配線写真を以下に示す。
写真①
写真②