Orodha ya maudhui:

Saa ya DS1307 Pamoja na CloudX: Hatua 4
Saa ya DS1307 Pamoja na CloudX: Hatua 4

Video: Saa ya DS1307 Pamoja na CloudX: Hatua 4

Video: Saa ya DS1307 Pamoja na CloudX: Hatua 4
Video: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Julai
Anonim
Saa ya DS1307 Pamoja na CloudX
Saa ya DS1307 Pamoja na CloudX
Saa ya DS1307 Pamoja na CloudX
Saa ya DS1307 Pamoja na CloudX

Fikiria kila wakati unataka kutengeneza saa yako ya kawaida au saa. kuunganisha DS1307 na CloudX kunaweza kufanya matarajio yako yasiwe na shida

Hatua ya 1: Fungua IDX yako ya CloudX

Fungua IDX yako ya CloudX
Fungua IDX yako ya CloudX
Fungua IDX yako ya CloudX
Fungua IDX yako ya CloudX

Samahani mimi sio mzungumzaji sana, lakini najua inapofikia miradi ya Saa Saa, CloudX imekufunika.

Hatua rahisi

1. kuagiza maktaba kuu ya CloudX na kufyeka mtindo wake wa bodi

2. kuagiza DS1307 na maktaba nyingine inayofaa inayohitajika

3. furahiya na ucheze na vibanda vya DS1307 kutoka maktaba yake

Hatua ya 2: CODE !, CODE !!, CODE !!

/*

* Faili: kuu.c * Mwandishi: Ogboye Godwin * * Iliundwa Aprili 24, 2018, 11: 02AM * /

# pamoja

# pamoja

# pamoja

muda mfupi usiosainiwa [9], Mdate [11];

unsth mth fupi, Dday, yr, hr, min, sec;

GetDateTime ();

mzigoLcd ();

resetClock ();

kuweka = 16;

int inc = 15;

int dec = 14;

kuanzisha () {

pinMode (kuweka, INPUT);

pinMode (inc, INPUT);

pinMode (des, INPUT);

pinMode (1, Pembejeo);

Kuweka Lcd (2, 3, 4, 5, 6, 7);

Ds1307_init ();

kitanzi () {

wakati (readPin (seti) == 0) {

GetDateTime ();

mzigoLcd ();

kuchelewesha (500);

}

ikiwa (readPin (seti) == 1)

resetClock ();

}

}

GetDateTime () {

hr = Ds1307_ kusoma (saa); // saa

wakati [0] = BCD2UpperCh (hr);

wakati [1] = BCD2LowerCh (hr);

wakati [2] = ':';

min = Ds1307_ kusoma (dakika); // min

wakati [3] = BCD2UpperCh (dakika);

wakati [4] = BCD2LowerCh (min);

wakati [5] = ':';

sec = Ds1307_read (pili); // sec

wakati [6] = BCD2UpperCh (sec);

wakati [7] = BCD2LowerCh (sec);

mth = Ds1307_ kusoma (mwezi); // mwezi

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (tarehe); // siku

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

mwaka = Ds1307_isoma (mwaka); // mwaka

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (mwaka);

Mdate [9] = BCD2LowerCh (mwaka);

}

mzigoLcd () {

int cx;

Lcd_cmd (wazi);

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

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (muda);

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

Lcd_writeCP (muda [cx]);

}

resetClock () {

Ds1307_andika (pili, Binary2BCD (0)); // andika sekunde 0

Ds1307_andika (dakika, Binary2BCD (12)); // andika dakika 12

Ds1307_andika (saa, Binary2BCD (12)); // andika saa 12

Ds1307_andika (siku, Binary2BCD (3)); // kuandika siku ya jumanne

Ds1307_andika (tarehe, Binary2BCD (24)); // tarehe ya kuandika tarehe 24

Ds1307_andika (mwezi, Binary2BCD (4)); // kuandika mwezi Aprili

Ds1307_andika (mwaka, Binary2BCD (18)); // andika mwaka 18 yaani 2018

Ds1307_andika (SQWE, Binary2BCD (masafa)); // weka pato la SQWE kwa 1hz

Ds1307_andika (pili, Binary2BCD (startOscilator)); // seta pili kwa 0sec na uanze oscilator

wakati (readPin (seti) == 1);

}

Hatua ya 3: Ubunifu katika Proteus

Ubunifu katika Proteus
Ubunifu katika Proteus

andika katika proteus isis mahitaji haya

1. winguX

2. DS1307

3. 4.7k kupinga

4. kifungo

5. lm016 LCD

6. kioo cha 32khz

na au bila shaka usisahau hali yako nzuri na msingi.

fanya miunganisho yako kama yangu.

Ilipendekeza: