Taula de continguts:

Rellotge DS1307 amb CloudX: 4 passos
Rellotge DS1307 amb CloudX: 4 passos

Vídeo: Rellotge DS1307 amb CloudX: 4 passos

Vídeo: Rellotge DS1307 amb CloudX: 4 passos
Vídeo: DS1302 Real Time Clock Module Arduino | DS1302 RTC Module Arduino | Arduino DS1302 RTC Clock Module 2024, De novembre
Anonim
Rellotge DS1307 amb CloudX
Rellotge DS1307 amb CloudX
Rellotge DS1307 amb CloudX
Rellotge DS1307 amb CloudX

Imagineu-vos mai que voleu fer el vostre propi rellotge o rellotge personalitzat. La combinació d'un DS1307 i CloudX pot fer que la vostra aspiració sigui lliure de problemes

Pas 1: obriu el CloudE IDE

Obriu el vostre IDX de CloudX
Obriu el vostre IDX de CloudX
Obriu el vostre IDX de CloudX
Obriu el vostre IDX de CloudX

Ho sento, no parlo gaire, però sé que quan es tracta de projectes de temps real, CloudX us té cobert.

Passos senzills

1. importeu la biblioteca principal de cloudX amb la barra del model de tauler

2. importeu el DS1307 i altra biblioteca funcional necessària

3. gaudir i jugar amb les funcions DS1307 de la seva biblioteca

Pas 2: CODI !, CODI !!, CODI !

/*

* Fitxer: main.c * Autor: Ogboye Godwin * * Creat el 24 d'abril de 2018 a les 11:02 * /

#incloure

#incloure

#incloure

poc temps sense signar [9], Mdate [11];

mes curt sense signar, Dday, any, hora, min, segon;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

setup () {

pinMode (set, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

bucle () {

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

delayms (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (hora); // h

temps [0] = BCD2UpperCh (hr);

temps [1] = BCD2LowerCh (h);

temps [2] = ':';

min = Ds1307_read (minut); // mín

temps [3] = BCD2UpperCh (min);

temps [4] = BCD2LowerCh (min);

temps [5] = ':';

sec = Ds1307_read (segon); // seg

temps [6] = BCD2UpperCh (seg);

temps [7] = BCD2LowerCh (seg);

mth = Ds1307_read (mes); // mes

Mdate [0] = BCD2UpperCh (mes);

Mdate [1] = BCD2LowerCh (mes);

Mdate [2] = ':';

Dday = Ds1307_read (data); // dia

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

any = Ds1307_read (any); //curs

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (any);

Mdate [9] = BCD2LowerCh (any);

}

loadLcd () {

int cx;

Lcd_cmd (clar);

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

// lcdWriteTextCP (Mdate);

per a (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (hora);

per a (cx = 0; cx <9; cx ++)

Lcd_writeCP (temps [cx]);

}

resetClock () {

Ds1307_write (segon, Binary2BCD (0)); // escriu 0 segon

Ds1307_write (minut, Binary2BCD (12)); // escriure 12 minuts

Ds1307_write (hora, Binary2BCD (12)); // escriure 12 hores

Ds1307_write (dia, Binary2BCD (3)); // escriure el dimarts

Ds1307_write (data, Binary2BCD (24)); // escriure la data 24

Ds1307_write (mes, Binary2BCD (4)); // escriu de mes a abril

Ds1307_write (any, Binary2BCD (18)); // escriure l’any 18 és a dir 2018

Ds1307_write (SQWE, Binary2BCD (freqüència)); // estableix la sortida SQWE a 1hz

Ds1307_write (segon, Binary2BCD (startOscilator)); // restableix segon a 0sec i inicia oscilator

while (readPin (set) == 1);

}

Pas 3: Dissenyar a Proteus

Disseny a Proteus
Disseny a Proteus

escriviu proteus isis aquests requisits

1. núvolX

2. DS1307

3. Resistència de 4,7 k

4. botó

5. LCD lm016

6. cristall de 32khz

i, per descomptat, no oblideu el vostre positiu i el vostre terreny.

fes les teves connexions com la meva.

Recomanat: