Spresense SDKでカメラモジュール用のサンプルを動かした

概要 ソニーのシングルボードコンピュータSpresense及びSpresense用カメラモジュールを使って、公式で公開されているサンプルプログラムを動かした。 大体READMEの手順に従ったが、ところどころ詰まるところがあったのでメモとして残しておく。 Spresenseの簡単な説明 ソニーが開発したシングルボードコンピュータ。 Arduino IDEで開発可能。 NuttXというリアルタイムOSベースのSpresense SDKでも開発できる(今回はこっち)。 機能の主な特徴は以下。 GPSが標準で内蔵されている。 マルチコア(6コア!)プロセッサ。 メインボード単体だとネットワーク機能が使えないという点が個人的にはネックだと思っている。 Spresenseが出る少し前に流行し始めたEPS32系にすべて持っていかれている印象がある。 サンプル実行手順 今回動かしたサンプル 今回はカメラモジュールの動作確認がしたかったので公式が公開しているexamples/cameraを動かした。 実行環境 OS:Windows10上のWSL(Ubuntu16.04) 開発環境:Spresense SDK 手順 基本はスタートガイド参照。 1.開発ツールのセットアップ、ブートローダのインストールを行う。 ここは公式の手順通りでいけるはずなので省略。 2.手順1.でSpresenseのプロジェクト一式をGitHubから落としてきているはずなので、その中のexamples/camera/README.txtを確認する。 READMEを読むと、液晶コントローラILI9340で駆動しているLCDを使って、カメラが取得した画像を表示できるようになっていることが分かる。 3.ILI9340で駆動しているLCDを用意してSpresenseにつなぐ。 今回はちょうど手元にILI9341で駆動している2.2インチTFTがあったのでそれを使った。 ここが引っかかるポイントその1(だと思う)。 READMEを読むと、拡張ボードを使わない場合はSPI5のピンにSPI関係の4ピンをつなげばよいということは書いてあるのだが、TFTのDCピンとRESETピンの配線先ピンが分からない。 この問題に関しては、コードを読みこむ必要があり(本当はどこかに説明書きがあるのかもしれないが…)、/sdk/bsp/board/spresense/include/board.h198行目~に定義されている。 #if defined(CONFIG_LCD_ON_MAIN_BOARD) /* Display connected to main board. */#define DISPLAY_RST PIN_I2S0_BCK #define DISPLAY_DC PIN_I2S0_LRCK #define DISPLAY_SPI 5 この記述から、DCピンはI2S0 LRCKピン、RESETピンはI2S0 BCKピンにつなげば良いことがわかる。 4....

November 30, 2019 · 1 min