0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スマート人感検出(SPD)ライブラリでスマート卓上ファンを作ってみた!(3)制作記 ~ STM32H5のプロジェクトはどう作るか?

Last updated at Posted at 2025-08-27

この一連の記事ではスマート卓上ファンを作ってみます。このファンにはSTマイクロエレクトロニクスのToF(Time-of-Flight)測距センサを使っています。一部のToF測距センサはst.comで提供されるスマート人感検出(以下SPD : Smart Presence Detection)を使うことで高度な人感センサとして動作します。このSPDの結果を使い、羽の回転や左右の首振りを制御します。
0.1.「全体構成」.png

前の記事へのリンク
前回までの記事ではSTマイクロエレクトロニクスのToFとSPDの紹介、機構・モーター制御の考察を進めてきました。この記事ではSTM32CubeMXを使って、NUCLEO-H533REのベースとなるプロジェクトを作っていきます!

3. プロジェクトを生成する

基本となるNUCLEO-H533REのプロジェクトを自動作成していきます。STM32H533ではなくてSTM32F401を使うこともできます。このプロジェクト生成や次章のSPDの移植は少し大変です。STM32F401を使う場合には本章と次章を飛ばしてください。まずはSTM32CubeMXを開いてBoard Selectorから「NUCLEO-H533RE」を選択します。
3.1.「NUCLEO-H533RE」.png
次にボードの機能を設定する場所がありますが、VCOMのチェックをはずします。VCOMは使用しますが、これをBSP機能で賄おうとすると後に出てくるGPDMAのRequestでUSART2_TXが選択できなくなります。融通がききません。
3.2.「BSP機能の設定」.png

3.1 USART2の設定

面倒ですが、さきほどチェックを外したVCOMのための設定を手動で行います。115200にしておきます。
3.3.「USART2の設定」.png

3.2 GPIOの設定

GPIOはボードの構成に合わせます。以前の設定ではデバッガを使っていたら途中で切れる現象などがありました。なぜかと頭をひねっていましたが、デバッガで使っているピンをGPIOにアサインしてしまっていたことに気づきました。基本的なことなのかもしれませんがご注意ください。未使用なピンで近いピンを選んで、それぞれ機能ごとに使います。
3.4.「GPIOの設定」.png
3.4.「GPIOピンの割り当て」.png

3.3 I2Cの設定

VL53L7CXはI2Cでコントロールします。I2C1を設定します。「Speed Mode」は「Fast Mode Plus」を選択します。
3.5.「I2Cの設定」.png

3.4 DMAの設定

SPDのソースコードではUARTの送信側にDMAを使っているので、DMAの設定をします。GPDMAを以下のように設定していきます。
3.6.「GPDMAの設定」.png

3.5 その他の設定

DCACHEやICACHEはONにしないとコードのGenerateでエラーがでるので、ONにしますNVICで割り込みの関数を生成しておきます。
3.7.「NVICの設定」.png

3.6 コードの生成

プロジェクト名を指定して、Application Structureを「Advance」にして、「Generate」ボタンを押してコードを生成します。生成されたプロジェクトを開いてエラー無くコンパイルできることを確認します。
3.8.「Generate」.png

今回はSTM32CubeMXを使って、NUCLEO-H533REのベースとなるプロジェクトを作りました。コンパイルはとおりましたでしょうか?次回はSPDライブラリをSTM32H533のプロジェクトに移植していきます。次の記事につづきます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?