遅延用のArduinoタイマーライブラリ

Chi Yan Yongnoarduinotaimaraiburari



タイマーは、時間に敏感なタスクを処理するための Arduino の重要なコンポーネントの 1 つです。 Arduino のタイマーは通常、lay() 関数を使用して、短い時間間隔で実行を遅延または一時停止します。ただし、マルチタスクには関数を遅延させるための特別なライブラリが必要です。

このガイドでは、遅延用のさまざまな Arduino タイマー ライブラリを簡単な説明とともに取り上げます。その前に、Arduino の遅延() 関数の制限について理解しましょう。







遅延()の制限事項

late() 関数はブロッキング関数であるため、異なるタスクを同時に実行する場合には使用できません。つまり、Delay() 関数を使用してタスクの実行を一時停止すると、その間は他の関数の実行が許可されなくなります。したがって、あるプログラムを実行中に他のプログラムを停止したい場合は、delay() を使用できません。



ではどうすればよいでしょうか?



関数呼び出しを遅延させるための Arduino タイマー ライブラリ

この問題を解決するには、遅延を実行するために設計された特別なライブラリを使用する必要があります。これらのライブラリを使用すると、プログラム内の一部の関数をしばらく一時停止し、その間に他の関数を実行できます。これらのライブラリは、マルチタスクをブロックしないタイマー ライブラリです。これらは、必要に応じて関数を呼び出すために利用できます。





Arduino コードに Arduino タイマー ライブラリを含める方法

タイマー ライブラリを含めるには、まず次の場所に移動して zip ファイルを追加する必要があります。 インクルードライブラリ Arduino IDEのセクション。 Arduino ライブラリの追加の詳細については、次の記事を参照してください。 Arduino IDEにライブラリをインストールする方法

ステップ1

まず、Arduino タイマー ライブラリをダウンロードする必要があります。



ステップ2

タイマー ライブラリをダウンロードした後、Arduino IDE を開き、[スケッチ]、[ライブラリをインクルード] の順に移動し、[ZIP ライブラリの追加] をクリックします。


Arduinoが表示されます 「ライブラリがインストールされました」 出力で。

ステップ3

ZIP ライブラリを Arduino IDE に追加すると、Arduino IDE の [ライブラリを含める] オプションのドロップダウン リストにそのライブラリが表示されます。ここからは以下を含めます タイマー 図書館。


を含めると、 'タイマー' ライブラリを使用すると、プリプロセッサ ディレクティブがスケッチ上に表示されます。それ以外の場合は、手順 4 に従ってライブラリを手動で含めることができます。

# 含む < タイマー.h >

ステップ4

Arduino コードに Arduino タイマー ライブラリを含めるには、 #含む ディレクティブと一緒に (.h) 拡張タイマー ライブラリ名を入力し、以下に示すようにタイマーを作成します。

#include <タイマー.h>
自動タイマー = timer_create_default ( ;


タイマーを作成した後、そのタイマーを呼び出す関数を作成する必要があります。指定した瞬間、少し遅れた後、または一定の間隔を置いてからタイマーを呼び出す必要がある場合があります。このような状況でタイマーを呼び出す例を以下に示します。

短期間の遅延が必要な場合

タイマーイン ( 遅延、呼び出す関数 ;
タイマーイン ( 遅延、呼び出す関数、引数 ; // またはオプションの引数を使用して ために 呼び出す関数


この場合、次を使用できます。 timer.in() 特定の関数を呼び出す前に遅延を導入する関数。遅延パラメータは、コードを実行する前に待機する時間をミリ秒単位で表します。

指定された遅延の後、 呼び出す関数 使用されます。呼び出し時に関数に渡す引数を定義することもできます。

特定の時間にタイマーを呼び出したい場合

この関数は、特定の時間に特定の機能を実行するようにタイマーを設定します。 time パラメーターは、関数を呼び出す時刻を指定します。これは、特定のタイムスタンプまたはミリ秒単位の遅延値である可能性があります。の 呼び出す関数 タイマーの満了後に実行される関数のパラメーターです。

タイマー.at ( 時間 、呼び出す関数 ;
タイマー.at ( 時間 、呼び出し先の関数、引数 ; // 引数付き


timer.at(時間, 呼び出し先の関数, 引数) 関数は呼び出される関数に引数を渡すことができます。引数パラメータは、関数に渡される値になります。

一定時間後にタイマーを呼び出したい場合

この場合、 timer.every() 関数を使用して、特定の時間間隔の後に関数を繰り返し呼び出すことができます。間隔パラメータは、実行可能な時間間隔の時間をミリ秒単位で示します。

希望の間隔を指定し、 呼び出す関数 その間隔の後に繰り返し使用されます。前のケースと同様に、関数の呼び出し時に関数に渡すオプションの引数を含めることができます。

タイマー.毎 ( 間隔、呼び出す関数 ;
タイマー.毎 ( 間隔、呼び出す関数、引数 ; // ここに間隔を書いてください


関数呼び出しを遅らせるためにタイマー ライブラリを使用するこの方法については、リンクを通じてさらに詳しく学ぶことができます。 遅延機能用のArduinoタイマーライブラリ

Arduino の遅延用のその他のライブラリ

以下のリンクから Arduino のタイマー ライブラリに移動し、関数呼び出しを遅らせるためのタイマー ライブラリをインストールできます。

タイマー ライブラリ by Michael Contreras

関数呼び出しを遅延させるために独自に作成したノンブロッキング Arduino タイマー ライブラリを提供した作者もいます。彼は、millis() や micros() などの Arduino の組み込み関数を使用して、ブロックせずに遅延関数を実行しました。彼のライブラリへのリンクを以下に示します。

マイケルユーレイ Arduinoタイマーライブラリ

結論

Delay() 関数は Arduino にすでに存在していますが、複数のタスクを同時に実行するために使用することはできません。複数のタスクを同時に実行するために、必要に応じて使用できるノンブロッキング タイマー ライブラリが Arduino コミュニティによって作成されました。