Простой велокомпьютер с цветным графическим LCD
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Простой велокомпьютер с цветным графическим LCD
Предлагаю вашему вниманию простой велокомпьютер для велосипеда.
Статья на radiokot http://radiokot.ru/circuit/digital/measure/153
Схема и исходники доступны на GitHub.
Велокомпьютер построен на базе ATmega328p и цветного графического дисплея разрешением 320x240 на базе контроллера ILI9341, подключенного по SPI. Код написан под avr-gcc.
Также можно взять не сам МК, а готовую плату с ним, например, Arduino Pro Mini и использовать её просто как обычный МК с уже удобно разведёнными ножками и готовым кварцем на 16МГц. Всё зависит от того, насколько компактным велокомпьютер хочется видеть.
Немного технических деталей.
При работе на 16МГц максимальную частоту по SPI можно получить 8МГц. Для обновления (например, очистки) всего экрана нужно отправить по шине SPI 320 * 240 * 16 (бит на точку) = 1228800 бит (плюс немного за счёт команд, не только данных). Поэтому экран обновлять чаще 6Гц не получится в принципе.
Чтобы избежать видимых медленных перерисовок экрана, код написан так, что экран целиком обновляется достаточно редко. Перерисовываются только малые области экрана - там, где поменялись цифры. Для ускорения этого был разработан специальный (а-ля векторный) набор семисегментных шрифтов для цифр.
Как всё это работает, можно глянуть на видеоролике.
Статья на radiokot http://radiokot.ru/circuit/digital/measure/153
Схема и исходники доступны на GitHub.
Велокомпьютер построен на базе ATmega328p и цветного графического дисплея разрешением 320x240 на базе контроллера ILI9341, подключенного по SPI. Код написан под avr-gcc.
Также можно взять не сам МК, а готовую плату с ним, например, Arduino Pro Mini и использовать её просто как обычный МК с уже удобно разведёнными ножками и готовым кварцем на 16МГц. Всё зависит от того, насколько компактным велокомпьютер хочется видеть.
Немного технических деталей.
При работе на 16МГц максимальную частоту по SPI можно получить 8МГц. Для обновления (например, очистки) всего экрана нужно отправить по шине SPI 320 * 240 * 16 (бит на точку) = 1228800 бит (плюс немного за счёт команд, не только данных). Поэтому экран обновлять чаще 6Гц не получится в принципе.
Чтобы избежать видимых медленных перерисовок экрана, код написан так, что экран целиком обновляется достаточно редко. Перерисовываются только малые области экрана - там, где поменялись цифры. Для ускорения этого был разработан специальный (а-ля векторный) набор семисегментных шрифтов для цифр.
Как всё это работает, можно глянуть на видеоролике.
Re: Простой велокомпьютер с цветным графическим LCD
На ярком солнце цветной экран велокомпа небось бликует?
НАРОДОВЛАСТИЕ а не кланово-олигархическая дерьмократия!!!
Цифровому рабству, навязываемому цифровым олигархатом - НЕТ!
Цифровому рабству, навязываемому цифровым олигархатом - НЕТ!
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Не без этого. Для того, собственно, режимы "чёрным по белому" и "белым по чёрному" и сделаны, чтобы максимальную контрастность получить. Но вообще нормально читается.
Re: Простой велокомпьютер с цветным графическим LCD
WiseLord, шикарный проект!
Скажите, что за корпус использован? Если самопечатный нельзя ли выложить на гитхаб и модель для печати?
Скажите, что за корпус использован? Если самопечатный нельзя ли выложить на гитхаб и модель для печати?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Нет, купил на радиорынке, примериваясь к экранчику.
Толкатели для кнопок вырезаны (все три одним куском) из резинки какого-то мёртвого пульта ДУ.
Толкатели для кнопок вырезаны (все три одним куском) из резинки какого-то мёртвого пульта ДУ.
- daomsk
- Мучитель микросхем
- Сообщения: 428
- Зарегистрирован: Вт апр 12, 2011 06:32:06
- Откуда: Россия, г. Омск
Re: Простой велокомпьютер с цветным графическим LCD
Говорите, у АтМеги 70% памяти свободно? А если подвязать к ВК еще и FM радио на м/с ну, типа, RDA5807P, TEA5761UK или подобных? С синим зубом в придачу, чтобы не тащить к голове провода!?
Я не работал в своей жизни ни одного дня. Все, чем я занимался, было сплошным развлечением /Томас Алва Эдисон/
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Мне показалось, что алгоритм работы с экраном не оптимальный. Вроде как сначала идет очистка заливкой, а затем вывод нового содержимого в достаточно большую область - так? Если так, что достаточно изменить алгоритм, и мерцание станет полностью незаметным: выводить новое сразу так, чтобы затирать старое, и только в тех областях, где это затирание на самом деле необходимо. Например, для семисегментной цифры только затирать погасающие сегменты и отрисовывать зажигаемые, не меняя те, что сохраняют свое состояние. Например, при замене 7 на 0 только дорисовать 3 сегмента, и при замене 8 на 9 - только стереть один.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Нет, так происходит только при смене экранов (главный - настройки). На них разные размеры шрифта и областей заливки, поэтому проще было именно так сделать.
А при обычной работе перерисовываются только те цифры (не числа, а именно отдельные цифры!), которые меняются.
Можно было бы вообще перерисовывать только изменившиеся сегменты, но и без того получается очень быстро. Посегментная прорисовка уже требовала бы в 7 раз больше памяти для хранения предыдущего состояния. Хотя и памяти свободной прилично.
P.S. Хотя, если передавать в функцию glcdWriteLcdChar() не только текущую цифру, а ещё и предыдущую, то уже в самой ней можно разобраться, как перерисовать символ быстрее.
А при обычной работе перерисовываются только те цифры (не числа, а именно отдельные цифры!), которые меняются.
Можно было бы вообще перерисовывать только изменившиеся сегменты, но и без того получается очень быстро. Посегментная прорисовка уже требовала бы в 7 раз больше памяти для хранения предыдущего состояния. Хотя и памяти свободной прилично.
P.S. Хотя, если передавать в функцию glcdWriteLcdChar() не только текущую цифру, а ещё и предыдущую, то уже в самой ней можно разобраться, как перерисовать символ быстрее.
Последний раз редактировалось WiseLord Чт июл 20, 2017 09:29:09, всего редактировалось 1 раз.
-
Novice user
- Мудрый кот
- Сообщения: 1704
- Зарегистрирован: Вт янв 05, 2016 10:14:25
- Откуда: поселок Мелеуз
Re: Простой велокомпьютер с цветным графическим LCD
интересный проект!
а другие не пробовали?сименс 65/75...
а другие не пробовали?сименс 65/75...
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Эти дисплеи от телефонов нельзя купить, как на ILI9341, можно только достать. Поэтому особого смысла не вижу.
Да и был этот дисплей у меня уже давно, всё никак не мог его пристроить.
Да и был этот дисплей у меня уже давно, всё никак не мог его пристроить.
- Albert_V
- Друг Кота
- Сообщения: 4119
- Зарегистрирован: Чт сен 12, 2013 00:54:12
- Откуда: ЗаМКАДье. Там, где ЦУП
Re: Простой велокомпьютер с цветным графическим LCD
WiseLord, Если будет желание, попробуйте сделать велокомпьютер на таком индикаторе 3,5".
Это "монохром с оттенками серого", у него ток потребления около 1mA и высокая контрастность при ярком внешнем освещении.
Это "монохром с оттенками серого", у него ток потребления около 1mA и высокая контрастность при ярком внешнем освещении.
- dadigor
- Вымогатель припоя
- Сообщения: 593
- Зарегистрирован: Пт дек 26, 2014 20:33:38
- Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)
Re: Простой велокомпьютер с цветным графическим LCD
Хороший проект, я думаю народ заценит для повторения.
Но я бы не стал отпиливать полплаты - тогда можно было бы сделать даталоггер с записью на SD, а там уж заодно и подцепить DS3231 для привязки логов, ну и может быть датчик пульса, хотя бы проводной, для "спортивного" интереса... ИМХО конечно (это типа идей для расширения). Ведь и толщина прибора не критична, как мне кажется.
Но я бы не стал отпиливать полплаты - тогда можно было бы сделать даталоггер с записью на SD, а там уж заодно и подцепить DS3231 для привязки логов, ну и может быть датчик пульса, хотя бы проводной, для "спортивного" интереса... ИМХО конечно (это типа идей для расширения). Ведь и толщина прибора не критична, как мне кажется.
О технике чего спорить-то, давайте попробуем.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Если цеплять часы и sd-карту, то лучше было бы убрать оригинальную плату дисплея вообще, сделав свою под шлейф дисплея, где и разместить вообще всё. Может быть, когда-нибудь так всё и будет.
- dadigor
- Вымогатель припоя
- Сообщения: 593
- Зарегистрирован: Пт дек 26, 2014 20:33:38
- Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)
Re: Простой велокомпьютер с цветным графическим LCD
Имея в виду Вашу фразу "Да и лежали у меня в закромах когда-то давно купленные на Aliexpress разные платки, которые и решено было пустить в дело." я подумал, что для логгера достаточно просто подцепить еще одну дешевую платочку с часами и батарейкой, всего несколько проводов.
Хотя, конечно, хорошо бы сделать новый проект с моноплатой. Будем ждать ))
Хотя, конечно, хорошо бы сделать новый проект с моноплатой. Будем ждать ))
О технике чего спорить-то, давайте попробуем.
Re: Простой велокомпьютер с цветным графическим LCD
Предлагаю вашему вниманию простой велокомпьютер для велосипеда...
Как для радиолюбительской конструкции - круто!...
И всё же. Практика использования заводского-покупного велокомпьютера показала явные излишества, забитые в прошивку (ки)тайской "офисной детворой". Каденс, килокаллории, частота вращения колеса и прочая лобуда, для "простого" велотуриста-хозяйственника... вызывают больше мороки (пустое ожидание в режиме SCAN), чем пользы. Вопрос то о наличии датчика частоты вращения ведущей звёздочки (каденса) касательно большинства велоНЕгонщиков - однозначно риторический... Неудобно, (если не сказать - небезопасно!) отображать на экране одновременно несколько параметров, ещё и разного размера. Во первых - мелкие знаки хуже видно. Во-вторых - прибор больше отвлекает от контроля за дорожной ситуацией.
Неплохо было бы иметь возможность отображения напряжения аккумулятора в случае "электрификации"/моторизации двухколёсного коня. Без особого опыта в области МК, первое, что придумалось - соорудить преобразователь напряжение-частота, и при помощи удобного переключателя соединять по мере надобности велокомпьютер либо с герконовым датчиком, либо с преобразователем, понимая при этом, например 24,5 км/h как 24,5 В. Это, так сказать - в примитиве. Варианты, варианты...
Лет пять промучился с прибором AS 401. Часы уходили вперёд на десяток минут в месяц. Узнать общий пробег за сезон не позволял постоянный "авто" сброс. Когда надоело припаивать батарейку, чистить и т.п., взял весьма недорогой ASSIZE AS 820, которым вот уж пол-сезона вполне доволен. Окромя - в начале сказанного.
Сэнкс фор эттэншн.
Re: Простой велокомпьютер с цветным графическим LCD
У китайцев появились относительно не дорогие E-lnk https://ru.aliexpress.com/store/product ... 5c0cmKt2jN. Вроде и энергопотребление низкое, и читаемость на солнце, интерфейс SPI. Можно было бы на пробу заказать, усли ув. автор подправит прошивку под любой из трёх типоразмеров.
-
Frogfot
- Мучитель микросхем
- Сообщения: 443
- Зарегистрирован: Ср окт 19, 2011 08:48:27
- Откуда: Мать городов русских
Re: Простой велокомпьютер с цветным графическим LCD
Такой индикатор подойдёт к девайсу - http://imrad.com.ua/ru/tft-lcd-shield-2-4-touch?
Можно ли ставить М168 вместо М328 или нужно перекомпилировать код?
Можно ли ставить М168 вместо М328 или нужно перекомпилировать код?
Хорошему коту и в декабре - март 
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Простой велокомпьютер с цветным графическим LCD
Размер прошивки около 11кБ, так что в ATmega168 влезть должно. Но, наверное, пересобрать из исходников придётся.
По поводу дисплея не знаю, если он на контроллере ILI9341, должен подойти.
По поводу дисплея не знаю, если он на контроллере ILI9341, должен подойти.
- Albert_V
- Друг Кота
- Сообщения: 4119
- Зарегистрирован: Чт сен 12, 2013 00:54:12
- Откуда: ЗаМКАДье. Там, где ЦУП
Re: Простой велокомпьютер с цветным графическим LCD
Здесь vanyap1 говорил про E-Ink что:rav133 писал(а):У китайцев появились относительно не дорогие E-lnk
...Если обновлять дисплей каждую минуту то он проживет не более 3 месяцев.
-
Frogfot
- Мучитель микросхем
- Сообщения: 443
- Зарегистрирован: Ср окт 19, 2011 08:48:27
- Откуда: Мать городов русских
Re: Простой велокомпьютер с цветным графическим LCD
Размер прошивки около 11кБ, так что в ATmega168 влезть должно. Но, наверное, пересобрать из исходников придётся.
Вроде архитектура М168 и М328 1:1, только у М324 2К ОЗУ, сколько ОЗУ требует прога?
По поводу дисплея не знаю, если он на контроллере ILI9341, должен подойти.
Не, тот дисплей прямо не пойдёт - он кажись параллельный 8-бит, у вас в схеме SPI.
Хорошему коту и в декабре - март 