תוכן עניינים:

שעון DS1307 עם CloudX: 4 שלבים
שעון DS1307 עם CloudX: 4 שלבים

וִידֵאוֹ: שעון DS1307 עם CloudX: 4 שלבים

וִידֵאוֹ: שעון DS1307 עם CloudX: 4 שלבים
וִידֵאוֹ: 12 Hour Seven Segment Digital RTC Clock with AM / PM indicator, DS1307, DS3231, #shortsfeed, #shorts 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], מדייט [11];

mth קצר ללא חתום, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

להכין(){

pinMode (set, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

לוּלָאָה(){

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

עיכובים (500);

}

אם (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (שעה); // שעה

זמן [0] = BCD2UpperCh (שעות);

זמן [1] = BCD2LowerCh (שעות);

time [2] = ':';

min = Ds1307_read (דקה); // דקות

זמן [3] = BCD2UpperCh (דקות);

זמן [4] = BCD2LowerCh (דקות);

time [5] = ':';

sec = Ds1307_read (השני); // שניות

זמן [6] = BCD2UpperCh (שניות);

זמן [7] = BCD2LowerCh (שניות);

mth = Ds1307_read (חודש); //חוֹדֶשׁ

תאריך [0] = BCD2UpperCh (י ');

תאריך [1] = BCD2LowerCh (י ');

Mdate [2] = ':';

Dday = Ds1307_read (תאריך); //יְוֹם

תאריך [3] = BCD2UpperCh (Dday);

תאריך [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

yr = Ds1307_read (שנה); //שָׁנָה

תאריך [6] = '2';

Mdate [7] = '0';

תאריך [8] = BCD2UpperCh (שנה);

תאריך [9] = BCD2LowerCh (שנה);

}

loadLcd () {

int cx;

Lcd_cmd (ברור);

Lcd_writeText (1, 1, "תאריך:");

// lcdWriteTextCP (Mdate);

עבור (cx = 0; cx <11; cx ++)

Lcd_writeCP (תאריך [cx]);

Lcd_writeText (2, 1, "Time:");

// 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 ל -1 הרץ

Ds1307_write (השני, Binary2BCD (startOscilator)); // אפס את השנייה ל -0 שניות והפעל את המתנד

while (readPin (set) == 1);

}

שלב 3: עיצוב בפרוטוס

עיצוב בפרוטוס
עיצוב בפרוטוס

סוג פרוטוס הוא דרישות אלה

1. ענן X

2. DS1307

3. נגד 4.7k

4. כפתור

5. lm016 LCD

6. קריסטל של 32khz

או או כמובן אל תשכח את החיובי והנחת שלך.

הפוך את החיבורים שלך לשלי.

מוּמלָץ: