Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Einstellbarer Countdown-Timer

Komponenten und Verbrauchsmaterialien

Arduino Mega 2560
Jedes Arduino sollte funktionieren
× 1
4-stellige 7-Segment-Anzeige
× 1
Drucktaste
× 4
Summer
× 1
Jumper (generisch)
× 21
Lötfreies Steckbrett in voller Größe
× 1

Über dieses Projekt

Countdown-Timer ist wohl das natürlichste Projekt für die 4-stellige 7-Segment-Anzeige. Beim Durchsuchen der Online-Angebote habe ich mehrere Projekte gefunden, aber nicht dasjenige, was ich im Sinn hatte, nämlich einen eigenständigen einstellbaren Countdown-Timer, den Sie bequem mit den Tasten einstellen können (und nicht durch Hochladen eines modifizierten Codes). Also beschloss ich, einen zu machen.

Ich habe einige Zeit damit verbracht, einen Code zu schreiben, der es einfach macht, den Timer zu verwenden und den Timer so einzustellen, dass er in der Praxis verwendet werden kann.

Der mitgelieferte Code kann auch in anderen Projekten mit 4-stelliger 7-Segment-Anzeige verwendet werden. Insbesondere hat es die Funktion, eine bestimmte Zahl (0-9999) für ein bestimmtes Zeitintervall anzuzeigen. Vielleicht ist diese Funktionalität in einigen Bibliotheken enthalten, aber eine schnelle Suche hat sie nicht ergeben. Da die Programmierung dieser Anzeige etwas knifflig ist (da man immer nur eine Ziffer gleichzeitig anzeigen kann), ist eine solche Funktion wirklich praktisch.

Code

  • 4-stelliger Countdown-Timer mit 7-Segment-Anzeige
4-stelliger 7-Segment-Countdown-TimerC/C++
Der Code enthält die Countdown-Timer-Funktion, die den Countdown auslöst, der in der 4-stelligen 7-Segment-Anzeige angezeigt wird. Es hat auch eine nützliche Funktion PrintNumber, die eine bestimmte 4-stellige Zahl für eine bestimmte Zeit auf dem Display anzeigt. Es kann in anderen Projekten verwendet werden.
#include int digit_pin[] ={6, 9, 10, 11}; // PWM-Anzeigeziffernstifte von links nach rechtsint speakerPin =15; #define DIGIT_ON LOW #define DIGIT_OFF HIGHint segA =2; int segB =3; int segC =4; int segD =5; int segE =A0; // Pin 6 wird von Display 1 für seine PWM-Funktion verwendetint segF =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, AUSGANG); pinMode (segC, AUSGANG); pinMode (segD, AUSGANG); pinMode (segE, AUSGANG); pinMode (segF, AUSGANG); pinMode (segG, AUSGANG); 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 (int Tone, int Dauer) { for (langes k =0; k 0; q--){ PrintNumber(q,del); if (digitalRead (button2)==LOW) { return false; } } PrintNumber(0,0); playTone(1519,1000); true zurückgeben;}void reset() { int m, Nullen, d, gedrückt3 =0, gedrückt4 =0; m =Countdown-Zeit; 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]); Verzögerung(5); } if (digitalRead(button3)==LOW) { if (pressed3 ==0 || gedrückt3> 30) { if (countdown_time> 0) {countdown_time -=1; } dig =IntToDigits (countdown_time); } gedrückt3 +=1; aufrechtzuerhalten. Sonst if (digitalRead(button4)==LOW) { if (gepresst4 ==0 || gedrückt4> 30) { if (countdown_time <9999) {countdown_time +=1; } dig =IntToDigits (countdown_time); } gedrückt4 +=1; aufrechtzuerhalten. Wenn (digitalRead (Taste 3) ==HOCH) { gedrückt 3 =0; aufrechtzuerhalten. Wenn (digitalRead (Taste 4) ==HOCH) { gedrückt4 =0; } }}void loop () { reset (); while (!Countdown(countdown_time,962)) { reset(); } while (digitalRead(button2)==1){};}

Schaltpläne


Herstellungsprozess

  1. Liquid Crystal Display (LCD)
  2. Überladen von C#-Methoden
  3. Ausstellung:Die Urausstellung
  4. Kuman TFT 3.5 RetroPie 2018
  5. Verilog-Aufgabe
  6. Arduino Pong-Spiel - OLED-Display
  7. Was ist ein Watchdog-Timer?
  8. ATmega Alien-Themen-Spielautomat
  9. Mit Nextion Display spielen
  10. Ein Blick in einstellbare Stoßdämpfer