Arduino Digital Clock χρησιμοποιώντας RTC Module

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτήν την ανάρτηση πρόκειται να κατασκευάσουμε ένα ψηφιακό ρολόι χρησιμοποιώντας το RTC ή το Real Time Clock module. Θα καταλάβουμε τι είναι η ενότητα 'RTC', πώς να συνδεθείτε με το Arduino και τι κάνει.

Με:



Η μονάδα RTC είναι ένα κύκλωμα, το οποίο παρακολουθεί με ακρίβεια τον τρέχοντα χρόνο. Κάνει δύο λειτουργίες, επικοινωνεί με μικροελεγκτές και μικροεπεξεργαστές για να δώσει τρέχοντα χρόνο και να λειτουργεί ως κύκλωμα δημιουργίας αντιγράφων ασφαλείας για τη διατήρηση χρόνου σε περίπτωση διακοπής ρεύματος, καθώς διαθέτει ενσωματωμένο σύστημα δημιουργίας αντιγράφων ασφαλείας μπαταρίας.

Μπορούμε να βρούμε RTC σε οποιαδήποτε ηλεκτρονική συσκευή όπου ο χρόνος είναι μια σημαντική λειτουργία του gadget.



Για παράδειγμα, ο υπολογιστής ή ο φορητός υπολογιστής μας διατηρεί το χρόνο του ακόμη και μετά την αποσύνδεση της τροφοδοσίας ή την αφαίρεση της μπαταρίας. Στη μητρική πλακέτα οποιουδήποτε υπολογιστή μπορούμε να βρούμε μια μπαταρία CMOS, η οποία τροφοδοτεί το κύκλωμα RTC.

Παρόμοιο είδος κυκλώματος που θα χρησιμοποιήσουμε σε αυτό το έργο.

Η μονάδα RTC είναι μια φθηνή συσκευή που μπορεί να βρεθεί σε οποιονδήποτε ιστότοπο ηλεκτρονικού εμπορίου και τα τοπικά καταστήματα ηλεκτρονικών έργων.

Εικόνα της τυπικής ενότητας RTC DS1307:

Οι περισσότερες μονάδες RTC συνοδεύονται από μπαταρία (CR2032) κατά τη στιγμή της αγοράς. Υπάρχουν διαφορετικά μεγέθη και μοντέλα, τα παραπάνω που απεικονίζονται μπορεί να μην είναι τα ίδια για εσάς. Αλλά βεβαιωθείτε ότι ο αριθμός μοντέλου είναι DS1307. Ο κωδικός που γράφεται σε αυτήν την ανάρτηση είναι συμβατός μόνο με το DS1307.

Τώρα ξέρετε κάτι για τα RTC. Τώρα ας προχωρήσουμε στη σχεδίαση ψηφιακού ρολογιού. Πριν προχωρήσετε σε αυτό το έργο, πρέπει να κατεβάσετε τη βιβλιοθήκη από τους ακόλουθους συνδέσμους και να εγκαταστήσετε στο IDE σας:

• DS1307RTC.h

Σύνδεσμος: github.com/PaulStoffregen/DS1307RTC

• TimeLib.h

Σύνδεσμος: github.com/PaulStoffregen/Time

Άλλες δύο βιβλιοθήκες θα ήταν προεγκατεστημένες στο Arduino IDE, εάν χρησιμοποιείτε την τελευταία έκδοση.

• LiquidCrystal.h

• Wire.h

Το κύκλωμα:

Η σύνδεση κυκλώματος μεταξύ arduino και οθόνης LCD είναι στάνταρ, την οποία μπορούμε να βρούμε παρόμοια σύνδεση σε άλλα έργα που βασίζονται σε LCD. Το μόνο πρόσθετο στοιχείο είναι το RTC.

Για να μειωθεί η κυκλοφοριακή συμφόρηση κατά τη διάρκεια του πρωτοτύπου, το RTC μπορεί να εισαχθεί στους αναλογικούς πείρους απευθείας του arduino. Κολλήστε τα SCl, SDA, Vcc και GND με αρσενικές καρφίτσες κεφαλίδας και τοποθετήστε τις ακίδες A2 έως A5 όπως φαίνεται στο πρωτότυπο.

Πρωτότυπο συγγραφέα:

Πώς να εισαγάγετε σωστά το RTC στο Arduino:

Εάν το RTC σας έχει διαφορετικές θέσεις ακίδων και δεν μπορεί να αναπαραχθεί όπως απεικονίζεται παραπάνω, μπορείτε πάντα να χρησιμοποιήσετε καλώδια για σύνδεση. Τώρα η εγκατάσταση του υλικού σας έχει ολοκληρωθεί, ας προχωρήσουμε στο τμήμα λογισμικού του έργου.

Πώς να ρυθμίσετε την ώρα:

Μόλις προγραμματιστεί η μονάδα RTC, διατηρεί το χρόνο ακόμη και να αφαιρεθεί από το arduino. Η μπαταρία θα πρέπει να διαρκεί τουλάχιστον δύο χρόνια.

Δεν υπάρχει κουμπί για να ρυθμίσετε την ώρα που το παρακάτω πρόγραμμα θα ορίσει την ώρα σε RTC. Η ώρα συγχρονίζεται αυτόματα με την ώρα του υπολογιστή σας, κατά τη σύνταξη του κώδικα, οπότε βεβαιωθείτε ότι ο υπολογιστής σας έχει ρυθμιστεί να διορθώνει την ώρα, προτού ανεβάσετε τα προγράμματα.
Ανεβάστε αυτόν τον κωδικό 'SetTime' για να ορίσετε την ώρα με το RTC συνδεδεμένο:

#include  #include  #include  int P=A3 //Assign power pins for RTC int N=A2 const char *monthName[12] = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' } tmElements_t tm void setup() { pinMode(P,OUTPUT) pinMode(N,OUTPUT) digitalWrite(P,HIGH) digitalWrite(N,LOW) bool parse=false bool config=false // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true // and configure the RTC with this info if (RTC.write(tm)) { config = true } } Serial.begin(9600) while (!Serial)  // wait for Arduino Serial Monitor delay(200) if (parse && config) { Serial.print('DS1307 configured Time=') Serial.print(__TIME__) Serial.print(', Date=') Serial.println(__DATE__) } else if (parse) { Serial.println('DS1307 Communication Error :-{') Serial.println('Please check your circuitry') } else { Serial.print('Could not parse info from the compiler, Time='') Serial.print(__TIME__) Serial.print('', Date='') Serial.print(__DATE__) Serial.println(''') } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false tm.Hour = Hour tm.Minute = Min tm.Second = Sec return true } bool getDate(const char *str) { char Month[12] int Day, Year uint8_t monthIndex if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false for (monthIndex = 0 monthIndex < 12 monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break } if (monthIndex >= 12) return false tm.Day = Day tm.Month = monthIndex + 1 tm.Year = CalendarYrToTm(Year) return true } 

Μόλις ανεβεί αυτός ο κωδικός, ανοίξτε τη σειριακή οθόνη και θα εμφανιστεί ένα μήνυμα επιτυχίας λέγοντας ότι έχει οριστεί η ώρα.

Αυτό σημαίνει ότι η σύνδεσή σας μεταξύ του RTC και του arduino είναι σωστή και ο χρόνος έχει ρυθμιστεί.

Τώρα ανεβάστε τον ακόλουθο κωδικό για την εμφάνιση του χρόνου σε LCD.

//------------Program Developed by R.Girish-------// #include  #include  #include  #include  LiquidCrystal lcd(12, 11, 5, 4, 3, 2) int P=A3 int N=A2 void setup() { lcd.begin(16,2) pinMode(P,OUTPUT) pinMode(N,OUTPUT) digitalWrite(P,HIGH) digitalWrite(N,LOW) } void loop() { tmElements_t tm lcd.clear() if (RTC.read(tm)) { if(tm.Hour>=12) { lcd.setCursor(14,0) lcd.print('PM') } if(tm.Hour<12) { lcd.setCursor(14,0) lcd.print('AM') } lcd.setCursor(0,0) lcd.print('TIME:') if(tm.Hour>12) //24Hrs to 12 Hrs conversion// { if(tm.Hour==13) lcd.print('01') if(tm.Hour==14) lcd.print('02') if(tm.Hour==15) lcd.print('03') if(tm.Hour==16) lcd.print('04') if(tm.Hour==17) lcd.print('05') if(tm.Hour==18) lcd.print('06') if(tm.Hour==19) lcd.print('07') if(tm.Hour==20) lcd.print('08') if(tm.Hour==21) lcd.print('09') if(tm.Hour==22) lcd.print('10') if(tm.Hour==23) lcd.print('11') } else { lcd.print(tm.Hour) } lcd.print(':') lcd.print(tm.Minute) lcd.print(':') lcd.print(tm.Second) lcd.setCursor(0,1) lcd.print('DATE:') lcd.print(tm.Day) lcd.print('/') lcd.print(tm.Month) lcd.print('/') lcd.print(tmYearToCalendar(tm.Year)) } else { if (RTC.chipPresent()) { lcd.setCursor(0,0) lcd.print('RTC stopped!!!') lcd.setCursor(0,1) lcd.print('Run SetTime code') } else { lcd.clear() lcd.setCursor(0,0) lcd.print('Read error!') lcd.setCursor(0,1) lcd.print('Check circuitry!') } delay(500) } delay(500) } //------------Program Developed by R.Girish-------// 

Μόλις γίνει αυτό, θα πρέπει να δείτε την ώρα και την ημερομηνία να εμφανίζεται στην οθόνη LCD και να λειτουργεί.

Σημείωση: Ο κωδικός 'SetTime' τροποποιείται από τον κώδικα παραδείγματος του DS1307RTC για τη βελτιστοποίηση των καλωδίων για τη μονάδα RTC, η μεταφόρτωση του αρχικού κώδικα δεν θα ορίσει χρόνο.

Ψηφιακό ξυπνητήρι με χρήση του Arduino

Σε αυτό παραπάνω μάθαμε πώς να φτιάχνουμε το βασικό ρολόι Arduino χρησιμοποιώντας μονάδα RTC, στο επόμενο τμήμα διερευνούμε πώς αυτό μπορεί να αναβαθμιστεί σε κύκλωμα ψηφιακού ξυπνητηριού χρησιμοποιώντας το Arduino.

Υπάρχουν μερικοί άνθρωποι που δεν χρειάζονται ξυπνητήρι, ξυπνούν φυσικά και υπάρχουν μερικοί άνθρωποι που ξυπνούν αφού χτυπήσει το ξυπνητήρι μερικές φορές και υπάρχουν μερικοί άνθρωποι που πατούν το κουμπί αναβολής πολλές φορές και πηγαίνουν αργά για το κολέγιο / εργασία τους με μερικές δικαιολογίες.

Το προτεινόμενο διασκεδαστικό μικρό ξυπνητήρι μπορεί να αντιμετωπίσει το πρόβλημα με τεμπελιά κατά το πρωί. Τα περισσότερα ρολόγια συναγερμού έχουν κουμπί αναβολής και προκαθορισμένο χρόνο διακοπής για συναγερμό, εάν ο χρήστης δεν ανταποκρίθηκε.

Σχεδιάσαμε αυτό το ξυπνητήρι χωρίς κουμπί τεμπέλης (κουμπί αναβολής) και το ξυπνητήρι δεν θα απενεργοποιηθεί έως ότου ο χρήστης πατήσει ένα κουμπί.

Αυτό το ρολόι μπορεί να εμφανίσει ώρα σε μορφή 12 ωρών και ημερομηνία σε μορφή ΗΗ / ΜΜ / ΕΕΕΕ.

Η ώρα και η ημερομηνία θα εμφανίζονται στην οθόνη LCD 16 x 2. Μια μονάδα RTC ή πραγματικός χρόνος ρολογιού θα φροντίσει την παρακολούθηση του χρόνου και μπορεί να διατηρήσει τον σωστό χρόνο ακόμη και μετά από μια μακρά διακοπή ρεύματος.

