ソフトウェアを開発する際、ファイル分割しさらにサブディレクトリに整理したくなることがあるかと思います。特に C/C++ では a.hpp, a.cpp, b.hpp, b.cpp のように一機能に対して複数ファイルになることが多いので、早い段階で整理したくなります。 しかし Arduino では、普通にサブディレクトリを作成しても全然ビルドしてくれません。そこで Arduino の仕様を探索しましたので対処策をいざ投下 TL;DR プロジェクトのルートディレクトリに src ディレクトリを作成し、その中にサブディレクトリを配置します。こうするとサブディレクトリ下に配置したソースファイルも再帰的にビルド対象に含んでくれます。 project ├── project.ino └── src <-- これだけ! ├── common │ ├── vector2d.hpp │ └── vector2d.cpp ├── hardware │ ├── motor.hpp │ └── motor.cpp └── network ├── mdns.hpp ├── mdns.cpp ├── http_server.hpp └── http_server.cpp ヘッダをインクルードする際は各ファイルからの相対パスでインクルードします。
2025-09/3
Arduino 向けの C++ ライブラリです。ロボコンでよく使うアクチュエータのドライバ、通信機能を関数、クラスとして提供しています。
2025-05/17
Lチカを極める
2024-10/26
GitHub Actions と Google Test を使って、Arduino のライブラリにテストを追加する方法を紹介します。
2024-10/22
GitHub Actions と arduino-cli を使って、自動的にテストを行う方法を紹介します
2024-10/19
通常、Arduino のライブラリは、サブディレクトリにあるヘッダーファイルや、拡張子無しファイルをインクルードすることができません。これを実現する裏技を紹介します。
2024-10/18
Arduino 系の関数やライブラリの多くに、コールバック関数からメンバにアクセスできないという問題があります。その原因と解決策について説明します。
2024-10/16
WebSocket を通じて PC やスマホから調光可能なモニターライトです。
2024-09/22
自動対戦可能なオセロです。Arduino を用いて初めて作ったプロダクトです。ソースがとても汚いです。
2021-08/31