Εμφάνιση αποτελεσμάτων : 1 έως 4 από 4

Θέμα: Αυτόματη αλλαγή ώρας - arduino

  1. #1
    Μέλος
    Όνομα
    Θωμάς
    Εγγραφή
    Dec 2012
    Περιοχή
    Αθήνα
    Μηνύματα
    511

    Προεπιλογή Αυτόματη αλλαγή ώρας - arduino

    Καλημέρα στο team...

    Φτιάχνω μια κατασκευή και έχω προβλημα με την ώρα.. Χρησιμοποιώ το tiny RTC 12C module για την ώρα μέχρι εκεί ολα καλά.

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

    Ψάχνοντας βρήκα κάτι σαν το arduino time zone library αυτό βοηθάει;

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    DST στην Ελλάδα έχουμε απ' την τελευταία Κυριακή του Μαρτίου μέχρι την τελευταία Κυριακή του Οκτωβρίου.

    Στον κώδικα εγώ θα το έβαζα κάπως έτσι
    Κώδικας:
    uint8_t IsDST(uint8_t day, uint8_t month, uint8_t hour, uint8_t dow){
            //Νοέμβριο μέχρι Φεβρουάριο έχεις χειμερινή
            if (month < 3 || month > 10) { return 0; }
            //Απρίλιο μέχρι Σεπτέμβριο έχεις καλοκαιρινή
            if (month > 3 && month < 10) { return 1; }
           
            bool lastSunday = (day - dow) >=18; 
            //Τον Μάρτιο έχεις καλοκαιρινή αν η ώρα είναι 3+ της τελευταίας Κυριακής
            if(lastSunday){
               if (month == 3) {
                   if(dow<7){ return 1; } //Αν έχει περάσει η τελευταία Κυριακή
                   return hour>=3;          //Αν είναι η τελευταία Κυριακή εξαρτάται απ' την ώρα
               }else{ //Τον Οκτώβριο
                   if(dow<7){ return 0; } //Αν έχει περάσει η τελευταία Κυριακή
                   return hour<4;           //Αν είναι η τελευταία Κυριακή εξαρτάται απ' την ώρα
               }
            }
            return 0;
    }
    
    //Και όπου θέλεις την ώρα έχεις την χειμερινή και προσθέτει +1 αν είναι η καλοκαιρινή
    if((hour+IsDST(day, month, hour, dow))==x){
    //κάνε αυτό....
    }
    
    //day = η μέρα του μήνα 1-31
    //month= μήνας 1-12
    //hour = η ώρα 0-23
    //dow = μέρα της εβδομάδας 1-7 με 1 την Δευτέρα
    Βέβαια αν βγει ή τελειώσει η μπαταρία απ' το RTC τι θα γίνει?

    2 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη Fire Doger : 28-02-18 στις 16:16

  3. Ένα μέλος ευχαρίστησε τον Fire Doger για αυτό το χρήσιμο μήνυμα:

    hackertom (06-03-18)

  4. #3
    Μέλος Το avatar του χρήστη Kernel Panic
    Όνομα
    Kernel Panic
    Εγγραφή
    Aug 2016
    Περιοχή
    Αθήνα
    Μηνύματα
    430

    Προεπιλογή

    εφόσον είναι κρίσιμη, απ ότι φαίνεται, η ακριβής ώρα και στον χώρο έχει ίντερνετ, μήπως θα ήταν καλύτερα να βάλεις κάτι σε NTP? (Network Time Protocol)

    0 Not allowed! Not allowed!

  5. #4
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Μιάς και χρησιμοποιείς το tiny RTC που βασίζεται στο DS1307 κατέβασε τη βιβλιοθήκη TimeZone και δες το παράδειγμα εδώ:

    Timezone/examples/HardwareRTC/HardwareRTC.ino

    ...επίσης δες τα σχόλια λίγο εδώ:

    * Timezone library example sketch. *
    * Self-adjusting clock for one time zone using an external real-time *
    * clock, either a DS1307 or DS3231 (e.g. Chronodot). *
    * Assumes the RTC is set to UTC. *
    * TimeChangeRules can be hard-coded or read from EEPROM, see comments. *

    4 Not allowed! Not allowed!

  6. Ένα μέλος ευχαρίστησε τον manolena για αυτό το χρήσιμο μήνυμα:

    hackertom (06-03-18)

Παρόμοια Θέματα

  1. Baofeng και αυτόματη αλλαγή από V σε U
    By imazehost in forum Ραδιοερασιτεχνισμός
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 22-03-15, 20:22
  2. Arduino και αλλαγή-αποθήκευση μεταβλητής.
    By andreasmon in forum Μικροελεγκτές
    Απαντήσεις: 3
    Τελευταίο Μήνυμα: 22-01-15, 00:01
  3. Αλλαγή chip σε arduino
    By passer07 in forum Μικροελεγκτές
    Απαντήσεις: 18
    Τελευταίο Μήνυμα: 07-07-14, 02:26
  4. Απαντήσεις: 3
    Τελευταίο Μήνυμα: 01-11-05, 19:47

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας