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

TM1637 Digitaluhr mit Zeiteinstellung und Alarmfunktion

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
TM1637 4-stelliges Display
× 1
DS1302 RTC-Modul
× 1
SparkFun LilyPad LED Blau (5 Stück)
× 1
Summer
× 1

Über dieses Projekt

Dies ist ein Prototyp des Zeit- und Alarm-Setup-Mechanismus, den ich in meinen nächsten Digitaluhrprojekten verwenden möchte. Ich hoffe, Sie finden ihn nützlich. Wenn Sie an Verbesserungen denken, lassen Sie es mich bitte wissen. Ich würde mich sehr freuen, sie mir anzusehen und möglicherweise in meinen Code zu integrieren.

Sie können das gesamte Tutorial auf

. ansehen

Wenn Ihnen dieser Inhalt gefällt und Sie mich bei der Erstellung ähnlicher Videos unterstützen möchten, besuchen Sie meine Patreon-Webseite

https://www.patreon.com/MariosIdeas

Oder

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url

Code

  • Anzeige der Zeit vom RTC-Modul plus Zeiteinstellung und Alarmeinstellungsfunktion
Anzeige der Zeit vom RTC-Modul plus Zeiteinstellung und AlarmeinstellungsfunktionArduino
Dieser Code liest die aktuelle Uhrzeit vom RTC-Modul. Dann ermöglicht es auch, die aktuelle Uhrzeit zu aktualisieren und die Alarmzeit einzurichten.
Setup-Aktionen werden mit 3 Tasten ausgeführt.
// Mario's Ideas// TM1637 Digitaluhr mit Setup- und Alarmfunktion#include #include #include  //// RTC-Modul-Deklaration // PINS CLK, DAT, RSTvirtuabotixRTC myRTC(A1,A2,A3);// Variablen zum Speichern der vorherigen Werte, die ausgelesen wurden RTC-Modulint Minuten;int Stunden;// Variablen zum Speichern der Uhrzeit, zu der der Alarm ausgelöst werden soll int Alarm_minutes=05;int Alarm_hours=18;uint8_t Blank[] ={0x0};int POSITION=0;//Tabelle zum Speichern von 4 Stellen, die in Zeit und Alarmeinrichtung verwendet werdenint digits[3];int interval=0;#define Alarm 9 // Taste zum Ein- oder Ausschalten des Alarmmodus#define Buzer 13#define Led 8//Statusesboolean Alarm_set=false;boolean Alarm_in_progress=false;boolean Setup_on=false;// 4-stellige Display-Anschlusspins (Digital Pins)#define CLK 4#define DIO 5// 4-stellige AnzeigedeklarationTM1637Display Clock (CLK, DIO);void setup() { attachInterrupt(digitalPinToInterrupt(2), Press_A_Button,RISING); attachInterrupt(digitalPinToInterrupt(3), Press_B_Button,RISING); pinMode (Alarm, EINGANG); pinMode (Summer, AUSGANG); pinMode (LED, AUSGANG); digitalWrite (Summer, NIEDRIG); clock.setBrightness (0x0f); Serial.begin(9600);}void Press_A_Button(){ if (Intervall>3){ if (Setup_on==false){ Setup_on=true; if (Alarm_set==true){ digits[0]=(int)Alarm_hours/10; digits[1]=Alarm_hours-((int)Alarm_hours/10)*10; digits [2] =(int) Alarm_minutes/10; Stellen [3] =Alarm_minutes-((int)Alarm_minutes/10)*10; } else { digits[0]=(int)myRTC.hours/10; Ziffern[1]=myRTC.hours-((int)myRTC.hours/10)*10; Ziffern [2] =(int) myRTC.minutes/10; Ziffern [3] =myRTC.minutes-((int)myRTC.minutes/10)*10; } } sonst{ POSITION++; if (POSITION==4){ if (Alarm_set==true){ Alarm_minutes=Ziffern[3]+Ziffern[2]*10; Alarm_hours=Ziffern[1]+Ziffern[0]*10; } else { myRTC.setDS1302Time( 0, Ziffern [3] + Ziffern [2] * 10, Ziffern [1] + Ziffern [0] * 10, myRTC.dayofweek, myRTC.dayofmonth, myRTC.month, myRTC.year); clock.showNumberDec(digits[0],false,1,0); clock.showNumberDec(Ziffern[1],false,1,1); clock.showNumberDec(Ziffern[2],false,1,2); clock.showNumberDec(Ziffern[3],false,1,3); } POSITION=0; Setup_on=false; } } } interval=0;}void Press_B_Button(){ if (interval>3){ if(Setup_on){ digits[POSITION]=digits[POSITION]+1; if (POSITION==0 und digits[POSITION]==3) digits[POSITION]=0; if (POSITION!=0 und digits[POSITION]==10) digits[POSITION]=0; Intervall=0; aufrechtzuerhalten. aufrechtzuerhalten. Alarm_set=true; Verzögerung (300); aufrechtzuerhalten. Alarm_in_progress=false; digitalWrite (LED, NIEDRIG); Verzögerung (300); } } } myRTC.updateTime(); if (Setup_on==true){ clock.showNumberDec(digits[0],false,1,0); clock.showNumberDec(Ziffern[1],false,1,1); clock.showNumberDec(Ziffern[2],false,1,2); clock.showNumberDec(Ziffern[3],false,1,3); Verzögerung (200); clock.setSegments (Leer, 1, POSITION); Verzögerung (200); clock.showNumberDec(digits[0],false,1,0); clock.showNumberDec(Ziffern[1],false,1,1); clock.showNumberDec(Ziffern[2],false,1,2); clock.showNumberDec(Ziffern[3],false,1,3); } else{ if (myRTC.minutes==Alarm_minutes und myRTC.hours==Alarm_hours und Alarm_set==true und Setup_on==false){ Alarm_in_progress=true; } if (Alarm_in_progress) { digitalWrite (Buzer, HIGH); Verzögerung (1000); digitalWrite (Summer, NIEDRIG); Verzögerung (1000); } if (myRTC.minutes!=minutes){ clock.showNumberDecEx((int)myRTC.hours/10*1000+(myRTC.hours-((int)myRTC.hours/10)*10)*100+ (int) myRTC.minutes/10*10+myRTC.minutes-((int)myRTC.minutes/10)*10, (0x80>> 1), true); Minuten=myRTC.Minuten; Stunden=meineRTC.Stunden; } } if (interval<200) interval++;}

Schaltpläne


Herstellungsprozess

  1. Typen analoger und digitaler Sensoren mit Anwendungen
  2. Raspberry Pi 2 Wasseralarm mit t Schuster plus
  3. Roboter bauen mit Raspberry Pi und Python
  4. Erkunden der digitalen Transformation mit Fiix und IDC
  5. Zeit und Geld sparen mit Zustandsüberwachung
  6. 8 Möglichkeiten, Wartungskosten zu senken und den Umsatz mit Wartungssoftware zu steigern
  7. Portenta- und Thermoelement-Sensor (mit MAX6675)
  8. Beschleunigung der digitalen Transformation mit IoT-Daten dank Cisco und IBM
  9. Einfacher Wecker mit DS1302 RTC
  10. Die Funktionalität und Weiterentwicklung des Lagers