工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

調整可能なカウントダウンタイマー

コンポーネントと消耗品

>
Arduino Mega 2560
すべてのarduinoが機能するはずです
× 1
4桁の7セグメントディスプレイ
× 1
プッシュボタン
× 4
ブザー
× 1
ジャンパー線(汎用)
× 21
無はんだブレッドボードフルサイズ
× 1

このプロジェクトについて

カウントダウンタイマーは、おそらく4桁の7セグメントディスプレイにとって最も自然なプロジェクトです。オンラインで利用できるものを調べているときに、いくつかのプロジェクトを見つけましたが、私が考えていたプロジェクト、つまり、ボタンで便利に調整できる(変更されたコードをアップロードすることなく)スタンドアロンの調整可能なカウントダウンタイマーは見つかりませんでした。だから私はそれを作ることにしました。

タイマーを使いやすく調整しやすくして、実際に使用できるようにするコードを書くのに少し時間を費やしました。

含まれているコードは、4桁の7セグメントディスプレイを備えた他のプロジェクトでも使用できます。特に、特定の時間間隔で特定の数値(0〜9999)を表示する機能があります。この機能は一部のライブラリに含まれている可能性がありますが、すばやく検索しても明らかになりませんでした。この表示のプログラミングは少し注意が必要です(一度に1桁しか表示できないため)ので、このような機能は非常に便利です。

コード

  • 4桁の7セグメントディスプレイカウントダウンタイマー
4桁7セグメントディスプレイカウントダウンタイマー C / C ++
コードには、4桁の7セグメントディスプレイに表示されるカウントダウンを開始するカウントダウンタイマー機能が含まれています。また、特定の時間、ディスプレイに特定の4桁の数字を表示する便利な関数PrintNumberもあります。他のプロジェクトで使用できます。
 #include  int Digit_pin [] ={6、9、10、11}; // PWM表示桁ピンを左から右にintspeakerPin =15; #define DIGIT_ON LOW#define DIGIT_OFF HIGHint segA =2; int segB =3; int segC =4; int segD =5; int segE =A0; //ピン6は、そのpwm関数にbij display1として使用されますintsegF =7; int segG =8; // int segPD =; int button1 =13; int button2 =12; int button3 =16; int button4 =17; int countdown_time =60; struct struct_digits {int digit [4]; }; void setup(){pinMode(segA、OUTPUT); pinMode(segB、OUTPUT); pinMode(segC、OUTPUT); pinMode(segD、OUTPUT); pinMode(segE、OUTPUT); pinMode(segF、OUTPUT); pinMode(segG、OUTPUT); for(int i =0; i <4; i ++){pinMode(digit_pin [i]、OUTPUT); } pinMode(speakerPin、OUTPUT); pinMode(button1、INPUT_PULLUP); pinMode(button2、INPUT_PULLUP); pinMode(button3、INPUT_PULLUP); pinMode(button4、INPUT_PULLUP);} void playTone(inttone、int duration){for(long k =0; k  0; q-){PrintNumber(q、del); if(digitalRead(button2)==LOW){falseを返す; }} PrintNumber(0,0); playTone(1519,1000); trueを返します;} void reset(){int m、zeros、d、pressed3 =0、pressed4 =0; m =countdown_time; struct struct_digits dig; dig =IntToDigits(countdown_time); while(digitalRead(button1)==HIGH){for(int j =0; j <4; j ++){SwitchDigit(j); lightNumber(dig.digit [j]); delay(5); } if(digitalRead(button3)==LOW){if(pressed3 ==0 || Pressed3> 30){if(countdown_time> 0){countdown_time- =1; } dig =IntToDigits(countdown_time); } Pressed3 + =1; } else if(digitalRead(button4)==LOW){if(pressed4 ==0 || Pressed4> 30){if(countdown_time <9999){countdown_time + =1; } dig =IntToDigits(countdown_time); } Pressed4 + =1; } if(digitalRead(button3)==HIGH){pressed3 =0; } if(digitalRead(button4)==HIGH){pressed4 =0; }}} void loop(){reset(); while(!Countdown(countdown_time、962)){reset(); } while(digitalRead(button2)==1){};} 

回路図


製造プロセス

  1. 液晶ディスプレイ(LCD)
  2. C# メソッドのオーバーロード
  3. 展示:プライマルディスプレイ
  4. Kuman TFT 3.5 RetroPie 2018
  5. Verilog タスク
  6. ArduinoPongゲーム-OLEDディスプレイ
  7. ウォッチドッグタイマーとは何ですか?
  8. ATmegaエイリアンをテーマにしたスロットマシン
  9. Nextionディスプレイで遊ぶ
  10. Arduinoカウントダウンタイマー
  11. アジャスタブル ショック アブソーバーを垣間見る