Windows PIC18 /графическая оболочка для LCD/
Специально для конкурса 2 решил опубликовать свой проект для микроконтроллеров серии PIC18. В качестве приза желаю получить 2.4" сенсорный экранчик TFT LCD с встроенным слотом для SD-карт памяти, т.к. это именно то, что нужно для продолжения моего проекта…
… Этот проект разрабатывается по настоящее время. Идея заключается в том, что графическая часть устройства, которая будет отображаться на LCD разрабатывается на ПК, а после специальные файлы загружаются на карту памяти и используются самим контроллером будущего устройства. С помощью ПО написанное на Delphi создаются формы с компонентами, которые будут связаны с переменными в контроллере. Компоненты имеют собственные свойства /положение на экране, размер, цвет фона текста и др./, которые можно легко отредактировать. Графическую оболочку для LCD можно создать за считанные минуты). Также можно организовать скины /внешний вид, темы/, т.е. сделать формы с разными свойствами, а в контроллере сделать переключения между этими темами)
В данном проекте применяется PIC18F2550, LCD Nokia 3100 /6610 и др./, карты памяти MMC, SD, microSD.
В будущем перейду на экраны с 8-ми/16-ти битной шиной большего расширения начиная с 320x240 и сделаю возможность загрузки форм на карту памяти с помощью USB) Дополню новыми компонентами: индикаторы входов и выходов, семисегментные индикаторы)
Код легко можно перенести и на другие микроконтроллеры с Flash >= 32K, лишь стоит отредактировать исходник для соответствующего компилятора.
Собственно предлагаю ознакомиться с моим тестовым устройством:
Внешний вид тестового устройства)
При включении появляется вот такой текст)
После включения устройства и инициализации карты появляется форма загрузки)
Вот как отображается главная форма, которую я создал на ПК)
В самом верхнем окошке можно увидеть «0», это отображение переменной из контроллера)
Это меню появилось, когда я нажал кнопку «Menu», другими кнопками /вверх и вниз/ можно выбирать пункт подменю)
При нажатии на кнопку «OFF» появилось меню выключения с кнопками)
После нажатия на ещё одну кнопку прочитался файл с именем TEST.TXT и текс записался в нижнее поле…
Это я выбрал пункт подменю «Test». Результат — отображение BMP файла)
Всё это выше было показано, как работает в устройстве, а теперь переходим к программному обеспечению, где это всё создаётся)
Собственно создаём графический интерфейс)
Здесь я добавил заставку и её можно отредактировать)
Чтобы заставку переместить в центр экрана, необходимо изменить значения X и Y.
Дальше создаётся главная форма)
Меняю её название на «Windows PIC»
Дальше создаю компоненты на этой форме)
Их легко можно отредактировать под свои нужды: размер, цвет текста, цвет фона, размер шрифта, положение на экране)
Создаю пару кнопок. Пишу им название, например, для правой кнопки «OFF»
В качестве теста я меняю свойства текста компонента Edit2
Теперь, когда я буду нажимать на кнопку «OFF», хочу чтобы было такое меню с вопросом)
+ я его смещаю в центр экрана и уменьшаю размер формы)
Устанавливаю пару кнопок с названиями «Yes» и «No»
Теперь создаю форму «Menu» и добавляю пару пунктов подменю) Меняю им названия под свои и шрифт текста)
Теперь уменьшаю размер формы «Menu» и сдвигаю примерно в центр экрана)
Если необходимо отредактировать любую форму, надо убрать/поставить соответствующие «птички» рядом с экраном в программе)
+ в этой программе есть возможность конвектировать BMP в Си формат для непосредственной загрузки картинки во Flash память контроллера) Исходник для прошивки сохраняется в файле с расширением *.h
В каталоге программы уже сохранены 4-е файла форм.
Именно их надо загрузить на карту памяти)
Сокращённая схема устройства:
… Этот проект разрабатывается по настоящее время. Идея заключается в том, что графическая часть устройства, которая будет отображаться на LCD разрабатывается на ПК, а после специальные файлы загружаются на карту памяти и используются самим контроллером будущего устройства. С помощью ПО написанное на Delphi создаются формы с компонентами, которые будут связаны с переменными в контроллере. Компоненты имеют собственные свойства /положение на экране, размер, цвет фона текста и др./, которые можно легко отредактировать. Графическую оболочку для LCD можно создать за считанные минуты). Также можно организовать скины /внешний вид, темы/, т.е. сделать формы с разными свойствами, а в контроллере сделать переключения между этими темами)
В данном проекте применяется PIC18F2550, LCD Nokia 3100 /6610 и др./, карты памяти MMC, SD, microSD.
В будущем перейду на экраны с 8-ми/16-ти битной шиной большего расширения начиная с 320x240 и сделаю возможность загрузки форм на карту памяти с помощью USB) Дополню новыми компонентами: индикаторы входов и выходов, семисегментные индикаторы)
Код легко можно перенести и на другие микроконтроллеры с Flash >= 32K, лишь стоит отредактировать исходник для соответствующего компилятора.
Собственно предлагаю ознакомиться с моим тестовым устройством:
Внешний вид тестового устройства)
При включении появляется вот такой текст)
После включения устройства и инициализации карты появляется форма загрузки)
Вот как отображается главная форма, которую я создал на ПК)
В самом верхнем окошке можно увидеть «0», это отображение переменной из контроллера)
Это меню появилось, когда я нажал кнопку «Menu», другими кнопками /вверх и вниз/ можно выбирать пункт подменю)
При нажатии на кнопку «OFF» появилось меню выключения с кнопками)
После нажатия на ещё одну кнопку прочитался файл с именем TEST.TXT и текс записался в нижнее поле…
Это я выбрал пункт подменю «Test». Результат — отображение BMP файла)
Всё это выше было показано, как работает в устройстве, а теперь переходим к программному обеспечению, где это всё создаётся)
Собственно создаём графический интерфейс)
Здесь я добавил заставку и её можно отредактировать)
Чтобы заставку переместить в центр экрана, необходимо изменить значения X и Y.
Дальше создаётся главная форма)
Меняю её название на «Windows PIC»
Дальше создаю компоненты на этой форме)
Их легко можно отредактировать под свои нужды: размер, цвет текста, цвет фона, размер шрифта, положение на экране)
Создаю пару кнопок. Пишу им название, например, для правой кнопки «OFF»
В качестве теста я меняю свойства текста компонента Edit2
Теперь, когда я буду нажимать на кнопку «OFF», хочу чтобы было такое меню с вопросом)
+ я его смещаю в центр экрана и уменьшаю размер формы)
Устанавливаю пару кнопок с названиями «Yes» и «No»
Теперь создаю форму «Menu» и добавляю пару пунктов подменю) Меняю им названия под свои и шрифт текста)
Теперь уменьшаю размер формы «Menu» и сдвигаю примерно в центр экрана)
Если необходимо отредактировать любую форму, надо убрать/поставить соответствующие «птички» рядом с экраном в программе)
+ в этой программе есть возможность конвектировать BMP в Си формат для непосредственной загрузки картинки во Flash память контроллера) Исходник для прошивки сохраняется в файле с расширением *.h
В каталоге программы уже сохранены 4-е файла форм.
Именно их надо загрузить на карту памяти)
Сокращённая схема устройства:
21 комментарий