Përmbajtje:

Ora DS1307 Me CloudX: 4 hapa
Ora DS1307 Me CloudX: 4 hapa

Video: Ora DS1307 Me CloudX: 4 hapa

Video: Ora DS1307 Me CloudX: 4 hapa
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Nëntor
Anonim
Ora DS1307 Me CloudX
Ora DS1307 Me CloudX
Ora DS1307 Me CloudX
Ora DS1307 Me CloudX

E imagjinoni ndonjëherë që dëshironi të bëni orën ose orën tuaj me porosi. bashkimi i një DS1307 dhe CloudX mund ta bëjë aspirimin tuaj pa probleme

Hapi 1: Hapni CloudX IDE -në tuaj

Hapni CloudX IDE tuaj
Hapni CloudX IDE tuaj
Hapni CloudX IDE tuaj
Hapni CloudX IDE tuaj

Na vjen keq që nuk jam shumë folës, por e di kur bëhet fjalë për projektet e orës në kohë reale, cloudX ju ka mbuluar.

Hapa të thjeshtë

1. importoni bibliotekën kryesore cloudX me modelin e bordit të tij të shkurtuar

2. importoni DS1307 dhe bibliotekën tjetër funksionale të nevojshme

3. kënaquni dhe luani me funksionet DS1307 nga biblioteka e tij

Hapi 2: KODI !, KODI !!, KODI !!

/*

* Skedari: main.c * Autori: Ogboye Godwin * * Krijuar më 24 Prill 2018, 11:02 AM */

#përfshi

#përfshi

#përfshi

kohë e shkurtër e panënshkruar [9], Mdate [11];

muaj i shkurtër i panënshkruar, Ditë, vit, orë, min, sek;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

setup () {

pinMode (vendosur, INPUT);

pinMode (përfshirë, INPUT);

pinMode (dek, INPUT);

pinMode (1, HYRJE);

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

Ds1307_init ();

lak () {

ndërsa (lexoPin (vendos) == 0) {

getDateTime ();

loadLcd ();

vonesa (500);

}

nëse (lexoPin (vendos) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_lexim (orë); // orë

koha [0] = BCD2UpperCh (orë);

koha [1] = BCD2LowerCh (orë);

koha [2] = ':';

min = lexo Ds1307 (minutë); // min

koha [3] = BCD2UpperCh (min);

koha [4] = BCD2LowerCh (min);

koha [5] = ':';

sek = Ds1307_lex (e dyta); // sek

koha [6] = BCD2UpperCh (sek);

koha [7] = BCD2LowerCh (sek);

mth = Ds1307_lexim (muaj); //muaj

Mdate [0] = BCD2UpperCh (muaj);

Mdate [1] = BCD2LowerCh (muaj);

Mdate [2] = ':';

Dita = Ds1307_read (data); // ditë

Mdate [3] = BCD2UpperCh (Ditë);

Mdate [4] = BCD2LowerCh (Ditë);

Mdate [5] = ':';

yr = Ds1307_leximi (viti); // vit

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (vit);

Mdate [9] = BCD2LowerCh (vit);

}

loadLcd () {

int cx;

Lcd_cmd (e qartë);

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

// lcdWriteTextCP (Mdate);

për (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (koha);

për (cx = 0; cx <9; cx ++)

Lcd_writeCP (koha [cx]);

}

resetClock () {

Ds1307_write (e dyta, Binary2BCD (0)); // shkruaj 0 sekonda

Ds1307_write (minutë, Binary2BCD (12)); // shkruaj 12 minuta

Ds1307_write (orë, Binary2BCD (12)); // shkruaj 12 orë

Ds1307_write (ditë, Binary2BCD (3)); // shkruaj ditën e martë

Ds1307_write (data, Binary2BCD (24)); // shkruaj datën 24

Ds1307_write (muaj, Binary2BCD (4)); // shkruaj muaj deri në prill

Ds1307_vrite (viti, Binary2BCD (18)); // shkruani vitin 18 dmth 2018

Ds1307_write (SQWE, Binary2BCD (frekuenca)); // vendosni daljen SQWE në 1hz

Ds1307_write (e dyta, Binary2BCD (startOscilator)); // rivendosni sekondën në 0sek dhe filloni oscilatorin

ndërsa (lexoPin (vendos) == 1);

}

Hapi 3: Projektimi në Proteus

Dizajn në Proteus
Dizajn në Proteus

lloji i proteus isis këto kërkesa

1. cloudX

2. DS1307

3. Rezistencë 4.7k

4. butoni

5. LCD lm016

6. kristal prej 32khz

dhe sigurisht mos harroni pozitivitetin dhe bazën tuaj.

bëni lidhjet tuaja si të miat.

Recommended: