Таймер учёта рабочего времени III

Reloader
Offline
Зарегистрирован: 06.09.2012

Небольшая предыстория : я - фрилансер программист. и самая сложная часть моей работы это учёт затраченного времени на задачу клиента. И вторая сложнейшая часть - это заставить себя именно работать а не втыкать в ролики на youtube или ещё в какое отвлекающее занятие.  Идеей для устройства послужила статья на хабре

Функции устройства : Хранение и подсчёт времени затраченное на выполнение конкретного проекта 
хранение и подсчёт времени работы в течении дня (недели, месяца - это кто как обнулять будет) 
мотивация на работу и автоматическая остановка при простое. 
Хранит затраченное время и наименование по 20 задачам (проектам) и позволяет очень быстро переключаться между ними.  

через настраиваемые промежутки времени начинает пищать (у меня это 5 минут) - это знак того что хватит втыкать во что ни поподя. 
Если через 20 секунд не нажать на кнопку старт/стоп то сыграет музыку и остановится. 

Устройство выполнено на базе Arduino UNO + LCD Shield к чему добавлен энкодер, кнопка и пищалка. 

Схема устройства : 

Это полная схема (в протеусе нет энкодера как такового, пришлось вместо него импользовать двигатель с энкодером). Аналоговые кнопки шилда пока не задействованы но в планах запараллелить их энкодеру. 

вид рабочего режима : 

Поворот энкодера мняет задачи. Кнопка старт/стоп соответственно запускает или останавливает. 
в рабочем режиме кнопка энкодера останавливает таймер, а в режиме останова переводит в режим редактирования. Кнопка старт/стоп выводит в рабочий ражим сразу из любого пункта меню настроек.


Так как наименование и значение всех счётчиков времени хранится в энергонезависимой памяти то при первом запуске мы можем видеть неадекватную ересь вместо наименований задач и счетчиков времени. 
для лечения есть одна хитрость - включение питания с зажатой кнопкой энкодера - запустится процедура "форматирования" ячеек памяти.

Код не оптимизированный и очень сырой. Но работает. Занимает 40% памяти контроллера. 

Цель выкладывания проекта здесь - это сбор конструктивной критики. Я не специалист в написании программ под МК. И скторее всего начудил чудес. 

Код состоит из нескольких файлов и доступен по ссылке (Разберусь до конца с Github - выложу там). Проект протеуса тоже в архиве (8.2 и выше) 

 

MichaelAngello108
Offline
Зарегистрирован: 25.05.2022

Очень заинтересовал Ваш проект.
К сожалению, ссылка не доступна. Буду признателен на обновлённую ссылку на код программы.

Насколько удобное получилось устройство в работе?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Видимо с Гитхабом не разобрался, да и не удивительно )))

Morroc
Offline
Зарегистрирован: 24.10.2016

Журнал для этого надо вести (можно электронный в excel), а не секундомеры изобретать )

MichaelAngello108
Offline
Зарегистрирован: 25.05.2022

А если моя деятельность не связана с компьютером и его не хочу иметь под рукой?

b707
Offline
Зарегистрирован: 26.05.2017

MichaelAngello108 пишет:

А если моя деятельность не связана с компьютером и его не хочу иметь под рукой?

тогда тебе этот таймер тоже не подойдет, он для программистов

Morroc
Offline
Зарегистрирован: 24.10.2016

MichaelAngello108 пишет:

А если моя деятельность не связана с компьютером и его не хочу иметь под рукой?

Какие проблемы то ? До компьютеров журналы не вели ? )

MichaelAngello108
Offline
Зарегистрирован: 25.05.2022

Видимо по теме сказать нечего?! :)

значит будем писать с нуля :)

Green
Offline
Зарегистрирован: 01.10.2015

Ну, или попросить кого.