Овај сат реалног времена заснован на Ардуину дигитални је сат за приказ реалног времена помоћу РТЦ ИЦ ДС1307 који ради на И2Ц протоколу. Сат реалног времена значи да ради и након нестанка струје. Када се напајање поново повеже, приказује реално време без обзира на време и трајање када је било искључено. У овом пројекту Ардуино будилника користили смо ЛЦД модул 16к2 за приказ времена у - формату „сат, минут, секунде, датум, месец и година“. Такође је додата опција аларма и можемо подесити време аларма. Једном када се аларм активира у интерном ЕЕПРОМ-у ардуина, остаје сачуван чак и након ресетовања или нестанка електричне енергије. Сатови у реалном времену обично се користе у нашим рачунарима, кућама, канцеларијама и електроничким уређајима како би их ажурирали у реалном времену.
И2Ц протокол је метода повезивања два или више уређаја који користе две жице на један систем, па се овај протокол назива и двожичним протоколом. Може се користити за комуникацију 127 уређаја са једним уређајем или процесором. Већина И2Ц уређаја ради на фреквенцији од 100 кХз.
Кораци за уписивање података мастер у славе (начин пријема славе)
- Шаље услов СТАРТ у славе.
- Пошаље адресу роба славе.
- Пошаљите бит за писање (0) славе.
- Примио је АЦК бит од славе
- Шаље речи адресу робову.
- Примио је АЦК бит од славе
- Шаље податке подређеном.
- Примио је АЦК бит од славе.
- И последње шаље СТОП услов славе.
Кораци за читање података са подређеног на главни (начин преноса славе-а)
- Шаље услов СТАРТ у славе.
- Пошаље адресу роба славе.
- Пошаљите прочитани бит (1) славе.
- Примио је АЦК бит од славе
- Примљени подаци од славе
- Примио је АЦК бит од славе.
- Шаље услов СТОП славе.
Да бисмо направили овај дигитални сат заснован на РТЦ ДС1307 ИЦ , овде смо користили Ардуино Про Мини, али можете користити и било који други Ардуино модел као што је Ардуино Уно или Ардуино Нано. Заједно са Ардуино плочом, ДС1307 РТЦ ИЦ, користили смо 16к2 ЛЦД модул за приказ времена и датума, кристални осцилатор, регулатор напона 7805, зујалицу и неколико транзистора и отпорника.
Кружни дијаграм и опис
У овом дигиталном тактном колу заснованом на Ардуину користили смо три главне компоненте као што су ИЦ ДС1307, Ардуино Про Мини Боард и ЛЦД модул 16к2.
Овде се ардуино користи за читање времена са дс1307 и приказивање на ЛЦД екрану од 16к2. ДС1307 шаље време / датум помоћу 2 линије на ардуино. Зујалица се такође користи за индикацију аларма, која се оглашава када је аларм активиран. Блок дијаграм је приказан доле да би се разумео рад овог сата у реалном времену.
Као што можете видети на дијаграму кола, пинови ДСА307 чипа СДА и СЦЛ повезани су на ардуино пинове СДА и СЦЛ вучним отпорником који држи задану вредност ВИСОКО на подацима и тактним линијама. 32.768КХЗ кристал осцилатор је повезан са ДС1307 чипом за генерисање тачно 1 секунди закашњења, а батерија 3 волти је такође повезан са пин 3 рд (БАТ) од ДС1307 која чува време јурим неуспеха струје. ЛЦД од 16к2 повезан је са ардуином у 4-битном режиму. Контролни пин РС, РВ и Ен су директно повезани са ардуино пином 2, ГНД и 3. А пин за податке Д0-Д7 повезан је са 4, 5, 6, 7 ардуина. Зујалица је повезана са ардуино пин-ом број 13 преко НПН БЦ547 транзистора који има 1 к отпорник у основи.
Три тастера, наиме подешена, ИНЦ и Нект, користе се за подешавање аларма на пин 12, 11 и 10 ардуина у активном ниском режиму. Када притиснемо сет, активира се режим подешавања аларма и сада треба да подесимо аларм помоћу дугмета ИНЦ, а дугме Нект служи за прелазак на цифру. Комплетна поставка плоча овог сата са реалним временом са алармом приказана је на доњој слици. Такође можете погледати детаљан водич о дигиталном будилнику помоћу АВР микроконтролера.
Опис програма
Да бисмо програмирали овај сат у реалном времену, користили смо неке библиотеке за издвајање времена / датума из ДС1307 и за приказивање на ЛЦД-у, које су дате у наставку:
А иницијализација РТЦ, ЛЦД и улазног излаза врши се у петљи за подешавање.
Остатак ствари као што је време читања, подешавање аларма врши се у одељку воид лооп.