Након што сам добио неколико табли Ардуино, и разне радио компоненте како би се упознао са микроконтролерима, аутор је одлучио да уради нешто занимљиво и истовремено корисно. Имајући на располагању велики број ЛЕД-ова, појавила се идеја да креирамо бинарни сат.
На страни електронике, бинарни сат није нарочито компликован, али аутор је закомпликовао задатак и одлучио да не спрема тастере и ЛЕД. У почетку је пројекат требало да користи 22 ЛЕД, 6 тастера и један високотонац. Такође је била идеја да се састави сат на Ардуино Меги због већег броја пинова, али регистар померања 74ХЦ595 показао се као спас.
Материјали:
- Ардуино Уно
- 2 плоче у пуној величини
- ЛЕД црвене 7 ком
- Зелене ЛЕД 7 ком
- плаве ЛЕД 6 ком
- 2 жуте и беле ЛЕД
- Отпорници 220 охма 25 ком
- Пиезо зујалица 1 ком
- 6 дугмади такт тастера
- Помакни излазни регистри 74ХЦ595 у ДИП-16 пакету 3 ком
- Повезивање жица 90 ком
- Сат модула у реалном времену заснован на чипу ДС1307 РТЦ
Како ће све радити.
Постоји око 10 врста бинарних сатова. Неки приказују вријеме у бинарном децималном (БЦД) формату, други као бинарни бројеви. Пошто се аутору посебно не свиђа БЦД сат, одлучио је да направи свој чисти бинарни сат. Некима је теже читати, али разлика није велика, јер је лако превести бројеве из бинарних у децимално. Такође, предувјет за творца сата био је означавање секунди на сату.
Поред тога, сат има 6 тастера:
Сет - одговоран је за режим подешавања сата / аларма и за чување параметра у режиму подешавања.
Режим - одговоран за пребацивање између режима сата, аларма и тајмера.
Горе - у подешавању сата / аларма / тајмера, повећава параметар за један. У аларму и тајмеру одговоран је за активирање и деактивирање одабраног режима. Када се активира сигнал, искључит ће се сигнал аларма / тајмера.
Доље - у подешавању сата / аларма / тајмера, смањиће параметар за један. Тајмер ће га паузирати без ресетирања одбројавања. Када се аларм угаси, сигнал ће пренети 5 минута.
24/12 - промените формат времена.
Дим - одговоран за укључивање и искључивање ЛЕД диода (када су ЛЕД диоде искључене, преостали тастери престају да раде).
ЛЕД позициони дијаграм:
Повезивање компонената
Аутор ће све серијске ЛЕД диоде спојити са отпорником. Отпор је лемљен на једном од терминала ЛЕД-а, није битно који. ЛЕД ће бити повезани преко регистара смене, овај чип има 16 контаката.Овај број пинова омогућава вам употребу великог броја игле, узимајући само 3 игле на Ардуино.
Излазни регистар померања 74ХЦ595:
К0-К7 су налази регистра на који ће ЛЕД бити прикључени.
Вцц - на њега ће се применити 5В пин за напајање.
ГНД - земља повезана с ГНД-ом на Ардуину.
ОЕ - пин је одговоран за обрнуту активацију иглица, али неће се користити, он се једноставно споји на масу.
МР је обрнуто брисање регистра, не треба га контролисати, па ће бити прикључено на 5В напајање.
СТ_ЦП - пин је одговоран за ажурирање статуса регистра. Приликом снимања стања потребно је на њега применити ЛОВ, након снимања - ВИСОКО, да бисте ажурирали статус излаза. Потребно га је повезати иглом на Ардуино-у. Овај пин можете повезати у три регистра паралелно.
СХ_ЦП - пин, одговоран за помицање за 1 бит регистра. Потребно га је повезати иглом на Ардуино-у. Такође су паралелно повезани и на микровезама.
ДС - подаци се шаљу на овај пин, повезани су на пин на Ардуино-у.
К7 '- овај пин се користи за каскадно повезивање са другим регистрима 74ХЦ595.
Дијаграм ожичења:
Пиезо зујалица биће повезана са трећим Ардуино иглом у низу са отпорником. Пре него што је укључила високотонски високотонац у круг, аутор је погледао које иглице подржавају ПВМ, јер је за њу то обавезно. На Ардуино Уно-у, ПВМ подржава 3, 5, 6, 9, 10 и 11 пинова.
Тастери су повезани помоћу отпорника уграђених у Ардуино, с једне стране тастера спојених са земљом, а друге на Ардуино игле.
Дакле, коначни дизајн изгледа:
Направите на плочи са хлебом
Након што је стекао додатне детаље, аутор је почео да саставља пројекат на табли према шемама. Изглед је био за очекивати, јер плоча за плочу ограничава слободу у постављању компоненти, а избочене жице нису створиле естетски ужитак. Али ипак је плоча намијењена моделима, али не и готовим уређајима.
Програмски код.
Аутор је био спретан у програмирању, а аутор је одлучио да напише шифру сам, без коришћења туђих дешавања. Први корак је био писање потпрограма, оно је одговорно за трептање свих диода и давање пиезо сигнала када је укључен. Ова функција помаже у провјери интегритета круга, слично ономе који је имплементиран на многим уређајима.
Скица је изашла прилично велика, а затим можете размотрити њене главне карактеристике.
ЛЕД рад.
Пошто се ЛЕД-овима приступа кроз регистар померања, пре свега, било је потребно имплементирати више рутина за ЛЕД-ове. За лакши рад с диодама, имплементирано је низ додатних функција. Реализовани су различити ефекти анимације диода. Када сат није подешен, диоде које су одговорне за сате и минуте почет ће трептати (као што нормалан сат трепери када није подешен). ЛЕД-ове одговорне за секунде такође имају своју анимацију, диода се може покренути лево и десно у режиму аларма или у режиму подешавања сата.
Главна петља.
Програм је конфигуриран тако да ради на следећи начин: сат приказује информације овисно о тренутном стању и мијења његово стање овисно о употреби типки и догађаја. Све изгледа као велика количина угнијежђених услова. Стање диода се ажурира сваки пут након провере статуса тајмера и тастера са позивом њиховом руковатељу.
Такође, аутор је урадио одличан посао за исправан рад тастера за унос и тајмера. Изворни код скице можете преузети испод чланка.
Лаунцх лаиоут
Након укључивања пројекта, уређај је на први поглед функционисао исправно и стабилно. Али аутор је пронашао ману, сат је заостајао за једну секунду на сат, дуго би била велика грешка.
Проучавањем овог проблема установљено је да оригинални Ардуино Уно користи керамички резонатор и недостаје му тачности за мерење времена у дужим периодима. Најрационалније решење било је куповина сата у реалном времену, плус што због овог модула време на сату неће нестати ако се искључи. Аутор је купио Грове РТЦ модул од компаније Сееед Студио. То је готова плоча са сатним чипом. Аутор је повезао ножице СДА и СЦЛ модула са Ардуино на игле А4 и А5, ГНД уз земљу. Пошто је напајање од 5 В заузела даска сата, нигде није било за повезивање модула. Аутор је одлучио напајати модул из једног од дигиталних пинова који ће се стално напајати.Такође, аутору је било потребно да измени изворни код и дода библиотеку сатова у стварном времену.
Пазите на монтажу
Након дугог рада на коду, време је да уређају дате комплетан изглед и пребаците га са плоче на штампану плочу. Пре свега, било је потребно направити ожичење за плочу. За то је коришћен фритзинг, с обзиром да је аутор већ имао идеју о изгледу сата и направио је дијаграм уређаја. Аутор је такође ручно пронашао плочу, требало је много времена.
Пројекат за производњу ПЦБ:
Производња ПЦБ-а наручена је у Кини. Сееед Студио има услугу Фусион ПЦБ плоче. Кроз Фритзинг је датотека експортирана у проширени Гербер формат, а многи произвођачи плоча раде с њом. Две недеље касније аутор је примио дуго очекивани хонорар поштом.
Остало је само лемљење већ мало прашњавих делова на плочу. Готов резултат након лемљења изгледао је много боље од распореда на плочи за хлеб.
Аутор пројекта дуго је напорно радио и добио је оно што је желео - јединствени бинарни сат са часовником и будилицом. Користећи одељак за батерије, сат се може поставити било где. Ардуино је испунио очекивања и потпуно се изборио са задатком.