Программные часы
- Войдите на сайт для отправки комментариев
Пт, 09/12/2011 - 14:55
Всем доброго времени суток! В школе нужно писать научную работу и я как тему выбрал Ардуину =) Хочу написать звонок (на/с уроков), с дисплеем где будут отображаться разные плюшки. Смысл в том что-бы паять по минимум, только кодить. Сам осваивать начал недавно, добрался до ШИМа и прочих вкусностях со светодиодами =) Так вот, гугление на тему часов выдает только схемы с применением микры DS, которая по сути и являеться часами. Не могли-бы уважаемые форумчане подтолкнуть меня в направлении программных часов исключительно на Ардуине? Прерывания (сами звонки и вывод на дисплей надеюсь осилю) Только вот по часам инфы нет совсем =( Спасибо за помощь!
http://arduino.ru/forum/programmirovanie/chasy-i-arduino
Страница не найдена =(
-------------------
Ой, понял, надо было пробел в конце убрать.. Спасибо =)
Правильная ссылка
http://arduino.ru/forum/programmirovanie/chasy-i-arduino
Там в первой ссылке пробел вконце затисался, я там тоже поправлю
Снова привет! Для будушего проекта написал скетч. Работает с DS1307 (кто не знает - отдельная махонькая микросхема со своей батарейкой, 10 лет идут часы невзирая на питание атмеги).
Скетч позволяет из строки терминала получить время и установить его (через unixtime). Просто вводите команды: now, uset xxxxxxxxxx
Вот код. Помогите пожалуйста оптимизировать его.. так неохота менять камень, скетч уже 6кб занимает из 7.. А еще читать-писать в ееепром сцуко..
Смысл в том что-бы паять по минимум
А там и правда паять по минимум. Микросхема, кварц от старой материнки, два резистора. Микросхема копеечная. Зато не зависит от "внешних условий", и точная (если кварц качественный)
Whoim вы хотите сократить код ? Зачем вам связь ? Для того что бы однажды в 10 лет установить часы и дату.
Первый раз при включении DS1307 установите время и дату ,заремте ненужные строки и загрузите в контроллер без возможности коррекции.
Для себя я оставил возможность коррекции из внешней программы это всего 12 строк текста.
ОЧень много кушать библиотека Serial
Зачем в ком порт выдавать значения часов? Примеры библиотек - это понятно, подключите дисплей и всё станет на места)))
Плюс есть еще другие библиотеки по работе с DS1307
Whoim вы хотите сократить код ? Зачем вам связь ? Для того что бы однажды в 10 лет установить часы и дату.
Первый раз при включении DS1307 установите время и дату ,заремте ненужные строки и загрузите в контроллер без возможности коррекции.
Для себя я оставил возможность коррекции из внешней программы это всего 12 строк текста.
Нужно с помощью программы на компьютере заливать данные о задачах - когда и что включать, насколько, как повторять. Думаете, с дисплеем меньше будет памяти кушаться?
ОЧень много кушать библиотека Serial
Зачем в ком порт выдавать значения часов? Примеры библиотек - это понятно, подключите дисплей и всё станет на места)))
Плюс есть еще другие библиотеки по работе с DS1307
Только в этой нашел вариант работать с unixtime, его хочется чтобы хранить в четырех байтах датавремя.. Да и не намного меньше кушает самая распространенная библиотека..
Каникулы прошли бурно и вот я взялся за дело =) Пока есть только часы с 2мя кнопками, одна для часов, другая для минут. Пока хочк некоторое время погонять, чтобы определить отставание и потом программно добавлять коэффицент отставания. Покачто за пол часа на 10 сек отстали.
Как вы считаете лучше реализовать звонки? Будет на некий пин повешана релюха, которая и будет коммутировать школьный звонок, соответственно на нее пару секунд должен идти HIGH. Это все понятно, а как оптимальнее будет сделать отсчет уроков и переменок, при том что переменки разные по длинне.
Вот что есть сейчас =)
youtu.be/MWSGCc1OqSk
Все потиху продвигаеться =) Только проблема в том, что я плохо знаю язык. Поэтому выходит индусский код. Есть парочка вопросов))
1. Мне надобно скроллить справа на лево только первую строку, при том что в нижней строке он неизменно показывал бы время. У меня получалось скроллить только весь дисплей, пробывал и lcd.autoscroll() и lcd.scrollDisplayLeft(). Спасибо! =)
2. Как ЭТО непотребство можно более оптимизировать?