Електронний годинник своїми руками схеми. Годинник зі світлодіодною індикацією своїми руками

З динамічною індикацією. По роботі годин претензій немає: точний хід, зручні налаштування. Але один великий мінус - вдень погано видно світлодіодні індикатори. Для вирішення проблеми перейшов на статичну індикацію і більше яскраві світлодіоди. Як завжди в програмне забезпеченнявелике спасибі Soir. Загалом пропоную вашій увазі великий вуличний годинник зі статичною індикацією, функції налаштування залишилися як і в попередніх годинах.

У них два дисплеї – основний (зовні на вулиці) та допоміжний на індикаторах – у приміщенні, на корпусі приладу. Висока яскравість досягається застосуванням ультраярких світлодіодів, з робочим струмом 50мА, та мікросхем-драйверів.

Схема електронного годинникадля вулиці на яскравих світлодіодах

Для прошивки контролера з файлами та використовуйте наступні налаштування фузів:

Друковані плати годинника, блоку управління та зовнішнього модуляу форматі LAY, .


Особливості даної схеми годинника:

- Формат відображення часу 24-годинний.
- Цифрова корекція точності ходу.
- вбудований контроль основного джерела живлення.
- Енергонезалежна пам'ять мікроконтролера.
- Є термометр, який вимірює температуру в діапазоні -55 - 125 градусів.
- Можливе почергове виведення інформації про час і температуру на індикатор.


Натискання кнопки SET_TIME переводить індикатор по колу з основного режиму годинника (відображення поточного часу). У всіх режимах утриманням кнопок PLUS/MINUS виконується прискорене встановлення. Зміни налаштувань через 10 секунд від останньої змінизначення запишуться в енергонезалежну пам'ять (EEPROM) і будуть зчитані звідти при повторному включенніживлення.


Ще один великий плюс запропонованого варіанта – змінилася яскравість, тепер у сонячну погоду яскравість прекрасна. Зменшилася кількість дротів з 14 до 5. Довжина дроту до основного (вуличного) дисплея – 20 метрів. Роботою електронного годинника задоволений, вийшов повнофункціональний годинник - і вдень, і вночі. З повагою, Soir-Олександрович.

Годинник зі світлодіодним підсвічуваннямі пульсуючою хвилинною стрілкою на мікроконтролер Arduino
Цей унікальний годинник зі світлодіодним підсвічуванням і пульсуючою хвилинною стрілкою вдалося виготовити завдяки використанню мікросхеми ШІМ-контролера TLC5940. Його головним завданнямє розширити кількість контактів із ШІМ-модуляцією. Ще однією особливістю цього годинника є перероблений аналоговий вольтметр в прилад вимірювальний хвилини. Для цього на стандартному принтері було роздруковано нову шкалу та наклеєно поверх старої. Як така, 5-а хвилина не відраховується, просто протягом п'ятої хвилини лічильник часу показує стрілку, що вперлася в кінець шкали (зашкалює). Основне керування реалізовано на мікроконтролері Arduino Uno.

Для того щоб підсвічування годинника не світилося надто яскраво в темній кімнаті, була реалізована схема автоматичного підстроювання яскравості в залежності від освітленості (використовувався фоторезистор).

Крок 1: Необхідні компоненти



Ось що потрібно:

  • Модуль аналогового вольтметра на DC 5V;
  • Мікроконтролер Arduino UNOабо інший відповідний Arduino;
  • Монтажна плата Arduino(прото плата);
  • Модуль годинника реального часу DS1307 (RTC);
  • Модуль із ШІМ-контролером TLC5940;
  • Пелюсточні світлодіоди підсвічування – 12 шт.;
  • Компоненти для збирання схеми автоматичного регулюванняяскравості (LDR).

Також, для виготовлення деяких інших компонентів проекту бажано мати доступ до 3D-принтера та верстата лазерного різання. Передбачається, що цей доступ у вас є, тому інструкції на відповідних етапах будуть додаватися креслення для виготовлення.

Крок 2: Циферблат




Циферблат складається з трьох деталей (шарів) вирізаних на верстаті лазерного різання з 3 мм листа МДФ, які скріплюються між собою за допомогою болтів. Пластина без прорізів (знизу праворуч на картинці) поміщається під іншою пластиною для позиціонування світлодіодів (знизу зліва). Потім окремі світлодіоди поміщаються у відповідні пази, і зверху одягається. лицьова панель(Зверху на малюнку). По краю циферблата просвердлено чотири отвори, через які всі три деталі скріплюються разом за допомогою болтів.

  • Для перевірки працездатності світлодіодів на цьому етапі використовувалася плоска батарейка CR2032;
  • Для фіксації світлодіодів використовувалися невеликі смужки липкої стрічки, що приклеювалися з заднього боку світлодіодів;
  • Усі ніжки світлодіодів були заздалегідь зігнуті відповідним чином;
  • Отвори з обох боків були просвердлені заново, якими й виконувалося скріплення болтами. Виявилося, що це набагато зручніше.

Технічне креслення деталей для циферблату доступне за :

Крок 3: Розробка схеми



На цьому етапі було розроблено електрична схема. Для цього використовувалися різні підручники та посібники. Не будемо сильно заглиблюватися в цей процес, у двох файлах нижче представлено готову електричну схему, яка була використана в цьому проекті.

Крок 4: Підключення монтажної плати Arduino





  1. Насамперед треба розпаяти всі голчасті контакти на монтажних та секційних платах;
  2. Далі, зважаючи на те, що харчування 5V і GND використовують дуже багато плат і периферійних пристроїв, для надійності, було припаяно по два дроти на 5V та GND на монтажній платі;
  3. Далі був встановлений ШІМ-контролер TLC5940 поруч із контактами, що використовуються;
  4. Після цього виконується підключення контролера TLC5940, згідно зі схемою підключення;
  5. Для того, щоб була можливість використовувати батарею, було встановлено модуль RTC на краю монтажної плати. Якщо припаяти його посередині плати, то не буде видно позначення контактів;
  6. Виконано підключення модуля RTC, згідно зі схемою підключення;
  7. Зібрано схему автоматичного контролю яскравості (LDR), ознайомитися можна за посиланням
  8. Виконано підключення проводів для вольтметра шляхом підключення проводів до висновку 6 і GND.
  9. Наприкінці було припаяно 13 проводів для світлодіодів (На практиці виявилося, що це було краще зробити до того, як приступати до кроку 3).

Крок 5: Програмний код

Програмний код, наведений нижче, був зібраний з різних шматків для компонентів годинника, знайденого в інтернеті. Він був повністю налагоджений і в даний час повністю працездатний, до того ж були додані докладні коментарі. Але перед завантаженням у мікроконтролер врахуйте такі пункти:

  • Перед прошивкою Arduino, потрібно розкоментувати рядок, який встановлює час:
    rtc.adjust(DateTime(__DATE__, __TIME__))
    Після прошивки контролера з цим рядком (час задано), потрібно знову закоментувати його і прошити контролер заново. Це дозволяє модулю RTCвикористовувати батарею для запам'ятовування часу, якщо зникне основне живлення.
  • Щоразу, коли ви використовуєте "Tlc.set()", вам потрібно використовувати "Tlc.update"

Крок 6: Зовнішнє кільце

Зовнішнє кільце для годинника було надруковано на 3D-принтері Replicator Z18. Воно прикріплюється до годинника за допомогою гвинтів на лицьовій стороні годинника. Нижче надається файл із 3D-моделлю кільця для друку на 3D-принтері.

Крок 7: Складання годинників


Мікроконтролер Arduino з рештою електроніки був закріплений на задній стороні годинника за допомогою саморізів і гайок як розпірки. Потім підключені всі світлодіоди, аналоговий вольтметр та LDR до проводів, які раніше були підпаяні до монтажної плати. Всі світлодіоди з'єднані між собою однією ніжкою і підключені до контакту VCC на контролері TLC5940 (колом просто припаяний шматок дроту).

Поки що все це не дуже добре ізольовано від коротких замиканьАле робота над цим буде продовжена в наступних версіях.

Пропоную вашій увазі електронні годинник на мікроконтролері. Схема годинника дуже проста, містить мінімум деталей, доступна для повторення початківцям радіоаматорам.

Конструкція зібрана на мікроконтролері та годинниках реального часу DS1307. Як індикатор поточного часу використаний чотирирозрядний семисегментний світлодіодний індикатор(ультраяркий, блакитного кольорусвітіння, що добре виглядає в чорний час, і, заразом, годинник грають роль нічника). Управління годинником відбувається двома кнопками. Завдяки використанню мікросхеми годинника реального часу DS1307, алгоритм програми вийшов досить простим. Спілкування мікроконтролера з годинником реального часу відбувається по шині I2C, та організовано програмним шляхом.

Схема годинника:

На жаль, у схемі є помилка:
- висновки МК до баз транзисторів потрібно підключати:
РВ0 до Т4, РВ1 до Т3, РВ2 до Т2, РВ3 до Т1
або змінити підключення колекторів транзисторів до розрядів індикатора:
Т1 до DP1 ….. Т4 до DP4

Деталі, що використовуються у схемі годинника:

♦ мікроконтролер ATTiny26:

♦ годинник реального часу DS1307:

♦ 4-розрядний семисегментний світлодіодний індикатор – FYQ-5641UB -21 із загальним катодом (ультраяркий, блакитного кольору свічення):

♦ кварц 32,768 кГц, із вхідною ємністю 12,5 пф (можна взяти з материнської платикомп'ютера), від цього кварцу залежить точність ходу годинника:

♦ всі транзистори — NPN-структури, можна застосувати будь-які (КТ3102, КТ315 та їхні зарубіжні аналоги), я застосував ВС547С
♦ мікросхемний стабілізатор напруги типу 7805
♦ усі резистори потужністю 0,125 Вт
полярні конденсаторина робоча напругане нижче напруги живлення
♦ резервне харчування DS1307 – 3 вольтовий літієвий елемент CR2032

Для живлення годинника можна використовувати будь-який непотрібний зарядний пристрій стільникового телефону(у цьому випадку, якщо напруга на виході зарядного пристроюв межах 5 вольт ± 0,5 вольта, частина схеми - стабілізатор напруги на мікросхемі типу 7805, можна виключити)
Струм споживання пристроєм становить - 30 мА.
Батарейку резервного харчуваннягодинника DS1307 можна і не ставити, але тоді, при зникненні напруги в мережі, поточний часдоведеться встановлювати заново.
Друкована плата пристрою не наводиться, конструкція була зібрана в корпусі від несправних механічного годинника. Світлодіод (з частотою миготіння 1 Гц від виводу SQW DS1307) служить для поділу годин і хвилин на індикаторі.

Установки мікроконтролера заводські: тактова частота- 1МГц, FUSE-біти чіпати не треба.

Алгоритм роботи годинника(В Algorithm Builder):

1. Встановлення покажчика стека
2. Налаштування таймера Т0:
- Частота СК/8
— переривання по переповненню (при такій встановленій частоті виклик переривання відбувається кожні 2 мілісекунди)
3. Ініціалізація портів (висновки РА0-6 та РВ0-3 налаштовуються на вихід, РА7 та РВ6 на вхід)
4. Ініціалізація шини I2C (висновки РВ4 та РВ5)
5. Перевірка 7-го біта (СН) нульового регістру DS1307
6. Глобальний дозвіл переривання
7. Вхід у цикл із перевіркою натискання кнопки

При першому включенні або повторному включенні за відсутності резервного живлення DS307 відбувається перехід в початкову установкупоточного часу. При цьому: кнопка S1 для встановлення часу, кнопка S2 – перехід до наступного розряду. Встановлений час– годинник та хвилина записуються в DS1307 (секунди встановлюються в нуль), а також висновок SQW/OUT (7-й висновок) налаштовується на генерацію прямокутних імпульсівіз частотою 1 Гц.
При натисканні кнопки S2 (S4 — у програмі) відбувається глобальна заборона переривань, програма перетворюється на підпрограму корекції часу. При цьому кнопками S1 і S2 встановлюються десятки та одиниці хвилин, потім, з 0 секунд, натисканням кнопки S2 відбувається запис уточненого часу в DS1307, дозвіл глобального переривання та повернення в основну програму.

Годинник показав хорошу точністьходу, догляд часу за місяць - 3 секунди.
Для покращення точності ходу, кварц рекомендується підключати до DS1307, як зазначено в дататі:

Програма написана серед «Algorithm Builder».
Ви можете, на прикладі програми годинника, ознайомитися з алгоритмом спілкування мікроконтролера з іншими пристроями по шині I2C (в алгоритмі докладно прокоментований кожен рядок).

Світлина зібраного пристроюта друкована плата у форматі.lay від читача сайту Анатолія Пільгука, за що йому величезне спасибі!

У пристрої застосовані: Транзистори - СМД ВС847 та ЧІП резистори

Додатки до статті:

(42,9 KiB, 3038 hits)

(6,3 KiB, 4 058 hits)

(3,1 KiB, 2 500 hits)

(312,1 KiB, 5 833 hits)


Другий варіант програми годинника в АБ (для тих у кого не скачується верхній)

(11,4 KiB, 1 842 hits)

Світлодіодні простий годинникможна зробити на дешевому контролері PIC16F628A. Звичайно, в магазинах повно різних електронних годинників, але за функціями у них може або бракувати термометра, або будильника, або вони не світяться у темряві. Та й взагалі іноді прото хочеться щось спаяти сам, а не купувати готове. Щоб збільшити малюнок схеми – клац.

У пропонованих годинниках є календар. У ньому два варіанти відображення дати – місяць цифрою чи складом, все це налаштовується після введення дати перемиканням далі кнопкою S1під час відображення потрібного параметра, термометр. є прошивки під різні датчики. Дивіться пристрій усередині корпусу:


Всі знають, що кварцові резонатори не є ідеальними за точністю, і протягом кількох тижнів набігає похибка. Для боротьби з цією справою, у годиннику передбачена корекція ходу, яка встановлюється параметрами SHі SL. Детальніше:

SH=42 та SL=40 - це вперед на 5 хвилин на добу;
SH=46 та SL=40 - це назад на 3 хвилини на добу;
SH=40 та SL=40 - це вперед на 2 хвилини на добу;
SH=45 та SL=40 - це назад на 1 хвилину на добу;
SH=44 та SL=С0 – це вперед на 1 хвилину на добу;
SH=45 та SL=00 - це корекція відключена.

Таким чином можна досягти ідеальної точності. Хоча доведеться кілька разів поганяти корекцію, поки виставите ідеально. А тепер наочно показується робота електронного годинника:

температура 29 градусів цельсія

Як індикатори можна поставити або світлодіодні циферні зборки, що вказані в самій схемі, або замінити їх звичайними круглими надяскравими світлодіодами - тоді цей годинник буде видно здалеку і його можна вивішувати навіть на вулиці.

Як видно з назви, головне призначення даного пристрою- дізнаватися поточний час та дату. Але воно має ще багато інших корисних функцій. Ідея його створення з'явилася після того, як мені на очі попався напівзламаний годинник з відносно великим (для наручних) металевим корпусом. Я подумав, що туди можна вставити саморобний годинник, можливості яких обмежуються лише власною фантазією та вмінням. В результаті з'явився пристрій із такими функціями:

1. Годинник - календар:

    Відлік та виведення на індикатор годин, хвилин, секунд, дня тижня, числа, місяця, року.

    Наявність автоматичного коригування поточного часу, що проводиться щогодини ( максимальні значення+/-9999 од., 1 од. = 3,90625 мс.)

    Обчислення дня тижня за датою (для поточного сторіччя)

    Автоматичний перехідна літній та зимовий час (відключається)

  • Враховуються високосні роки

2. Два незалежні будильники (при спрацьовуванні звучить мелодія)
3. Таймер із дискретністю 1 сек. (Максимальний час відліку 99ч 59м 59с)
4. Двоканальний секундомір із дискретністю рахунку 0,01 сек. ( максимальний часрахунки 99ч 59м 59с)
5. Секундомір із дискретністю рахунку 1 сек. (максимальний час рахунку 99 діб)
6. Термометр у діапазоні від -5°С. до 55°С (обмежений температурним діапазоном нормальної роботипристрої) з кроком 0,1°С.
7. Зчитувач та емулятор електронних ключів- таблеток типу DS1990 за протоколом Dallas 1-Wire (пам'ять на 50 штук, де вже є кілька універсальних ”ключів-всюдиходів”) з можливістю побайтного перегляду коду ключа.
8. Дистанційний пультуправління на ІЧ променях (реалізована тільки команда "Зробити знімок") для цифрових фотокамер"Pentax", "Nikon", "Canon"
9. Світлодіодний ліхтарик
10. 7 мелодій
11. Звуковий сигнал на початку кожної години (відключається)
12. Звукове підтвердження натискання кнопок (відключається)
13. Контроль напруги батареї живлення з функцією калібрування
14. Цифрове регулювання яскравості індикатора

Може така функціональність і надмірна, але мені подобаються універсальні речі, та й плюс моральне задоволення від того, що цей годинник буде зроблений своїми руками.

Принципова схема годинника

Пристрій побудований на мікроконтролері АТmega168PA-AU. Годинник цокає таймером Т2, що працює в асинхронному режимі від годинникового кварцу на 32768 Гц. Мікроконтролер майже весь час знаходиться в сплячому режимі (індикатор при цьому вимкнений), прокидаючись раз на секунду, щоб додати цю секунду до поточного часу і знову засинає. У активному режимі МК тактується від внутрішнього RC осцилятора на 8 МГц, але внутрішній прескалер ділить їх у 2, у результаті ядро ​​тактується від 4 МГц. Для індикації використовується чотири однорозрядні світлодіодні цифрові семисегментні індикатори з загальним анодом і децимальною точкою. Також є 7 статусних світлодіодів, призначення яких таке:
D1- Ознака негативного значення (мінус)
D2- Ознака працюючого секундоміра (блимає)
D3- Ознака включеного першого будильника
D4- Ознака включеного другого будильника
D5- Ознака подачі звукового сигналуна початку кожної години
D6- Ознака працюючого таймера (блимає)
D7- Ознака низької напругибатареї живлення

R1-R8 - струмообмежувальні резистори сегментів цифрових індикаторів HG1-HG4 та світлодіодів D1-D7. R12, R13 – дільник контролю напруги батареї. Оскільки напруга живлення годинника 3V, а білому світлодіоду D9 потрібно близько 3,4-3,8V при номінальному струмі споживання, він світиться над повну силу (але її вистачає, ніж спіткнутися у темряві) і тому підключений без струмообмежувального резистора. Елементи R14, Q1, R10 призначені для керування інфрачервоним світлодіодом D8 (реалізація дистанційного керуваннядля цифрових фотокамер. R19, ​​R20, R21 служать для поєднання під час спілкування з пристроями, що мають інтерфейс 1-Wire. Управління здійснюється трьома кнопками, які умовно назвав: MODE (режим), UP (вгору), DOWN (вниз). Перша з них також призначена для пробудження МК зовнішнього переривання (при цьому індикація включається), тому вона підключена окремо на вхід PD3. Натискання інших клавіш визначається за допомогою АЦП і резисторів R16, R18. Якщо кнопки не натискаються протягом 16 с, то МК засинає і індикатор гасне. При знаходженні в режимі “Пульт дистанційного керування для фотокамер”цей інтервал становить 32 сек., а при увімкненому ліхтарику - 1 хвилину. Також МК можна приспати вручну, використовуючи кнопки керування. При запущеному секундомірі з дискретністю 0,01 сек. пристрій не переходить у режим сну.

Друкована плата

Пристрій зібрано на двосторонній друкованій платі круглої форми за розміром внутрішнього діаметра корпусу наручного годинника. Але при виготовленні я використовував дві односторонні плати завтовшки 0,35 мм. Таку товщину знову ж таки отримав відшарувавши її від двостороннього склотекстоліту товщиною 1,5 мм. Плати потім склеїли. Все це робилося тому, що у мене не було тонкого двостороннього склотекстоліту, а кожен зекономлений міліметр товщини в обмеженому внутрішньому просторі корпусу годинника дуже цінний, та й відпала потреба поєднання при виготовленні друкованих провідників методом ЛУТ. Малюнок друкованої платиі розташування деталей знаходяться в файлах, що додаються. На одній стороні розміщені індикатори та струмообмежувальні резистори R1-R8. На зворотній - усі інші деталі. Є два наскрізні отвори для білого та інфрачервоного світлодіодів.

Контакти кнопок та тримач батареї виконані з гнучкої пружинної листової сталі завтовшки 0,2…0,3мм. та залужені. Нижче наведено фото плати з двох сторін:

Конструкція, деталі та їх можлива заміна

Мікроконтролер ATmega168PA-AU можна замінити ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Цифрові індикатори- 4 штуки KPSA02-105 суперяскраві червоного кольору свічення з висотою цифри 5,08мм. Можна поставити з цієї серії KPSA02-xxx або KCSA02-xxx. (Тільки не зелені - вони будуть слабо світитися) Інші аналоги подібних розмірів з гідною яскравістю мені невідомі. У HG1, HG3 з'єднання катодів сегментів відрізняється від HG2, HG4, тому що мені так було зручніше для розведення друкованої плати. У зв'язку з цим їм у програмі застосована різна таблиця знакогенератора. Використовувані резистори та конденсатори SMD для поверхневого монтажу типорозмірів 0805 та 1206, світлодіоди D1-D7 типорозміру 0805. Білий та інфрачервоний світлодіоди діаметром 3мм. На платі є 13 наскрізних отворів, які необхідно встановити перемички. В якості температурного датчиказастосований DS18B20 з інтерфейсом 1-Wire. LS1 – звичайна п'єзоелектрична пищалка, що вставляється в кришку. Одним контактом вона з'єднується з платою за допомогою пружинки, встановленої на ній, іншим з'єднується з корпусом годинника самою кришкою. Кварцовий резонатор від наручного годинника.

Програмування, прошивка, фьюзи

Для внутрішньосхемного програмування на платі є лише 6 круглих контактних п'ятачок (J1), так як повноцінний роз'єм не вмістився по висоті. До програматора їх підключав, використовуючи контактний пристрій, виготовлений з штирьової вилки PLD2x3 і напаяних на них пружинками, притискаючи їх однією рукою до п'ятачок. Нижче додається фотопристосування.

Я використав його, тому що в процесі налагодження доводилося багато разів перепрошувати МК. При разовій прошивці простіше підпаяти до п'ятачок тонкі дроти, підключені до програматора, а потім знову відпаяти. МК зручніше прошивати без батареї, але щоб живлення надходило або від зовнішнього джерела+3V, або від програматора з такою ж напругою живлення. Програма написана на асемблері серед VMLAB 3.15. Вихідні коди, прошивки для FLASH та EEPROM у додатку.

FUSE-біти мікроконтролера DD1 повинні бути запрограмовані таким чином:
CKSEL3...0 = 0010 – тактування від внутрішнього RC осцилятора 8 МГц;
SUT1...0 =10 - Start-up time: 6 CK + 64 ms;
CKDIV8 = 1 - дільник частоти на 8 вимкнений;
CKOUT = 1 - Output Clock on CKOUT заборонено;
BODLEVEL2…0 = 111 - контроль напруги живлення вимкнено;
EESAVE = 0 – стирання EEPROM при програмуванні кристала заборонено;
WDTON = 1 - Ні постійного включення Watchdog Timer;
Інші FUSE – біти краще не чіпати. FUSE-біт запрограмований, якщо встановлено "0".

Прошивка EEPROM дампом, що додається в архіві, обов'язкова.

У перших осередках EEPROM розміщується початкові параметрипристрої. У наведеній нижче таблиці описується призначення деяких із них, які можна змінювати в розумних межах.

Адреса осередку

Призначення

Параметр

Примітка

Величина напруги батареї, за якої відбувається сигнал про її низький рівень

260($104) (2,6V)

коефіцієнт для корекції значення виміряної напруги батареї

інтервал часу на перехід у режим сну

1 од. = 1 сек

інтервал часу на перехід у режим сну при увімкненому ліхтарику

1 од. = 1 сек

інтервал часу на перехід у режим сну під час перебування в режимі дистанційного керування для фотокамер

1 од. = 1 сек

Тут зберігаються номери IButton ключів

Невеликі пояснення щодо пунктів:

1 пункт. Тут вказується величина напруги на батареї, при якій загориться світлодіод, що сигналізує про її низьке значення. Я поставив 2,6V (параметр – 260). Якщо потрібно інше, наприклад 2,4V, треба записати 240($00F0). У осередок за адресою $0000 заноситься молодший байт, відповідно $0001 – старший.

2 пункти. Оскільки я не встановив на плату змінний резистор для підстроювання точності вимірювання напруги батареї через відсутність місця, то я ввів програмне калібрування. Порядок калібрування для точного вимірунаступний: спочатку в цій клітинці EEPROM записаний коефіцієнт 1024 ($ 400), необхідно перевести пристрій в активний режим і подивитися на індикаторі напруга, і відразу замірити вольтметром реальну напругу на батареї. Коефіцієнт корекції (К), який необхідно виставити, обчислюється за формулою: K=Uр/Uі*1024 де Uр – реальна напруга, виміряна вольтметром, Uі – напруга, яка виміряла сам пристрій. Після підрахунку коефіцієнта ”K” його заносять у пристрій (як це робиться в інструкції з експлуатації). Після калібрування у мене похибка не перевищила 3%.

3 пункти. Тут задається параметр часу, через який пристрій перейде в режим сну, якщо кнопки не натискаються. У мене коштує 16 сік. Якщо допустимо треба, щоб засипало через 30 сік, треба записати 30($26).

У 4 та 5 пунктах аналогічно.

6 пункт. За адресою $0030 зберігається код сімейства нульового ключа (dallas 1-Wire), потім його 48-бітний номер і CRC. І так 50 ключів послідовно.

Налаштування, особливості роботи

Налаштування пристрою зводиться до калібрування вимірювання напруги батареї, як описано вище. Також необхідно засікти відхилення ходу годинника за 1 годину, порахувати та внести відповідне значення корекції (процедура описана в інструкції з експлуатації).

Пристрій живиться від літієвої батареї CR2032 (3V) і споживає у режимі сну приблизно 4 мкА, а активному режимі 5…20 мА залежно від яскравості індикатора. При щоденному п'ятихвилинному використанні активного режимубатареї має вистачити приблизно на 2…8 місяців залежно від яскравості. Корпус годинника з'єднаний з мінусом батареї.

Зчитування ключів перевірялося на DS1990. Емуляцію перевірено на домофонах ”МЕТАКОМ”. Під порядковими номерамивід 46 до 49 (останні 4) прошиті (усі ключі зберігаються в EEPROM, їх можна змінювати перед прошивкою) універсальні ключі для домофонів. Ключ, прописаний під номером 49, відкривав усі домофони ”МЕТАКОМ”, які мені траплялися, решту універсальних ключів тестувати не довелося, їхні коди я взяв із мережі.

Дистанційне керування для камер перевірялося на моделях Pentax optio L20, Nikon D3000. Canon не вдалося отримати для перевірки.

Інструкція користувача займає 13 сторінок, тому я не став її включати до статті, а виніс у програму у форматі PDF.

Архів містить:
Схема та GIF;
Малюнок друкованої плати та розташування елементів у форматі;
Прошивка та вихідники на асемблері;

Список радіоелементів

Позначення Тип Номінал Кількість ПриміткаМагазинМій блокнот
DD1 МК AVR 8-біт

ATmega168PA

1 PA-AU До блокноту
U2 Датчик температури

DS18B20

1 До блокноту
Q1 MOSFET-транзистор

2N7002

1 До блокноту
С1, С2 Конденсатор30 пФ2 До блокноту
С3, С4 Конденсатор0.1 мкФ2 До блокноту
С5 Електролітичний конденсатор47 мкФ1 До блокноту
R1-R8, R17 Резистор

100 Ом

9 До блокноту
R9 Резистор

10 ком

1 До блокноту
R10 Резистор

8.2 Ом

1 До блокноту
R11 Резистор

300 Ом

1 До блокноту
R12 Резистор

2 МОм

1 До блокноту
R13 Резистор

220 ком

1 До блокноту
R14 Резистор

30 ком

1 До блокноту
R15, R19 Резистор

4.7 ком

2 До блокноту
R16 Резистор

20 ком

1