タイマーは、時間間隔の測定に使用される時計の一種です。タイマーには2種類あり、1つはゼロから上向きにカウントして経過時間を測定するもので、ストップウォッチと呼ばれます。そして、2番目のものは、一般にカウントダウンタイマーと呼ばれる、ユーザーによって提供された指定された期間からカウントダウンします。
ここで、このチュートリアルでは、Arduinoを使用してカウントダウンタイマーを作成する方法を示します。ここでは、時間を取得するためにリアルタイムクロック(RTC)モジュールを使用していません。期間は、キーパッドと16x2LCDを使用してユーザーが提供します。そして、タイマーがゼロに達すると、ブザーの助けを借りて警告音が鳴ります。
必要な材料
- Arduino UNO
- LCD 16 * 2
- 4 * 4マトリックスキーパッド
- ブザー
- ボタンを押す
- ポテンショメータ(10k)
- 抵抗器(10k、100オーム)
- 接続線
Arduinoカウントダウンタイマーの回路図
ここではArduinoUnoをメインコントローラーとして使用しています。キーパッドは時間を供給するために使用され、16 * 2LCDはカウントダウンを表示するために使用されます。押しボタンは時間を開始するために使用されます。4x4キーパッドをArduinoに、16x2LCDをArduinoに接続する方法をここで確認してください。
Arduinoカウントダウンタイマーコードと説明
完全なArduinoタイマーコードは、このプロジェクトの最後に記載されています。
以下のこのコードでは、キーパッドとLCDのライブラリ、およびコードで使用される変数を初期化しています。
#include
さて、以下のコードでは、noを初期化しています。キーパッドのマトリックスを定義するための行と列の数。
constバイトROWS = 4; // 4行constバイトCOLS = 4; // 3列の文字キー= {{'1'、 '2'、 '3'、 'A'}、{'4'、 '5'、 '6'、 'B'}、{'7'、 ' 8 '、' 9 '、' C '}、{' * '、' 0 '、'# '、' D '}};
4 * 4マトリックスキーパッドをArduinoに接続するには、行と列のピンを定義する必要があります。したがって、以下のコードでは、キーパッドと16x2LCDのピンを定義しています。
byte rowPins = {6、7、8、9}; //キーパッドROW0、ROW1、ROW2、およびROW3をこれらのArduinoピンに接続します byte colPins = {10、11、12、13}; //キーパッドCOL0、COL1、およびCOL2を接続しますto t LiquidCrystal lcd (A0、A1、5、4、3、2 ); // LCオブジェクトを作成します。パラメータ:(rs、enable、d4、d5、d6、d7)
以下のコードは、キーパッドの作成に使用されます。
キーパッドkpd = Keypad(makeKeymap(keys)、rowPins、colPins、ROWS、COLS);
では 、ボイドsetFeedingTime() ファンクションコード、プッシュボタンを押した後、我々はタイマーの時間を入力することができ、その後、タイマーの継続時間を入力した後、我々はカウントダウンを開始するために押してDに持っています。
void setFeedingTime(){feed = true; int i = 0; lcd.clear(); lcd.setCursor(0,0); lcd.print( "給餌時間を設定"); lcd.clear(); lcd.print( "HH:MM:SS"); lcd.setCursor(0,1); while(1){key = kpd.getKey(); char j; if(key!= NO_KEY){lcd.setCursor(j、1); lcd.print(key); r =キー-48; i ++; j ++; if(j == 2 --j == 5){lcd.print( ":"); j ++; } delay(500); } if(key == 'D'){key = 0; ブレーク; }} lcd.clear(); }
ボイドセットアップ()関数 、我々は、LCDとシリアル通信を初期化しており、以下のコードでは、入力及び出力としてピンを定義しました。
void setup(){lcd.begin(16,2); Serial.begin(9600); pinMode(A0、OUTPUT); pinMode(A1、OUTPUT); pinMode(A3、INPUT); pinMode(A4、OUTPUT); }
このArduinoカウントダウンタイマーの動作は単純ですが、コードは少し複雑です。コードは、コード内のコメントによって説明されています。
最初は、押しボタンを押すまで、LCDディスプレイに「Arduinoタイマー」と印刷されます。押しボタンを押すとすぐに、「 setFeedingTime 」関数を呼び出してカウントダウン時間を入力するように求められます。次に、キーパッドを使用して期間を入力できます。次に、「D」を押して時間を節約し、カウントダウンタイマーを開始する必要があります。ここで voidloop() 関数では、時間を秒単位でデクリメントし、残りの時間に応じて時間、分、秒(HH:MM:SS)の適切な値を表示するための計算を行いました。すべてのコードはコメントによってよく説明されています。以下の完全なコードとデモンストレーションビデオを確認できます。
タイマーがゼロに達すると、ブザーはビープ音を鳴らし始め、100回だけビープ音を鳴らします(コードに従って)。ブザーを停止するには、押しボタンを押し続けます。プッシュボタンをいつでも使用して、カウントの合間にタイマーを停止できます。