制御工学博士の日常+備忘録

ようやく制御工学で博士を手に入れたので真っ当な人間になるべく研究以外の事とか色々と備忘録的にやっていく。そんな感じ

【電子工作】【Lチカ】STM32マイコンでLチカを試す

目的

今まで電子工作をほとんどして来なかったせいか全然マイコンとかいじれないのでサーボモータを動かせるようになっていずれはROSとかロボット設計から制御までできるようになりたいというのがモチベーション

ということでとりあえずSTM32マイコンを買ってみたのでLチカを試してみようと思う。

準備物

  • Nucleo-STM32F446RE(今回使った開発ボード)
  • STM32CubeIDE
  • miniB USB(データ転送可能なやつ)
  • 開発用PC(今回はノートPC), Intel Corei3-1005G1, メモリ16GB(DDR4)

開発ボードのリンクを張っておきますがメルカリとかで掘り出し物を見つけた方がよいかと思います。

akizukidenshi.com

 

開発環境を整える

ここから先は備忘録的に書いていく

STM32CubeIDEをインストール

最新版を下記リンクよりダウンロードする。

 

www.st.com

 

※ダウンロードする際にメールアドレス、名前を書いて同意する必要がある。

同意したら登録したメールアドレスにダウンロードリンクが届くのでそこからダウンロードする。

 

STM32CubeIDEを使ってみる

インストール後の初回起動から先は以下のリンクを参考に進めた。

qiita.com

 

まったく同じボードなのでなにも考えずに真似をすればできました。大変感謝。

仕様としては0.5秒ごとにLD2と書かれているLEDをオンオフ点灯させる。という簡単なLチカ動作となります。

 

一応他の注意事項も以下に示します。

 

日本語化するにはこれ
https://qiita.com/forest1/items/30a0fe08dd256a247ff0

 

※フォルダ名、ファイル名共に日本語には対応していないようなので注意。
ここはmatlabと一緒みたい。英語だったらコンパイルが正常に通る。

 

とりあえずできるようになりましたが、正直本当に自分でGPIOをいじれているのか。プログラムもうまく反映できているのかがわからなかったので、最終的にはB1に対応付けられているプッシュスイッチを押したらLED(LD2)=ON, スイッチを離したらLED=OFFとするLチカをやってみることにしました。

 

プログラム的にはmain.cの104行目付近をいじる。

f:id:kwaz6:20210420224953p:plain

Lチカプログラム部分

HAL_GPIOでLD2_PinはPA5に対応している。

TestOUT_PinというのはPA6に対応するピン配置になっている。

後でオシロスコープで確認しようと思ってたのでコメントアウトで入れてあります。

今回使用しているのはSW(B1)とLED(LD2)のみ。

わからなかったらボードを見ると素子のそばに書いてあります。確認してみるとよいかも。

一応GitHubを使えるようになりたいのでGitHubの方にも勉強がてらUPしてみました。

GitHub - kwaz6/TestLED_forSTM32F446RE: First_Ltika_STM32

 

一応どんな感じになったかについてはtwitterに動画をあげたのでこちらを確認してみてください。

 

まとめ

今回はSTM32マイコンを使ってLチカしてみました。もう少し画像を追加して詳しくまとめるべきですが、自分への備忘録なのでこんなもんでしょうか。

博士とったのにこんなレベルの低いことやっているのかと思いますが、最終的には自分でロボットまで作れるようになりたいので地道に頑張っていきたいと思います。

 

あとで、参考リンクのパクリみたいになりますが、忘れないようにコンパイルまでの詳細な設定を画像で記録して追記しておきたいと思います。

 

お金に困ってなければ、何も考えず強い人と一緒に1年くらいインバータ、モータドライブ、ロボット設計までやりたいなぁ。

 

それでは