Πίνακας περιεχομένων:

Ρολόι DS1307 με CloudX: 4 βήματα
Ρολόι DS1307 με CloudX: 4 βήματα

Βίντεο: Ρολόι DS1307 με CloudX: 4 βήματα

Βίντεο: Ρολόι DS1307 με CloudX: 4 βήματα
Βίντεο: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Ιούλιος
Anonim
Ρολόι DS1307 με CloudX
Ρολόι DS1307 με CloudX
Ρολόι DS1307 με CloudX
Ρολόι DS1307 με CloudX

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

Βήμα 1: Ανοίξτε το CloudX IDE

Ανοίξτε το CloudX IDE
Ανοίξτε το CloudX IDE
Ανοίξτε το CloudX IDE
Ανοίξτε το CloudX IDE

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

Απλά βήματα

1. Εισαγάγετε την κύρια βιβλιοθήκη cloudX με κάθετο το μοντέλο της πλακέτας

2. Εισαγάγετε το DS1307 και άλλη λειτουργική βιβλιοθήκη που απαιτείται

3. απολαύστε και παίξτε με τις λειτουργίες DS1307 από τη βιβλιοθήκη του

Βήμα 2: ΚΩΔΙΚΟΣ !, ΚΩΔΙΚΟΣ !!, ΚΩΔΙΚΟΣ !

/*

* Αρχείο: main.c * Συγγραφέας: Ogboye Godwin * * Δημιουργήθηκε στις 24 Απριλίου 2018, 11:02 ΠΜ */

#περιλαμβάνω

#περιλαμβάνω

#περιλαμβάνω

ανυπόγραφο σύντομο χρονικό διάστημα [9], Mdate [11];

ανυπόγραφο σύντομο μήνα, Dday, έτος, hr, min, sec.

getDateTime ();

loadLcd ();

resetClock ();

int σύνολο = 16;

int inc = 15;

int dec = 14;

setup () {

pinMode (σύνολο, ΕΙΣΟΔΟΣ);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, ΕΙΣΟΔΟΣ);

Lcd_setting (2, 3, 4, 5, 6, 7);

Ds1307_init ();

βρόχος(){

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

καθυστερήσεις (500)?

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (ώρα); // ώρα

χρόνος [0] = BCD2UpperCh (hr);

χρόνος [1] = BCD2LowerCh (hr);

ώρα [2] = ':';

min = Ds1307_read (λεπτό); // λεπτό

χρόνος [3] = BCD2UpperCh (min);

χρόνος [4] = BCD2LowerCh (min);

ώρα [5] = ':';

sec = Ds1307_read (δεύτερο); // δευτ

χρόνος [6] = BCD2UpperCh (sec);

χρόνος [7] = BCD2LowerCh (sec);

mth = Ds1307_read (μήνας); //μήνας

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (ημερομηνία); //ημέρα

Mdate [3] = BCD2UpperCh (Ημέρα);

Mdate [4] = BCD2LowerCh (Ημέρα);

Mdate [5] = ':';

έτος = Ds1307_read (έτος); //έτος

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (έτος);

Mdate [9] = BCD2LowerCh (έτος);

}

loadLcd () {

int cx;

Lcd_cmd (διαφανές);

Lcd_writeText (1, 1, "Ημερομηνία:");

// lcdWriteTextCP (Mdate);

για (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, ":ρα:");

// lcdWriteTextCP (ώρα);

για (cx = 0; cx <9; cx ++)

Lcd_writeCP (χρόνος [cx]);

}

resetClock () {

Ds1307_write (δεύτερο, Binary2BCD (0)); // γράψτε 0 δευτερόλεπτο

Ds1307_write (λεπτό, Binary2BCD (12)); // γράψτε 12 λεπτά

Ds1307_write (ώρα, Binary2BCD (12)); // Γράψτε 12 ώρες

Ds1307_write (ημέρα, Binary2BCD (3)); // γράψε ημέρα Τρίτη

Ds1307_write (ημερομηνία, Binary2BCD (24)); // ημερομηνία εγγραφής 24η

Ds1307_write (μήνας, Binary2BCD (4)); // γράψτε μήνα έως τον Απρίλιο

Ds1307_write (έτος, Binary2BCD (18)); // εγγραφή έτους 18 δηλ. 2018

Ds1307_write (SQWE, Binary2BCD (συχνότητα)); // ορίστε την έξοδο SQWE σε 1hz

Ds1307_write (δεύτερο, Binary2BCD (startOscilator)); // επαναφέρετε το δεύτερο στα 0 δευτερόλεπτα και ξεκινήστε τον ταλαντωτή

while (readPin (set) == 1);

}

Βήμα 3: Σχεδιασμός στο Proteus

Σχεδιασμός στο Proteus
Σχεδιασμός στο Proteus

πληκτρολογήστε proteus isis αυτές τις απαιτήσεις

1. cloudX

2. DS1307

3. Αντίσταση 4,7k

4. κουμπί

5. lm016 LCD

6. κρύσταλλο 32khz

και φυσικά μην ξεχνάτε το θετικό και έδαφος σας.

κάνε τις συνδέσεις σου σαν τις δικές μου.

Συνιστάται: