どのようにarduinoのモジュラーコードを記述するには?

私はモジュールを分離してプログラムを作成したいと思いますが、これはArduino IDEを使って可能ですか?

2

5 答え

Arduino用の独自のライブラリを作成することができますが、再利用可能なコードを作成する簡単な方法は、再利用可能にしたいコードを含むヘッダー(.h)ファイルを作成することです。

具体的には、Arduino IDEの新しいタグを作成し、 fooという名前で.h に移動し、メインタブで、コードの先頭に #include "foo.h" を追加します。これは foo.h のコードをコードにコピーしてコピーすることです">ビルドプロセスを実行します。シンプルな実行中に、より複雑なコードを編成するのに役立ちます。あなたのケースでは、コードを再利用するのに役立ちます。

代わりに、通常のArduinoコードファイル(目に見えない拡張子)、Cファイル(.c拡張子)、C ++ファイル(.cpp)、またはヘッダーファイル(.h)を使用することができます。

また、ヘッダーファイルは、 delay()Serial などの典型的なArduinoのコマンドと機能にアクセスすることはできません。コード> #include "Arduino.h" 。ただし、IDEバージョンが1.0未満の場合は、 #include "WProgram.h" を使用します。これにより、それらの機能にアクセスできます。

2
追加された

Arduinoのスケッチには、ライブラリ( https://www.arduino.cc/ja/Guide/Libraries )。

Arduino IDEで作業するためには、そのようなライブラリは特定のフォルダ構造と命名規則(上記のガイドに記載されている)に準拠する必要があります。

それ以外は、他の言語のモジュール化されたコードに似ています。 Arduinoライブラリの標準言語はC ++です。

通常のArduino IDEインストールには、多数のライブラリがプリインストールされているので、そこから見て行ってください。

サンプルのスケッチを見てみることをお勧めします(「例」メニューオプションから)。スケッチの一番上にある#include文が見えるときは、内側の作品についてのより良い理解を得るために、次に見なければならないヒントがあります。

2
追加された

スケッチコードは、新しいタブ(ファイル)ファイル名拡張子なしまたは.inoソース)。 Arduino IDEがビルドプロセスのためにこれらのファイルを組み合わせるので、 #include の必要はありません。

.h/.c/.cppをモジュールとして使用する方法の詳細については、適切なモジュール化のためにライブラリを作成するか、上のリンクを参照してください。

0
追加された

別々のモジュールでプログラムを作成したいのですが、これはArduino IDEを使って可能ですか?

答えはあなたのコードに依存します。

モジュラーコードを記述することは、主に考えプロセスです。

1)ピンを2に設定するのではなく、ピンを設定するコードを設計し、そのコードを使用してLED_PINとして指定されたピンを設定し、ピン2になるようにLED_PINを定義しますこの方法では、新しいプロジェクトでLED_PINを再定義して同じコードを使用するだけです。

2)コードをすぐに作成し、論理ブロックに分解し、各ブロックの入力と出力を設計して一貫して動作させるのではなく、コードのトップダウンを設計する必要があります。これはモジュラーコードを記述するのが最も難しい部分です。

その後、コードを.c/.hファイルに分割することがケーキです。

0
追加された

まあ....答えはinteresstingですが、彼は "分離されたモジュール"と言うときJuanVが考えているものに依存しています... 私にとっては、「古いタイマーソフトウェア開発者」として、「分離されたモジュール」とは、コード(要約)とユーザーダウンロードモジュールの中心的なブロックを構築し、自動的に「プラグ」されて機能を拡張することを意味します。 システムに追加するプリンタドライバのようなもので、すべてのソフトウェアに機能を追加します。 私はこれを使って私の過去の開発者を見ると、私はArduinoでそれを考えていくつかの問題があることを認めなければならない。 あなたがそれを探しているなら、あなたは様々な問題について考える必要があります:

1)更新方法は?おそらく、Android Appを使用してWebからコードを取得し、これらのデータをBluetooth経由でArduinoに送信することがあります。 ArduinoにWifiインターフェイスを追加することも考えられます

2)新しいコードをどこに保存するか...フラッシュ上で「オンザフライ」で書くことができるようですが、複雑なようです

この第2のポイントのために、おそらく、最も簡単な方法は、データを「解釈」する(小さなスクリプトの一種を読み込む)簡単な方法を作成してから、データを送信するだけです。 私はArduino製CNCを見てみることをお勧めします。ほとんどの場合、GCodeインタプリタを使用します。 GCodeはCNCマシンの記述言語です。したがって、通訳者はコードを読んで、コードに従って "注文"をマシンに送ります。 多分このようなことは良い出発点になるでしょう。

逆に、あなたが「モジュラーアプローチ」と呼ぶものがlibを構築して再利用する方法であれば、Gonk主任の答えは方法です:)

0
追加された