Obsah:

Hodiny DS1307 s CloudX: 4 kroky
Hodiny DS1307 s CloudX: 4 kroky

Video: Hodiny DS1307 s CloudX: 4 kroky

Video: Hodiny DS1307 s CloudX: 4 kroky
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Červenec
Anonim
Hodiny DS1307 s CloudX
Hodiny DS1307 s CloudX
Hodiny DS1307 s CloudX
Hodiny DS1307 s CloudX

Dokážete si někdy představit, že byste si chtěli vyrobit vlastní hodinky nebo hodiny? sloučení DS1307 a CloudX může způsobit, že vaše aspirace bude bezproblémová

Krok 1: Otevřete svůj CloudX IDE

Otevřete svůj CloudX IDE
Otevřete svůj CloudX IDE
Otevřete svůj CloudX IDE
Otevřete svůj CloudX IDE

Omlouvám se, že moc nemluvím, ale vím, že pokud jde o projekty s hodinami reálného času, cloudX vás pokryje.

Jednoduché kroky

1. importujte hlavní knihovnu cloudX s lomítkem její deskový model

2. importujte DS1307 a další funkční knihovnu

3. užívejte si a hrajte si s funkcemi DS1307 ze své knihovny

Krok 2: KÓD !, KÓD !!, KÓD !

/*

* Soubor: main.c * Autor: Ogboye Godwin * * Vytvořeno 24. dubna 2018, 11:02 */

#zahrnout

#zahrnout

#zahrnout

krátký čas bez znaménka [9], Mdate [11];

bez znaménka krátký měsíc, den, rok, hod, min, s;

getDateTime ();

loadLcd ();

resetClock ();

int sada = 16;

int inc = 15;

int dec = 14;

založit(){

pinMode (sada, VSTUP);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, VSTUP);

Nastavení Lcd (2, 3, 4, 5, 6, 7);

Ds1307_init ();

smyčka(){

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

zpoždění (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (hodina); // hod

čas [0] = BCD2UpperCh (hr);

čas [1] = BCD2LowerCh (hr);

čas [2] = ':';

min = Ds1307_read (minuta); // min

čas [3] = BCD2UpperCh (min);

čas [4] = BCD2LowerCh (min);

čas [5] = ':';

sec = Ds1307_read (druhý); // s

čas [6] = BCD2UpperCh (s);

čas [7] = BCD2LowerCh (s);

mth = Ds1307_read (měsíc); //Měsíc

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (datum); //den

Mdate [3] = BCD2UpperCh (den);

Mdate [4] = BCD2LowerCh (den);

Mdate [5] = ':';

yr = Ds1307_read (rok); //rok

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (rok);

Mdate [9] = BCD2LowerCh (rok);

}

loadLcd () {

int cx;

Lcd_cmd (clear);

Lcd_writeText (1, 1, "Datum:");

// lcdWriteTextCP (Mdate);

pro (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, "Čas:");

// lcdWriteTextCP (čas);

pro (cx = 0; cx <9; cx ++)

Lcd_writeCP (čas [cx]);

}

resetClock () {

Ds1307_write (druhý, Binary2BCD (0)); // napiš 0 sekund

Ds1307_write (minuta, Binary2BCD (12)); // zápis 12 minut

Ds1307_write (hodina, Binary2BCD (12)); // pište 12hod

Ds1307_write (den, Binary2BCD (3)); // napište den úterý

Ds1307_write (datum, Binary2BCD (24)); // napište datum 24

Ds1307_write (měsíc, Binary2BCD (4)); // pište měsíc až duben

Ds1307_write (rok, Binary2BCD (18)); // napište rok 18, tj. 2018

Ds1307_write (SQWE, Binary2BCD (frekvence)); // nastavení výstupu SQWE na 1 Hz

Ds1307_write (druhý, Binary2BCD (startOscilator)); // resetujte sekundu na 0 s a spusťte oscilátor

while (readPin (set) == 1);

}

Krok 3: Návrh v Proteus

Design v Proteusu
Design v Proteusu

zadejte proteus isis tyto požadavky

1. cloudX

2. DS1307

3. Rezistor 4,7k

4. tlačítko

5. LCD lm016

6. krystal 32 khz

a nebo samozřejmě nezapomeňte na své pozitivum a půdu.

vytvořte svá spojení jako já.

Doporučuje: