Часы DS3231
Часы DS3231
Доброго времени суток, подскажите как в часах DS3231 установить время идату, если они выходят одной строкой. Как я понял при записи нужно чтобы была
некая переменная с текущим значением данных, которые нужно установить и к этой
переменной нужно прибавлять единицу либо же отнимать её, и в этот же момент произвести запись нового значения. А как быть если одна
строка??
некая переменная с текущим значением данных, которые нужно установить и к этой
переменной нужно прибавлять единицу либо же отнимать её, и в этот же момент произвести запись нового значения. А как быть если одна
строка??
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
Nikito$, если все данные стоят на определенных местах, то тогда можно сделать получением подстроки. Если данные постоянно двигаются, то уже сложнее, надо пользоваться поиском подстроки...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Часы DS3231
Ну вообще то есть блок "Получение данных с часов реального времени". Там ставите галочки 'Выход часы'...... и т. д. И получаете необходимые значения в виде цифр
Автор программы FLProg.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
Nikito$, сейчас блоки часов покрутил, подумал и пришел к выводу: чтоб сделать увеличение и уменьшение кнопками +\- надо очень сильно постараться. По хорошему надо блок пользователя сделать с тремя входами: номер параметра, кнопка плюс, кнопка минус. И этим блоком связать блоки записи и чтения часов.
Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.
Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.
Часы DS3231
Спасибо попробую. Остановить данные на время записи думаю не трудно, просто добавив разрешение записи для переменной со временем... потом при отпускании кнопки снова разрешаем запись.Boroda писал(а):Nikito$, если все данные стоят на определенных местах, то тогда можно сделать получением подстроки. Если данные постоянно двигаются, то уже сложнее, надо пользоваться поиском подстроки...
Добавлено (17.04.2017, 23:22)
---------------------------------------------
С этим я разобрался)) Теперь разбираюсь как правильно устанавливать время если с блока оно выходит в виде строковой переменной и при этом ещё нужно мигать нужным разрядом...support писал(а):Ну вообще то есть блок "Получение данных с часов реального времени". Там ставите галочки 'Выход часы'...... и т. д. И получаете необходимые значения в виде цифр
Добавлено (17.04.2017, 23:28)
---------------------------------------------
Что то подобное я уже делал... вроде даже получалось прибавлять единицу к текущему времени и после отпускания записывать новое значение в часы. Но тогда у меня были ds1307, соответственно часы и минуты выходили в формате int. Но вот где этот проект, не понятно(((Boroda писал(а):Nikito$, сейчас блоки часов покрутил, подумал и пришел к выводу: чтоб сделать увеличение и уменьшение кнопками +\- надо очень сильно постараться. По хорошему надо блок пользователя сделать с тремя входами: номер параметра, кнопка плюс, кнопка минус. И этим блоком связать блоки записи и чтения часов. Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.
-
- Лейтенант
- Сообщения: 536
- Зарегистрирован: 29 окт 2015, 09:57
- Откуда: Kazakhstan
- Имя: Evgesha
Часы DS3231
http://forum.flprogwiki.ru/viewtopic.php?f=18&t=2044
Добавлено (18.04.2017, 07:54)
---------------------------------------------
Nikito$,
В прикрепленном проекте нужная вам инфо
Добавлено (18.04.2017, 07:54)
---------------------------------------------
Nikito$,
В прикрепленном проекте нужная вам инфо
Часы DS3231
Мои часики!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Denn4a 18 апр 2017, 08:53, всего редактировалось 1 раз.
Часы DS3231
Прихожу к выводу,что проще получать с блока отдельно часы, минуты и секунды, тем более манипулировать байтами гораздо проще чем строкой
Часы DS3231
Цитата Boroda () Nikito$, сейчас блоки часов покрутил, подумал и пришел к выводу: чтоб сделать увеличение и уменьшение кнопками +\- надо очень сильно постараться. По хорошему надо блок пользователя сделать с тремя входами: номер параметра, кнопка плюс, кнопка минус. И этим блоком связать блоки записи и чтения часов. Выставил параметр 0 - ничего не меняем.
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.В продолжении темы установки. Нашел я свой старый проект где пробовал устанавливать время. Немного поправил, добавил возможность не только прибавлять единицу, но и отнимать её. И это, как ни странно, работает! Но на сколько данный подход правильный не совсем понятно
Ссылка на проект: https://yadi.sk/d/aWzz58373H6MR4
Параметр 1 - меняем часы.
Параметр 2 - меняем минуты.
Параметр 3 - меняем секунды.
и т.д.В продолжении темы установки. Нашел я свой старый проект где пробовал устанавливать время. Немного поправил, добавил возможность не только прибавлять единицу, но и отнимать её. И это, как ни странно, работает! Но на сколько данный подход правильный не совсем понятно
Ссылка на проект: https://yadi.sk/d/aWzz58373H6MR4
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Nikito$ 18 апр 2017, 13:09, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
Ну от Switch можно избавиться, а на нулевой вход MUX посадить переменную ЧАС. И на каждую кнопку поставить элемент AND и подавать сигналы разрешения изменения.
Последний раз редактировалось Boroda 18 апр 2017, 14:11, всего редактировалось 1 раз.
Часы DS3231
Цитата Boroda () Ну от Switch можно избавиться, а на нулевой вход MUX посадить переменную ЧАС. И на каждую кнопку поставить элемент AND и подавать сигналы разрешения изменения. Ну да, так ещё проще, и главное работает)) Только на кнопки ставить ничего не нужно. При нажатии up или down у меня блокируется запись в переменную час (в неё записывается текущее время с блока получения) И при этом же нажатии разрешатся запись в переменную час.установка - эта переменная соединена с блоком установки времени.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Nikito$ 18 апр 2017, 14:52, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
А если кнопок +/- только две, а нужно поменять часы, минуты, секунды, год и т.д?
Ставим кнопку "селект" со счетчиком и по счетику разблокируем ANDы блоков изменения часов, минут, секунд и т.д.
Добавлено (18.04.2017, 15:09)
---------------------------------------------
Nikito$, теперь собирайте блок пользователя на FBD для прямой стыковки блоков Чтения и Записи времени.
Ставим кнопку "селект" со счетчиком и по счетику разблокируем ANDы блоков изменения часов, минут, секунд и т.д.
Добавлено (18.04.2017, 15:09)
---------------------------------------------
Nikito$, теперь собирайте блок пользователя на FBD для прямой стыковки блоков Чтения и Записи времени.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
Nikito$, сейчас некогда возиться, набросок сделал, есть желание, можете добить доконца.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Часы DS3231
Цитата Boroda () А если кнопок +/- только две, а нужно поменять часы, минуты, секунды, год и т.д?Ставим кнопку "селект" со счетчиком и по счетику разблокируем ANDы блоков изменения часов, минут, секунд и т.д.Это у меня уже реализовано Вот по такому принципу. Далее буду мигание нужных разрядов добавлять))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
Вот блок на СИ наваял.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Часы DS3231
Ух, ты)) Круто! Он в работе тестировался??Boroda писал(а):Вот блок на СИ наваял.
Добавлено (18.04.2017, 16:46)
---------------------------------------------
Видимо, нужно под часы, минуты и т.д отдельный блок дисплея. И включать и выключать его в зависимости от счётчика)Evgesha писал(а):Boroda, как смотреть что подводится ?
Последний раз редактировалось Nikito$ 18 апр 2017, 16:47, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Часы DS3231
Evgesha, из описания блока:
На вход Sel подается номер параметра, входами UP и DN осуществляется коррекция значения.
0 - ничего не меняем
1 - час
2 - минута
3 - секунда
4 - год
5 - месяц
6 - число
7 - день недели
Sel надо как-то выводить на дисплей. Может точку зажигать на 7SegLED рядом с изменяемым параметром. На LCD я обычно подчеркивание курсора двигал, но в FLPROG это невозможно.
Добавлено (18.04.2017, 17:02)
---------------------------------------------
Nikito$, протестируйте пожалуйста. У меня просто ни индикатора, ни модуля часов нет.
На вход Sel подается номер параметра, входами UP и DN осуществляется коррекция значения.
0 - ничего не меняем
1 - час
2 - минута
3 - секунда
4 - год
5 - месяц
6 - число
7 - день недели
Sel надо как-то выводить на дисплей. Может точку зажигать на 7SegLED рядом с изменяемым параметром. На LCD я обычно подчеркивание курсора двигал, но в FLPROG это невозможно.
Добавлено (18.04.2017, 17:02)
---------------------------------------------
Nikito$, протестируйте пожалуйста. У меня просто ни индикатора, ни модуля часов нет.
Последний раз редактировалось Boroda 18 апр 2017, 17:01, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя