Форум РадиоКот https://radiokot.ru/forum/ |
|
Часы на TFT https://radiokot.ru/forum/viewtopic.php?f=3&t=160228 |
Страница 1 из 111 |
Автор: | kollaider [ Пн янв 21, 2019 10:29:18 ] |
Заголовок сообщения: | Re: Часы на TFT? |
Изобретаем фоторамку? |
Автор: | GoldenAndy [ Пн янв 21, 2019 10:57:26 ] |
Заголовок сообщения: | Re: Часы на TFT? |
Изобретаем фоторамку? Почти Ленивому коту облом мышкой тыкать по часам на рабочем столе, что бы увидеть календарик..... Вот кот себе и мутит часы с календариком на тфт с тачем.... |
Автор: | roman.com [ Пн янв 21, 2019 15:56:29 ] |
Заголовок сообщения: | Re: Часы на TFT? |
Часы с подключением к Интернет? C автоматической коррекцией времени? С будильником? С таймером кофеварки? )) C прогрозом погоды на сегодня/завтра? )) ... С календарём? Часы знают когда вставать на работу? Часы играют музыку по утрам? Интернет радио... или MP3 плеер... или (на худой конец) простенький FM приёмничек... Тогда имеет смысл делать. А если это очередные простенькие часики... без ничего (даже без "кукушки")... просто для красоты... то нет никакого смысла вообще заморачиваться)) |
Автор: | GoldenAndy [ Пн янв 21, 2019 16:30:40 ] |
Заголовок сообщения: | Re: Часы на TFT? |
Часы с подключением к Интернет? C автоматической коррекцией времени? С будильником? С таймером кофеварки? )) C прогрозом погоды на сегодня/завтра? )) ... С календарём? Часы знают когда вставать на работу? Часы играют музыку по утрам? Интернет радио... или MP3 плеер... или (на худой конец) простенький FM приёмничек... Тогда имеет смысл делать. А если это очередные простенькие часики... без ничего (даже без "кукушки")... просто для красоты... то нет никакого смысла вообще заморачиваться)) Что на данный момент есть: Отображение времени и календаря на текущий месяц. Листание календаря помесячно вперед-назад. Ежечасный биип. 5 будильников (3 мелодии, 7 уровней громкости). Отключаемый автоперевод времени зима/лето. 3 языка (Укр/Рус/Eng). Управление с тачскрина. Пока функционал уперся в ресурсы АТМеги32. Есть мысли допилить либо на 64/128 меге, либо переползти на СТМ32 (заодно и скорость отрисовки дисплея повысится), тогда можно добавить ФМ-приемник и другие плюшки. Соответственно, вопрос - нужно ли это поделие сюда выкладывать .?... Я в прошлом году Коту статью отправил - но Кот, похоже, ушел на зимние каникулы. |
Автор: | roman.com [ Пн янв 21, 2019 17:14:22 ] |
Заголовок сообщения: | Re: Часы на TFT? |
128 меги хватит с головой)) скорость отрисовки дисплея ? Для часиков? )) Бегущей строки достаточно, с головой)) Или будем видео смотреть с ютуба? )) я бы напихал кучу плюшек и сделал бы отдельной статьёй. А то тут (на форуме) всё теряется)) |
Автор: | GoldenAndy [ Пн янв 21, 2019 18:33:47 ] |
Заголовок сообщения: | Re: Часы на TFT |
Обновил шапку, добавил описание, фотки |
Автор: | roman.com [ Пн янв 21, 2019 23:31:44 ] |
Заголовок сообщения: | Re: Часы на TFT |
Лучше сделай нам экранчик для пульта... а то у нас маленький экранчик)) - https://radiokot.ru/forum/viewtopic.php?f=28&t=159826 |
Автор: | GoldenAndy [ Пн янв 21, 2019 23:46:17 ] |
Заголовок сообщения: | Re: Часы на TFT |
Лучше сделай нам экранчик для пульта... а то у нас маленький экранчик)) - https://radiokot.ru/forum/viewtopic.php?f=28&t=159826 Это какой такой экранчик ? Кто мешает просто поставить больший экран ? По сути только "драйвер" экрана переписать... Если будет другое разрешение - описать новые координаты ? ЗЫ. 128 мега на кораблик лепилась только из-за 6 каналов ШИМ ? |
Автор: | roman.com [ Пн янв 21, 2019 23:58:04 ] |
Заголовок сообщения: | Re: Часы на TFT |
goldenandy писал(а): Это какой такой экранчик ? побольше)) goldenandy писал(а): Кто мешает просто поставить больший экран ? время)) делать всё одновременно не успеваем... )) goldenandy писал(а): 128 мега на кораблик лепилась только из-за 6 каналов ШИМ Нет. Больше памяти... Связь (Wi-Fi, интертет режим сервер), GPS навигатор, приложение для андроид...)) и т.д. и т.п. |
Автор: | GoldenAndy [ Вт янв 22, 2019 00:21:41 ] |
Заголовок сообщения: | Re: Часы на TFT |
Еще раз. У вас проект достаточно большой и сложный, вы замахнулись на универсальность и вагон функционала. Для такого проекта у вас структура программы достаточно хорошо должна быть продумана и разделена на модули. Один из признаков хорошего тона в программировании МК - это отделение логики от железа. Так называемый HAL - Hardware abstraction layer. На этом уровне описываются все железные манипуляции с привязкой к портам. В случае дисплея наружу, в основную программу, торчит 1 функция - displaySendByte(). Она только отправляет в него байт/слово. Всё. Далее - отдельный блок - работа с дисплеем. Там уже выписаны более высокоуровневые процедуры, характерные для примененного дисплея - инициализация, вывод пикселя и т.д. Далее, третий модуль - графика верхнего уровня. Там уже в виде блока дефайнов надо задать местоположение каждого элемента на дисплее, его размеры.... Там же - текстовые ресурсы и растры.... И наружу из модуля торчат только совсем общие функции - drawSignalLevel, showBatteryAlert, drawStickPosition..... Тем самым замена дисплея на другой требует переписывания процедуры отправки данных в HAL и, если дисплей другой по цвету/разрешению - коррекцию в дефайнах положения графических примитивов. |
Автор: | roman.com [ Вт янв 22, 2019 10:44:49 ] |
Заголовок сообщения: | Re: Часы на TFT |
Проект.. да какой он сложный)) Там готовые модули... Ну может только отдельно радиоканал (с цифровой обработкой сигнала)... Отделить логику от железа не так просто. Отдельная функция для отправки байт/слово вещь интересная, только боюсь не так всё просто... Думаю будет слошком много операций для обработки и вывода каждого байта отдельно... Бумаю лучше делать через буферизацию. В программе ещё всё привязано к таймингам.)) МК ещё болжен успевать принимать/отправлять/обрабатывать данные/считать контрольные суммы/читать писать епром с верификацией данных... по секторам/опрашивать кучу датчиков/управлять автоматическими системами (типа автопилот и т.д.)... и ещё при этом выводить данные на экран... и всё это одновременно)) Поэтому думаем над идеей отдельного экрана, на отдельном МК, на который будут отправляться данные с главного проца, а "экран" уже сам будет всё рисовать. Там же - текстовые ресурсы и растры.... Как-то так - https://www.youtube.com/watch?v=bXRNrtnK8Zc Короче типа видеокарты в ПК )) И частота кадров должна быть побольше, а не как на том видео... всё тормозит)) Сейчас для 64x128 время обновления 10 милисекунд... с учётом остальных операций частота кадров 32 кадра/c. Для 320*240 2.4" = 9600 байт... при скрости SPI 2 Мбит/c... в теории 26 кадров/секунду... с учётом вычислений в 10 раз меньше)) Можно разогнать проц до 16 МГц (максимум 25 Мгц)... Тогда можно сделать развёртку максимум где то до 50 кадров/c... (Можно смотреть видео, как в старом телевизоре). )) ... короче, плюшек много... )) |
Автор: | GoldenAndy [ Вт янв 22, 2019 21:20:21 ] |
Заголовок сообщения: | Re: Часы на TFT |
1. Давай переносить обсуждение в профильную тему по пульту (меня, правда, коробит от дикой помеси языков и количества ошибок у sashamelja). 2. По экрану. Смотрите. LCD-монохром 64*128 (их у китайцев навалом, на контроллере ST7920) требует килобайт видеобуффера в ОЗУ. Вывод инфы на него по параллельному 8битному интерфейсу несколько более быстр, нежели по СПИ, хотя там есть тайминги самого контроллера. Но они прекрасно алгоритмизируются и весь вывод укладывается в обработчик таймера. Т.е. таймер молотит каждые 70-75 мкс и льет данные в дисплей из буфера. Ежели хочется бОльшего - ТФТ, особенно, если с тачем - сильно не рекомендую СПИ. СПИ в мегах работает на максимальной частоте - 1/2 от тактовой. Для отправки 16-битного пикселя - т.е. 2 байт - нужно минимум 32 такта камня - и это не считая того, что СПИ 8-битный и нужно ждать , пока уйдет первое слово, что бы загрузить и отправить второе. Делать машину состояний на прерывание по готовности СПИ - на этих скоростях могут быть большие накладные расходы на вход/выход из прерывания и сохранение регистров. Учитывая то, что у вас мега 128 - два свободных порта под параллельный интерфейс дисплея можно найти. тогда два байта отправляются за: 1. выставить первый байт в порт 1 2. выставить второй байт в порт 2 3. поднять строб записи 4. положить строб записи. Вот как то так. Т.е. 4 такта против 32 - и без ожиданий. И плюс если дисплей с тачем, то тач тоже сидит на СПИ. Причем, если сам контроллер дисплея реально скоростной, то тач на частотах СПИ выше 500 кГц начинает безбожно врать. Т.е. делить СПИ между дисплеем и тачем - вещь неблагодарная. -------- Соответственно, в теме про пульт рисуйте ТЗ дисплейного модуля - какой желателен дисплей (интерфейс/контроллер/разрешение, наличие тача) - и будем думать. Я могу из проекта часов надергать библиотеки и описать, как их применять. И сильно продумывайте протоколы общения между основным блоком и дисплеем. (как вариант физического протокола - я бы попробовал предложить UART - но нужно кварцевать как мастера, так и слейва. Но есть плюс - отладку можно вести из терминала на ПК). Логический уровень - зависит от ваших потребностей. Ну и опять же - собирать программу когнтроллера дисплея нужно блоками - физика дисплея - один уровень, логика дисплея - второй уровень, графические примитивы - третий уровень, вывод данных по командам мастера - четвертый уровень. Причем прогу писать надо так же, как организована мафия в Японии - уровень не знает никого, кроме соседних уровней. -------- ЗЫ. Половина контроллеров ТФТ дисплеев хоть и толерантна к 5 вольтам, но линии данных у них исключительно 3.3 вольта. можно для увеличения скорости отрисовки тактовать дисплейную мегу от кварца 20-22 МГц, но придется питать контроллер 5 вольтами, на 3,3 вольтах 20 МГц могут не взлететь. В этом случае придется на линии данных и управления дисплея вешать резистивные делители. Добавлено after 8 hours 50 minutes 16 seconds: вот и статья подоспела |
Автор: | musor [ Вт янв 22, 2019 22:03:19 ] |
Заголовок сообщения: | Re: Часы на TFT |
пусть простят авторы топика но фсе это и болше умент заурядный планшет и каждая 2 фоторамка... из +планшета куча готовых часоф и ещедневникоф с погодой голосовым напоминанием анимацией в виде картинки дождя снего ветра... и прочими вкусняшками.. ну и +можно ингда юзать и ка планшет тоже например для скайподобных прог городить такое разве чтоиз самоутвердения ЯСМОК! |
Автор: | GoldenAndy [ Вт янв 22, 2019 23:41:26 ] |
Заголовок сообщения: | Re: Часы на TFT |
Да не вопрос, уважаемый musor, простят. И мнение простят, и орфографию, и ретросленг падонкафф... Идите с миром. |
Автор: | GoldenAndy [ Ср янв 23, 2019 11:28:51 ] |
Заголовок сообщения: | Re: Часы на TFT |
прошивка, схема, фотографии, изображения, проект Eagle 7 - из статьи. |
Автор: | Kotto [ Пт янв 25, 2019 17:47:46 ] |
Заголовок сообщения: | Re: Часы на TFT |
Схемка просто шикарная Есть множество идей что можно сделать с таким дисплеем. Просьба к автору, посоветуйте руководства по этому дисплею, в идеале примеры на codevision Еще раз респект за схему! |
Автор: | GoldenAndy [ Пт янв 25, 2019 18:12:25 ] |
Заголовок сообщения: | Re: Часы на TFT |
Kotto писал(а): посоветуйте руководства по этому дисплею Даташит - наше все. В гугле - по поиску ILI9341 первая же ссыль - ДШ Спойлерhttps://cdn-shop.adafruit.com/datasheets/ILI9341.pdfЯ перед покупкой дисплея просто погуглил что то типа "Работа с TFT дисплеем ILI9341" - попал на несколько статей про подключение дисплея к МК, к андурине и т.д. (Без ссылок, не знаю, можно ли тут ссылки на внешние ресурсы, надеюсь, за ссылку на ДШ не побьют) На основе этих данных и накидал библиотечку. Тут главное найти полную последовательность "магических цифр" - пакета команд и их аргументов для инициализации контроллера дисплея. Kotto писал(а): в идеале примеры на codevision Простите, а что такое кодвижн ? Это язык такой ? Если мне не изменяет память - кодвижн - это IDE, а пишут там на асм/с/с++. Так вот, волей случая для такого же дисплея, только с SPI-подключением в соседней ветке просили библиотеку. (Самое интересное, что библиотеку просили для CVAVR ) Так что вот библиотека - милости прошу, читайте, вникайте, пробуйте. Это моя библиотечка, написана "по мотивам" просторов интернета. По идее, она вообще не должна зависеть ни от используемого компилятора, IDE.... И ей даже все равно, какой контроллер будет управлять дисплеем. (единственное, возможно придется найти аналог _delay_ms(xxx) - функции, формирующей задержку в ххх миллисекунд.) Библиотека подключается просто : Код: #include "ILI9341.h"
|
Автор: | pin1000 [ Сб янв 26, 2019 04:13:44 ] |
Заголовок сообщения: | Re: Часы на TFT |
Проект интересен уже тем, что это одно из немногих изделий, сделанных с цветным дисплеем. Надоели уже семисегментники, WH1206, китайские Nokia5110( с разборки). goldenandy Спасибо, очень подробно все изложено. 1 Не хватает только платы в SL6, не могли бы вы помочь в этом формате. 2 Поделитесь ссылкой на дисплей, чтобы не ошибиться с заказом, да и проверенный продавец- это хорошо. |
Автор: | вадим1964 [ Сб янв 26, 2019 06:33:30 ] |
Заголовок сообщения: | Re: Часы на TFT |
хочется прикошатить сие 2.8"??возможно ли?он под мегу2560 |
Страница 1 из 111 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |