Innholdsfortegnelse:

DS1307 klokke med CloudX: 4 trinn
DS1307 klokke med CloudX: 4 trinn

Video: DS1307 klokke med CloudX: 4 trinn

Video: DS1307 klokke med CloudX: 4 trinn
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, November
Anonim
DS1307 klokke med CloudX
DS1307 klokke med CloudX
DS1307 klokke med CloudX
DS1307 klokke med CloudX

Tenk deg at du vil lage din egen klokke eller klokke. sammenslåing av en DS1307 og CloudX kan gjøre din aspirasjon problemfri

Trinn 1: Åpne CloudX IDE

Åpne CloudX IDE
Åpne CloudX IDE
Åpne CloudX IDE
Åpne CloudX IDE

Beklager, jeg er ikke så flink til å snakke, men jeg vet at når det kommer til sanntidsklokke -prosjekter, har cloudX dekket deg.

Enkle trinn

1. importere cloudX hovedbibliotek med skråstrek bordmodellen

2. importer DS1307 og annet funksjonelt bibliotek som trengs

3. nyt og lek med DS1307 -funksjonene fra biblioteket

Trinn 2: KODE !, KODE !!, KODE !

/*

* Fil: main.c * Forfatter: Ogboye Godwin * * Opprettet 24. april 2018, 11:02 */

#inkludere

#inkludere

#inkludere

usignert kort tid [9], Mdate [11];

usignert kort mnd, Dday, yr, hr, min, sek;

getDateTime ();

loadLcd ();

resetClock ();

int sett = 16;

int inc = 15;

int dec = 14;

setup () {

pinMode (sett, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INNGANG);

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

Ds1307_init ();

Løkke(){

mens (readPin (sett) == 0) {

getDateTime ();

loadLcd ();

forsinkelser (500);

}

hvis (readPin (sett) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (time); // hr

tid [0] = BCD2UpperCh (time);

tid [1] = BCD2LowerCh (time);

time [2] = ':';

min = Ds1307_read (minutt); // min

tid [3] = BCD2UpperCh (min);

tid [4] = BCD2LowerCh (min);

time [5] = ':';

sek = Ds1307_read (andre); // sek

tid [6] = BCD2UpperCh (sek);

tid [7] = BCD2LowerCh (sek);

mth = Ds1307_read (måned); //måned

Mdate [0] = BCD2UpperCh (mnd);

Mdate [1] = BCD2LowerCh (mnd);

Mdate [2] = ':';

Dday = Ds1307_read (dato); //dag

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

yr = Ds1307_read (år); //år

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (år);

Mdate [9] = BCD2LowerCh (år);

}

loadLcd () {

int cx;

Lcd_cmd (klar);

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

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (tid);

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

Lcd_writeCP (tid [cx]);

}

resetClock () {

Ds1307_write (andre, Binary2BCD (0)); // skriv 0 sekund

Ds1307_write (minutt, Binary2BCD (12)); // skriv 12 minutter

Ds1307_write (time, Binary2BCD (12)); // skriv 12 timer

Ds1307_write (dag, Binary2BCD (3)); // skriv dag tirsdag

Ds1307_write (dato, Binary2BCD (24)); // skriv dato 24

Ds1307_write (måned, Binary2BCD (4)); // skriv måned til april

Ds1307_write (år, Binary2BCD (18)); // skriv år 18, dvs. 2018

Ds1307_write (SQWE, Binary2BCD (frekvens)); // sett SQWE -utgang til 1hz

Ds1307_write (andre, Binary2BCD (startOscilator)); // nullstill andre til 0sek og start oscilatoren

mens (readPin (sett) == 1);

}

Trinn 3: Design i Proteus

Design i Proteus
Design i Proteus

type in proteus isis disse kravene

1. cloudX

2. DS1307

3. 4,7k motstand

4. knapp

5. lm016 LCD

6. krystall på 32khz

og eller selvfølgelig ikke glem din positive og grunn.

gjøre forbindelsene dine som mine.

Anbefalt: