shimodash が 2024年03月03日13時56分03秒 に編集
初版
タイトルの変更
BLE制御可能なSPRESENSEのLCDディスプレイ
タグの変更
BLE
SPRESENSE
LCD
ILI9341
spresense
メイン画像の変更
記事種類の変更
セットアップや使用方法
ライセンスの変更
(Apache-2.0) Apache License 2.0
本文の変更
はじめに ==== 2023年SPRESENSE活用コンテストも審査が終了し、参加者の皆様の作品が公開されましたね。 色々な作品を楽しみながら拝見しております。 私のテーマとしては、 **『SPRESENSEをBLEで繋ぎたい』** でした。 作品はBLE-centralを使ってなんとか作れましたが、peripheralの機能を 使えないかと検討しました。 機能 ==== 製作したものは、 * SPRESENSEのメインボードのFlashに予め画像を用意しておく。 * BLE側の送信データに応じた画像を表示 (※現時点でBLEからの画像を送信機能はありませんのでご注意下さい) 部品 ==== | No | 部品名 | 購入先 | 備考 | |:---:|:---|:---|:---|:---| |1 | SPRESENSEメインボード |スイッチサイエンス|https://ssci.to/3900 |2 | ILI9341搭載2.8インチSPI制御タッチパネル付TFT液晶 MSP2807 |秋月電子|https://akizukidenshi.com/catalog/g/g116265/ |3 | BLE1507 (BLE for Spresense) |クレイン電子|[serialization FW版](https://crane-elec.co.jp/products/vol-24/) |4 | SPRESENSE用スタッキングピンヘッダ 9P |スイッチサイエンス|https://ssci.to/6107| |5 | ユニバーサル基板 |---| |6 | 接続ケーブル |---| 基板の製作 ==== BLEモジュールとメインボードを接続すると、LCD制御の為の端子が接続できないので、 モジュールメインボードの間にユニバーサル基板を挟んで信号を取り出すように しました。 ![上面からの写真](https://camo.elchika.com/1edb0817e9c75aead65f0be4bf4d2b3fad31edbe/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35363063333631352d663463342d346431352d616131342d6533373663653463633839332f62613531313939302d343232342d346532342d386638352d386130393330633064326531/) ![側面からの写真](https://camo.elchika.com/8fd202059c36ac29d3175ca34ff5275b7dc4ef1d/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35363063333631352d663463342d346431352d616131342d6533373663653463633839332f35616331323838652d366437392d346538352d383162352d383731343339386436633731/) ![背面からの写真](https://camo.elchika.com/3f879b5e0571dff2fa8df3f0da769673082f1a15/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35363063333631352d663463342d346431352d616131342d6533373663653463633839332f36303132316262662d386434362d343131662d623231622d636363653766396632616233/) ソースコード ==== 参考にさせて頂いたのはLCDはLovyanさんのサンプルコードで BLEのプログラムは、 https://github.com/TomonobuHayakawa/Spresense-Playground/tree/master/ForHandsOn/BLE/ble_peripheral や https://sensing-solution-hackathon-materials.sonyged.com/SPRESENSE_BLE%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86.pdf です。 以下のgithubにアップロードしました。 https://github.com/shimodash/SPRESENSE/tree/master/spresense_display_ble 動作確認の注意点 ===== iosの端末ですと、あらかじめnRF5xというデバイスペアリングが成立していると nRF connectのアプリで接続した際にすぐ切断されてしまうので、 一度、携帯の過去につながったデバイスリストから削除し nRF connect で接続して、 Client Characteristic Configration に 0x0100 をライトして、接続すると うまく行きました。 ![一旦デバイス登録を削除](https://camo.elchika.com/e3a480bbe15a1af311c439ae652a0c1c425c2f20/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35363063333631352d663463342d346431352d616131342d6533373663653463633839332f35636466356631652d316462352d346565302d626463392d663261656531633930323035/) ![Client Characteristic Configration に 0x0100を書く](https://camo.elchika.com/64f52168e2c0be9ae2a0058b40e6cf234aaec753/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35363063333631352d663463342d346431352d616131342d6533373663653463633839332f30306431393039352d613166622d346266622d623830652d663064623064663832346163/) ![ペアリング要求が来るので再度ペアリング](https://camo.elchika.com/7e0db1987de0785053919d4f1298b667c17193c7/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35363063333631352d663463342d346431352d616131342d6533373663653463633839332f30396634613830372d323062312d343162362d623236342d343262616438393832353731/) 切り替えの様子の動画は以下です。 @[youtube](https://youtu.be/hr6LvuoGimg) さいごに ==== ユニバーサル基板の所は基板を作ってみたいなとも思いますし うまくケースにいれて、小さなサイネージデバイスを作ってみたいと思います。 まずは、BLEを通じて外部との接続はできたので良かったです。