1

Тема: Часы с индикатором

Демонстрационный пример, иллюстрирующий работу контроллера в качестве часов с выводом текущего времени на  светодиодный индикатор, подключеный непосредственно к каналам  ввода-вывода контроллера.
Архив с документацией и исходными файлами проекта: http://forum.canny.ru/files/clock.zip
http://forum.canny.ru/files/clock_diagramm_prev.png
Схема подключения индикатора к CANNY7:
http://forum.canny.ru/files/clock_im.png
 
7-сегментный светодиодный индикатор, смонтированные на плате расширения из комплекта SDK CANNY7:
http://forum.canny.ru/files/clock_parts_prev.jpg
 
Подготовка демонстрационного стенда к работе (анимированый GIF 640x360 - 0,6Мб):
http://forum.canny.ru/files/demo_prev.gif
 
Демонстрационный стенд в работе:
http://forum.canny.ru/files/clock_in_work_prev.jpg

UPD 31.10.2016: Добавлена диаграмма, актуализированная для CannyLab версии 1.24.

Вложений в сообщении

Иконка вложения clock_v124.cfd 9.02 кб, скачивался 545 раз, последний раз 2016-11-02 

2

Re: Часы с индикатором

Здравствуйте
Получается, что на приведенном примере все входы-выводы контроллера заняты? И кроме часов больше ничего реализовать нельзя?
Может можно переделать диаграмму, чтобы индикация времени на экранчике 1602 или подобном отображалась?
В таком случае освободятся каналы и можно будет сделать устройство более функциональным?
К примеру - добавить датчик влажности, температуры для индикации на том же экране.
И, на основании часов, сделать таймер (реле времени) для управления какими либо исполнительными устройствами.

Я хочу попробовать реализовать на контроллере все эти функции с возможностью регулирования по ПИД принципу.
Очень надеюсь на вашу помощь и подсказки.
Если, конечно, это возможно в принципе
Спасибо

3

Re: Часы с индикатором

Диаграмма примера, в общем, состоит из 2х частей: 1я - непосредственно часы, 2я - вывод результатов на дисплей.
Следовательно, можно скомбинировать каждую из этих частей с какими-либо другими алгоритмами.
Можно без особого труда, на базе этого примера и примера http://forum.canny.ru/viewtopic.php?id=161 сделать диаграмму для отображения времени на I2C LCD дисплее - часть отвечающая за подсчет времени не изменится, главное правильно сформировать данные для вывода на экран (преобразование данных в ASCII). В этом случае освободится как минимум 6 каналов контроллера и полученную диаграмму можно дополнить для решения необходимых задач: работу с датчиками, управление какими-либо исполнительными устройствами.

4 (26-05-2017 13:26:51 отредактировано alex_engine)

Re: Часы с индикатором

Здравствуйте
Совместил две схемы, кое- что начало проясняться.
Не хватает знаний "причесать" отображение времени в одну строку.
минуты, секунды и т.д отображаются в своих кусках экрана в отдельном "слове" по 5 символов.
Подскажите, как задать в строке после заголовка нужное место для каждого элемента?
С разрядом тоже полный тупик.
Еще заметил странное явление - периодически счет замирает, и продолжается только спустя секунду. Три-четыре раза за минуту такое вижу. Что может быть не так?

Спасибо!

Вложений в сообщении

Иконка вложения meteo2.cfd 49.68 кб, скачивался 478 раз, последний раз 2017-05-26 

5

Re: Часы с индикатором

Во вложении частично, на вскидку, доработанный вариант скомбинированной диаграммы. Время должно выводиться в одну строку, после текста "TIME ", в формате "hh:mm:ss". Как я говорил раньше - главное правильно сформировать данные для вывода на экран.

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

Вообще, выбранный подход не самый простой: работа с I2C дисплеем весьма непроста в осмыслении и реализации. Мне кажется, что для подобного проекта больше бы подошел дисплей типа NEXTION. Здесь и возможности управления с дисплея, и больше информации можно отображать (в том числе разбитой на несколько страниц), и интерфейс можно сделать приятный, и часы сделать на базе самого дисплея.

Вложений в сообщении

Иконка вложения meteo2_1.cfd 42.24 кб, скачивался 469 раз, последний раз 2017-05-26 

6

Re: Часы с индикатором

Большое спасибо! Пробую

7 (29-05-2017 10:53:35 отредактировано alex_engine)

Re: Часы с индикатором

Здравствуйте
Вот такое получилось:


http://i.piccy.info/i9/7e1fbdb498cca54492e39e2fff307d3b/1496041917/51572/1149612/WP_20170529_10_03_04_Pro_800.jpghttp://i.piccy.info/a3/2017-05-29-07-11/i9-11231528/800x450-r/i.gif

Я так понял, "засвет" второй строки получился, что где-то адреса "наложились"?

Пробовал сам передвинуть двоеточие в секундах - тоже не получилось. Не хватает знаний.

http://i.piccy.info/i9/25fdd352f946657751238fdac1bb00b0/1496042544/59703/1149612/canny_800.jpghttp://i.piccy.info/a3/2017-05-29-07-22/i9-11231559/800x406-r/i.gif

хочу понять, что и откуда, чтобы лишний раз вас не беспокоить.
Как я понял, на этой части диаграммы как раз и "вносится" двоеточие между разрядами.
Блок 70 и 55 "отсекает" по два бита. Так?
Получается из дата1 "выходят" в строку символы 15-14, потом двоеточие ("обрезанное" 00ФФ") потом 11-10 ("обрезанное" фф00).
Какова функция 56 и 49, 51 блока?
Какой принцип задания положения символов в строке с секундами? 51 блок?
пробовал сделать как для дата1, просто скопировав диаграмму - чушь получилась, засбоил весь экран.

Спасибо за советы и пояснения.

8 (29-05-2017 13:46:08 отредактировано alex_engine)

Re: Часы с индикатором

проясняется потихоньку

Вложений в сообщении

Иконка вложения meteo2_1.cfd 42.98 кб, скачивался 474 раз, последний раз 2017-05-29 

9

Re: Часы с индикатором

Какие данные должны быть в первой строке? Только время? Время: только часы и минуты? Или еще секунды?
Что должно быть во второй строке?

10 (29-05-2017 14:54:10 отредактировано alex_engine)

Re: Часы с индикатором

Прошу прощения, удалил предыдущее сообщение случайно.

http://i.piccy.info/i9/62841643c51603321f8dbccfc3a74ba1/1496055288/46308/1149612/WP_20170529_13_51_07_Pro_800.jpghttp://i.piccy.info/a3/2017-05-29-10-54/i9-11232543/800x450-r/i.gif

Вот сейчас такая ситуация.
Как убрать два лишних нолика возле секунд?
при включении устройства, во второй строке появляется заглавие МОД, а потом пропадает.
В третьей строке в шестом поле данных почему-то засветы
На данном этапе я хочу в первой строке получить чч.мм.сс  (в принципе уже готово, только нули убрать), а в остальных резервы для других данных.
Название - данные.
UPD: почему-то часы не отображаются. 59 минут отсчитал, а в регистре часов нули.
Спасибо

Вложений в сообщении

Иконка вложения meteo2_1.cfd 43.96 кб, скачивался 441 раз, последний раз 2017-05-29 

11

Re: Часы с индикатором

Во вложении откорректированная диаграмма. Изменения выделены красным. В выводе часов была ошибка при формировании data1 (не тот порядок) - исправил.
Проверьте в работе, у меня нет возможности сейчас собрать стенд. Если все будет работать корректно и будут нужны комментарии сообщите.

Вложений в сообщении

Иконка вложения meteo2_1a.cfd 45.21 кб, скачивался 442 раз, последний раз 2017-05-29 

12

Re: Часы с индикатором

Здравствуйте.
Увы, что-то не так. на пол секунды высвечиваются заголовки, потом весь экран кракозябликами sad

13

Re: Часы с индикатором

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

Вложений в сообщении

Иконка вложения meteo2_1b.cfd 45.12 кб, скачивался 460 раз, последний раз 2017-05-30 

14

Re: Часы с индикатором

Огромное спасибо! Все, как надо smile