Υπάρχουν 5 κουμπιά υπό την προϋπόθεση ότι η λειτουργία θα εξηγηθεί σύντομα. Ο εγκέφαλος του έργου Arduino μπορεί να έχει οποιοδήποτε μοντέλο της επιλογής σας, θα συνιστούσαμε το Arduino pro mini ή το Arduino nano λόγω του μικρού μεγέθους του.

Τώρα ας δούμε τα σχήματα.

Το παραπάνω είναι το σχηματικό για το Arduino να εμφανίζει σύνδεση, να ρυθμίζει την αντίθεση οθόνης περιστρέφοντας το ποτενσιόμετρο 10K.

Το παρακάτω είναι το υπόλοιπο κύκλωμα:

Το κύκλωμα μπορεί να τροφοδοτείται με προσαρμογέα τοίχου 9V 500mA.

Λειτουργίες 5 κουμπιών:

S1 - Χρησιμοποιείται για τη διακοπή του συναγερμού (είναι επίσης κουμπί επαναφοράς).
S2 - Χρησιμοποιείται για τη ρύθμιση συναγερμού. Πατώντας παρατεταμένα το S2 θα μεταβείτε στο μενού ρυθμίσεων συναγερμού.
S3 - Χρησιμοποιείται για την αύξηση των ωρών.
S4 - χρησιμοποιείται για την αύξηση των λεπτών.
S5 - Χρησιμοποιείται για εναλλαγή της κατάστασης συναγερμού. Εάν υπάρχει '*' στην οθόνη LCD στη δεξιά δεξιά κάτω γωνία, ο συναγερμός είναι ΟΝ, εάν το '*' δεν υπάρχει, τα στατιστικά στοιχεία συναγερμού είναι απενεργοποιημένα.

Περισσότερες λεπτομέρειες σχετικά με τον τρόπο ρύθμισης του συναγερμού περιγράφονται στο κάτω μέρος του άρθρου.

Κατεβάστε τα αρχεία της βιβλιοθήκης παρακάτω:

Link1: github.com/PaulStoffregen/DS1307RTC
Σύνδεσμος 2: github.com/PaulStoffregen/Time

Τώρα, πρέπει να ρυθμίσουμε την ώρα στη μονάδα RTC, ο χρόνος θα συγχρονιστεί από τον υπολογιστή σας στη μονάδα RTC.

Ανεβάστε τον παρακάτω κωδικό για να ρυθμίσετε την ώρα και να ανοίξετε το Serial monitor:

//------------------------------------------------// #include  #include  #include  const char *monthName[12] = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' } tmElements_t tm void setup() { bool parse=false bool config=false // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true // and configure the RTC with this info if (RTC.write(tm)) { config = true } } Serial.begin(9600) while (!Serial)  // wait for Arduino Serial Monitor delay(200) if (parse && config) { Serial.print('DS1307 configured Time=') Serial.print(__TIME__) Serial.print(', Date=') Serial.println(__DATE__) } else if (parse) { Serial.println('DS1307 Communication Error :-{') Serial.println('Please check your circuitry') } else { Serial.print('Could not parse info from the compiler, Time='') Serial.print(__TIME__) Serial.print('', Date='') Serial.print(__DATE__) Serial.println(''') } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false tm.Hour = Hour tm.Minute = Min tm.Second = Sec return true } bool getDate(const char *str) { char Month[12] int Day, Year uint8_t monthIndex if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false for (monthIndex = 0 monthIndex < 12 monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break } if (monthIndex >= 12) return false tm.Day = Day tm.Month = monthIndex + 1 tm.Year = CalendarYrToTm(Year) return true } //----------------------------------------// 

Τώρα έχετε ορίσει με επιτυχία το χρόνο σε RTC
Στη συνέχεια, πρέπει να ανεβάσετε τον ακόλουθο κύριο κωδικό:

//------------Program Developed by R.Girish-------// #include  #include  #include  #include  #include  const int rs = 7 const int en = 6 const int d4 = 5 const int d5 = 4 const int d6 = 3 const int d7 = 2 const int buzzer = 8 boolean alarm = false boolean outloop = true const int setAlarm = A0 const int Hrs = A1 const int Min = A2 const int ok = A3 const int HrsADD = 0 const int MinADD = 1 const int ALsave = 2 int HrsVal = 0 int MinVal = 0 int H = 0 int M = 0 int S = 0 int i = 0 int j = 0 int k = 0 LiquidCrystal lcd(rs, en, d4, d5, d6, d7) void setup() { Serial.begin(9600) lcd.begin(16, 2) pinMode(buzzer, OUTPUT) pinMode(setAlarm, INPUT) pinMode(Hrs, INPUT) pinMode(Min, INPUT) pinMode(ok, INPUT) digitalWrite(setAlarm, HIGH) digitalWrite(Hrs, HIGH) digitalWrite(Min, HIGH) digitalWrite(ok, HIGH) } void loop() { tmElements_t tm lcd.clear() if (EEPROM.read(ALsave) == false) { lcd.setCursor(15, 1) lcd.print('') } if (EEPROM.read(ALsave) == true) { lcd.setCursor(15, 1) lcd.print(F('*')) } if (RTC.read(tm)) { if (tm.Hour >= 12) { lcd.setCursor(14, 0) lcd.print('PM') } if (tm.Hour < 12) { lcd.setCursor(14, 0) lcd.print('AM') } lcd.setCursor(0, 0) lcd.print('TIME:') H = tm.Hour if (tm.Hour > 12) { if (tm.Hour == 13) { lcd.print('01') } if (tm.Hour == 14) { lcd.print('02') } if (tm.Hour == 15) { lcd.print('03') } if (tm.Hour == 16) { lcd.print('04') } if (tm.Hour == 17) { lcd.print('05') } if (tm.Hour == 18) { lcd.print('06') } if (tm.Hour == 19) { lcd.print('07') } if (tm.Hour == 20) { lcd.print('08') } if (tm.Hour == 21) { lcd.print('09') } if (tm.Hour == 22) { lcd.print('10') } if (tm.Hour == 23) { lcd.print('11') } } else { lcd.print(tm.Hour) } M = tm.Minute S = tm.Second lcd.print(':') lcd.print(tm.Minute) lcd.print(':') lcd.print(tm.Second) lcd.setCursor(0, 1) lcd.print('DATE:') lcd.print(tm.Day) lcd.print('/') lcd.print(tm.Month) lcd.print('/') lcd.print(tmYearToCalendar(tm.Year)) } else { if (RTC.chipPresent()) { lcd.setCursor(0, 0) lcd.print('RTC stopped!!!') lcd.setCursor(0, 1) lcd.print('Run SetTime code') } else { lcd.clear() lcd.setCursor(0, 0) lcd.print('Read error!') lcd.setCursor(0, 1) lcd.print('Check circuitry!') } } if (digitalRead(setAlarm) == LOW) { setALARM() } if (H == EEPROM.read(HrsADD) && M == EEPROM.read(MinADD) && S == 0) { if (EEPROM.read(ALsave) == true) { sound() } } if (digitalRead(ok) == LOW) { if (EEPROM.read(ALsave) == true) { EEPROM.write(ALsave, 0) alarm = false delay(1000) return } if (EEPROM.read(ALsave) == false) { EEPROM.write(ALsave, 1) alarm = true delay(1000) return } } delay(1000) } void setALARM() { HrsVal = EEPROM.read(HrsADD) MinVal = EEPROM.read(MinADD) lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(EEPROM.read(HrsADD)) lcd.print(F(' Min:')) lcd.print(EEPROM.read(MinADD)) delay(600) while (outloop) { if (HrsVal > 23) { HrsVal = 0 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) } if (MinVal > 59) { MinVal = 0 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) } if (digitalRead(Hrs) == LOW) { HrsVal = HrsVal + 1 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) delay(250) } if (digitalRead(Min) == LOW) { MinVal = MinVal + 1 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) delay(250) } if (digitalRead(setAlarm) == LOW) { EEPROM.write(HrsADD, HrsVal) EEPROM.write(MinADD, MinVal) lcd.clear() lcd.setCursor(0, 0) lcd.print(F('Alarm is Set for')) lcd.setCursor(0, 1) lcd.print(EEPROM.read(HrsADD)) lcd.print(F(':')) lcd.print(EEPROM.read(MinADD)) lcd.print(F(' Hrs')) delay(1000) outloop = false } } outloop = true } void sound() { lcd.clear() lcd.setCursor(0, 0) lcd.print('Wakey Wakey !!!') lcd.setCursor(0, 1) lcd.print('Its Time now.....') for (j = 0 j < 10 j++) { for (i = 0 i < 2  i++) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } delay(400) } for (k = 0 k < 10 k++) { for (i = 0 i < 4  i++) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } delay(250) } while (true) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } } //------------Program Developed by R.Girish-------// 

Αφού ανεβάσετε τον παραπάνω κωδικό, πρέπει να δείτε τη σωστή ώρα και ημερομηνία να εκτελούνται στην οθόνη.

Τώρα ας δούμε πώς να ρυθμίσετε το ξυπνητήρι:
• Πατήστε παρατεταμένα το S2 μέχρι να δείτε το μενού Συναγερμός.
• Πατήστε S3 και S4 για να ρυθμίσετε τις ώρες και τα λεπτά αντίστοιχα.
• Αφού ορίσετε τον επιθυμητό χρόνο, πατήστε ξανά το S2. Θα αναφέρει 'Ο συναγερμός έχει ρυθμιστεί για xx: xx ώρες'.
• Εάν ο συναγερμός είναι ενεργοποιημένος, μπορείτε να δείτε το σύμβολο '*' στην οθόνη, εάν ο συναγερμός είναι απενεργοποιημένος δεν θα υπάρχει σύμβολο '*'.
• Μπορείτε να ενεργοποιήσετε / απενεργοποιήσετε το ξυπνητήρι πατώντας το S5 για μισό δευτερόλεπτο. Μην πατάτε πολύ έως ότου εξαφανιστεί το '*' (επανέρχεται ξανά), απλώς πατήστε μισό δευτερόλεπτο για εναλλαγή της κατάστασης συναγερμού.

ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ:

Το πιο συνηθισμένο λάθος κατά τη ρύθμιση ενός συναγερμού σε οποιοδήποτε ρολόι είναι η ακούσια εναλλαγή AM / PM, με αποτέλεσμα να μην χτυπάμε συναγερμό τη στιγμή που επιθυμούμε.

Για την αντιμετώπιση αυτού του ζητήματος, η προτεινόμενη ρύθμιση ξυπνητηριού έχει σχεδιαστεί σε 24ωρη μορφή ρολογιού.

Ο χρόνος που εμφανίζεται στην οθόνη LCD θα είναι 12 ώρες με μορφή ΑΜ / ΜΜ, αλλά, όταν ρυθμίζετε ένα ξυπνητήρι με αυτό το έργο, πρέπει να ορίσετε σε μορφή 24 ωρών από 0 έως 23 ώρες.

Για παράδειγμα: εάν θέλετε να ρυθμίσετε το ξυπνητήρι στις 21:00 μ.μ. πρέπει να ορίσετε 21 ώρες και 0 λεπτά. Για, 5 π.μ .: 5 ώρες και 0 λεπτά και ούτω καθεξής.

Πρωτότυπο συγγραφέα:

Σας αρέσει αυτό το έργο; Έχετε οποιαδήποτε ερώτηση σχετικά με αυτό το έργο, μη διστάσετε να εκφράσετε το σχόλιο, μπορεί να λάβετε μια γρήγορη απάντηση.

Βίντεο κλιπ:




Προηγούμενο: Κύκλωμα ένδειξης επιπέδου Beacon για Combine Harvester Grain Tanks Επόμενο: 3 κυκλώματα υψηλής ισχύος SG3525 Pure Sinewave Inverter