Съдържание:

Направи си сам джобен часовник: 9 стъпки
Направи си сам джобен часовник: 9 стъпки

Видео: Направи си сам джобен часовник: 9 стъпки

Видео: Направи си сам джобен часовник: 9 стъпки
Видео: Детето ми се храни само със зеленчуци 2024, Юли
Anonim
Джобен часовник "направи си сам"
Джобен часовник "направи си сам"
Джобен часовник "направи си сам"
Джобен часовник "направи си сам"

В този зает свят следенето на времето е задължително за по -добро представяне и като любител, защо да не направите устройство, което да следи времето. Благодарение на технологиите съществуват устройства, наречени „часовник“, но! когато правите неща сами, удоволствието е различно, така че в тази инструкция ще ви покажа как направих този малък часовник.

Стъпка 1: Идеята

Идеята
Идеята

Идеята е тя да бъде максимално опростена и да се използват минимални компоненти.

  1. Дисплей за показване на времето.
  2. Компонент за следене на времето.
  3. Друг компонент, който отделя време и го изпраща за показване.
  4. И източник на захранване.

// Схема на идеята

Стъпка 2: Мозъкът

Мозъкът
Мозъкът

Мозъкът определено трябва да бъде микроконтролер, тъй като има предимства на лесното програмиране и по -малки размери. Първоначално мислех, че attiny85 ще пасне идеално, но след това ограничените GPIO щифтове затрудняват обработката. тогава реших да отида с Atmega328p, наличен в пакет tqfp, но имайки незначителен опит в запояването на такъв малък пакет, реших да отида с arduino pro mini. Въпреки че този съвет е официално пенсиониран, но като с отворен код, те все още са налични.

Стъпка 3: Показване

Дисплей
Дисплей
Дисплей
Дисплей
Дисплей
Дисплей

0.91 -инчов OLED дисплей модул би бил хубав избор за дисплей, което го прави да изглежда по -модерен, но тогава проблемът е в неговата консумация на енергия, средно той консумира 20mA, което би било огромно за батерията. Докато се чудех какво да използвам като дисплей, открих, че този DVD дисплей лежи наоколо. Този дисплей има четири цифри от седем сегментен дисплей с някои допълващи се светодиоди. Всички светодиоди са конфигурирани като общ катод, така че за да ги задвижваме, трябва да използваме метод, наречен мултиплексиране, което не е нищо друго освен задвижване на всяка цифра една по една толкова бързо, че изглежда, че всички светят едновременно. Също така Atmega328 може да потъне до 20mA, така че нуждата от транзистори е намалена. Всеки светодиод работи доста добре със 100 ома при 3.3v.

Стъпка 4: RTC

RTC
RTC

Arduino pro mini може да следи, но проблемът с него е неговата консумация на енергия. При 3.3v той извлича около 3mA при 8MHz и плюс имаме дисплей, който също ще консумира малко сок. Избирам да използвам чип DS3231 RTC, тъй като е лесен за използване благодарение на I2C интерфейса. Той също така следи времето по -точно от atmega328 и дори консумира по -малко енергия.

Стъпка 5: Интерфейс с потребителя

Интерфейс с потребителя
Интерфейс с потребителя
Интерфейс с потребителя
Интерфейс с потребителя

Интерфейсът е прост - потребителят иска време, устройството го дава за това, бихме могли да използваме сложни неща като жест с ръка или толкова просто, колкото бутон. Така че всеки път, когато потребителят иска да знае часа, натиснете бутона и времето се показва на дисплея. Планът за кода беше да открие дали бутонът е натиснат, при натискане да поиска текущото време от RTC и да го покаже чрез дисплея, но тогава разбрах, че arduino pro mini има бутон за нулиране, тогава защо да не го използвам, вместо да проверявам за бутона просто вземете текущото време и покажете веднъж и изчакайте до следващото нулиране.

Стъпка 6: Обратът

Така че сега разполагаме с нашите компоненти arduino pro min, DVD дисплей, чип DS3231 RTC и клетка с бутон CR2032 като електрическа къща, като не мислим толкова много за избора на батерия. Така че с веригата в съзнанието ми проектирах оформлението на печатни платки. И точно преди да мога да поръчам печатна платка, едно нещо ми дойде на ум … ако разгледам RTC чип и държач на клетка с бутони, те вече са запоени в DS3231 RTC модул, тогава защо губим ресурси за получаване на персонализирана печатна платка, всъщност в този случай просто имаме мощност за запояване, I2C линии и DVD дисплея към pro mini. В случай, че искате да разгледате оформлението на печатната платка, то е приложено по -долу.

Стъпка 7: Проблем с клетката на бутона

Грешката, която направих, като не оставих време за избор на тип батерия, плати цената си. Когато устройството се захранваше чрез arduino uno, докато го използвах за програмиране на arduino pro mini, работеше добре, но когато се захранваше от клетка с бутони, се държеше странно. След като прекарах много време в откриването на проблема - всъщност CR2032 можеше да осигури ток до 2mA и изискването за устройство беше много повече от това, така че в крайна сметка вместо това използвах lipo батерия.

Стъпка 8: Кодът

Кодът може да изглежда дълъг и повтарящ се, но всъщност е лесен за разбиране. Всичко е поставено в секцията за настройка, тъй като правим нещата само веднъж и чакаме до следващата команда за нулиране.

Потокът от код инициализира всичко -> вземете текущото време от RTC -> манипулирайте данните, така че да могат да се използват за мултиплексиране на цифрите на дисплея -> и след това да се показват данните (времето) за 2 секунди чрез мултиплексиране на всяка цифра една по една.

Стъпка 9: Готово

Бих отпечатал 3D калъф за него, но без калъф изглежда страхотно, тъй като всички компоненти са изложени.

Препоръчано: