Índice:

Relógio DS1307 com CloudX: 4 etapas
Relógio DS1307 com CloudX: 4 etapas

Vídeo: Relógio DS1307 com CloudX: 4 etapas

Vídeo: Relógio DS1307 com CloudX: 4 etapas
Vídeo: S06E35 - Arduino - RTC DS1307 (Relógio) 2024, Novembro
Anonim
Relógio DS1307 com CloudX
Relógio DS1307 com CloudX
Relógio DS1307 com CloudX
Relógio DS1307 com CloudX

Já imagine que você deseja fazer seu próprio relógio ou relógio personalizado. fundir um DS1307 e CloudX pode tornar sua aspiração livre de problemas

Etapa 1: Abra seu CloudX IDE

Abra seu IDE CloudX
Abra seu IDE CloudX
Abra seu IDE CloudX
Abra seu IDE CloudX

Desculpe, não sou muito falante, mas eu sei que quando se trata de projetos de relógio em tempo real, o cloudX ajuda você.

Passos simples

1. importe a biblioteca principal do cloudX com slash seu modelo de placa

2. importar o DS1307 e outras bibliotecas funcionais necessárias

3. Aproveite e brinque com as funções do DS1307 de sua biblioteca

Etapa 2: CODE !, CODE !!, CODE !

/*

* Arquivo: main.c * Autor: Ogboye Godwin * * Criado em 24 de abril de 2018, 11h02 * /

#incluir

#incluir

#incluir

tempo curto sem sinal [9], Mdate [11];

mth curto sem sinal, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

conjunto int = 16;

int inc = 15;

int dec = 14;

configurar(){

pinMode (definir, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

Configuração Lcd (2, 3, 4, 5, 6, 7);

Ds1307_init ();

ciclo(){

while (readPin (definir) == 0) {

getDateTime ();

loadLcd ();

atrasos (500);

}

if (readPin (definir) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (hora); // hora

tempo [0] = BCD2UpperCh (h);

tempo [1] = BCD2LowerCh (h);

tempo [2] = ':';

min = Ds1307_read (minuto); // min

tempo [3] = BCD2UpperCh (min);

tempo [4] = BCD2LowerCh (min);

tempo [5] = ':';

sec = Ds1307_read (segundo); // s

tempo [6] = BCD2UpperCh (seg);

tempo [7] = BCD2LowerCh (seg);

mth = Ds1307_read (mês); //mês

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (data); //dia

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

ano = Ds1307_read (ano); //ano

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (ano);

Mdate [9] = BCD2LowerCh (ano);

}

loadLcd () {

int cx;

Lcd_cmd (limpar);

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

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (time);

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

Lcd_writeCP (tempo [cx]);

}

resetClock () {

Ds1307_write (segundo, Binary2BCD (0)); // escreve 0 segundo

Ds1307_write (minuto, Binary2BCD (12)); // escrever 12 minutos

Ds1307_write (hora, Binary2BCD (12)); // escrever 12 horas

Ds1307_write (dia, Binary2BCD (3)); // escreva o dia terça-feira

Ds1307_write (data, Binary2BCD (24)); // escreve a data 24

Ds1307_write (mês, Binary2BCD (4)); // escreva de mês a abril

Ds1307_write (ano, Binary2BCD (18)); // escreva o ano 18, ou seja, 2018

Ds1307_write (SQWE, Binary2BCD (frequência)); // define a saída SQWE para 1hz

Ds1307_write (segundo, Binary2BCD (startOscilator)); // redefine o segundo para 0 seg e inicia o oscilador

enquanto (readPin (definir) == 1);

}

Etapa 3: Design em Proteus

Design em Proteus
Design em Proteus

tipo em proteção é esses requisitos

1. cloudX

2. DS1307

3. Resistor de 4,7k

4. botão

5. lm016 LCD

6. cristal de 32 khz

e ou claro, não se esqueça do seu positivo e fundamento.

faça suas conexões como as minhas.

Recomendado: