Простой велокомпьютер с цветным графическим LCD

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Предлагаю вашему вниманию простой велокомпьютер для велосипеда.

Статья на 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Гц не получится в принципе.

Чтобы избежать видимых медленных перерисовок экрана, код написан так, что экран целиком обновляется достаточно редко. Перерисовываются только малые области экрана - там, где поменялись цифры. Для ускорения этого был разработан специальный (а-ля векторный) набор семисегментных шрифтов для цифр.

Как всё это работает, можно глянуть на видеоролике.

Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15068
Зарегистрирован: Сб фев 11, 2017 15:59:13
Откуда: 57 RUS

Сообщение gsmart »

На ярком солнце цветной экран велокомпа небось бликует?
НАРОДОВЛАСТИЕ а не буржуазная кланово-олигархическая дерьмократия!!!
Цифровому рабству, навязываемому цифровым олигархатом - НЕТ!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Не без этого. Для того, собственно, режимы "чёрным по белому" и "белым по чёрному" и сделаны, чтобы максимальную контрастность получить. Но вообще нормально читается.
Контактная информация:
Родился
Сообщения: 5
Зарегистрирован: Чт авг 04, 2011 11:13:41

Сообщение Warg »

WiseLord, шикарный проект!
Скажите, что за корпус использован? Если самопечатный нельзя ли выложить на гитхаб и модель для печати?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Нет, купил на радиорынке, примериваясь к экранчику.

Толкатели для кнопок вырезаны (все три одним куском) из резинки какого-то мёртвого пульта ДУ.
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 428
Зарегистрирован: Вт апр 12, 2011 06:32:06
Откуда: Россия, г. Омск

Сообщение daomsk »

Говорите, у АтМеги 70% памяти свободно? А если подвязать к ВК еще и FM радио на м/с ну, типа, RDA5807P, TEA5761UK или подобных? С синим зубом в придачу, чтобы не тащить к голове провода!?
Я не работал в своей жизни ни одного дня. Все, чем я занимался, было сплошным развлечением /Томас Алва Эдисон/
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Мне показалось, что алгоритм работы с экраном не оптимальный. Вроде как сначала идет очистка заливкой, а затем вывод нового содержимого в достаточно большую область - так? Если так, что достаточно изменить алгоритм, и мерцание станет полностью незаметным: выводить новое сразу так, чтобы затирать старое, и только в тех областях, где это затирание на самом деле необходимо. Например, для семисегментной цифры только затирать погасающие сегменты и отрисовывать зажигаемые, не меняя те, что сохраняют свое состояние. Например, при замене 7 на 0 только дорисовать 3 сегмента, и при замене 8 на 9 - только стереть один.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Нет, так происходит только при смене экранов (главный - настройки). На них разные размеры шрифта и областей заливки, поэтому проще было именно так сделать.

А при обычной работе перерисовываются только те цифры (не числа, а именно отдельные цифры!), которые меняются.

Можно было бы вообще перерисовывать только изменившиеся сегменты, но и без того получается очень быстро. Посегментная прорисовка уже требовала бы в 7 раз больше памяти для хранения предыдущего состояния. Хотя и памяти свободной прилично.

P.S. Хотя, если передавать в функцию glcdWriteLcdChar() не только текущую цифру, а ещё и предыдущую, то уже в самой ней можно разобраться, как перерисовать символ быстрее.
Последний раз редактировалось WiseLord Чт июл 20, 2017 09:29:09, всего редактировалось 1 раз.
Контактная информация:
Мудрый кот
Сообщения: 1706
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

интересный проект!
а другие не пробовали?сименс 65/75...
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Эти дисплеи от телефонов нельзя купить, как на ILI9341, можно только достать. Поэтому особого смысла не вижу.

Да и был этот дисплей у меня уже давно, всё никак не мог его пристроить.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

WiseLord, Если будет желание, попробуйте сделать велокомпьютер на таком индикаторе 3,5".
Это "монохром с оттенками серого", у него ток потребления около 1mA и высокая контрастность при ярком внешнем освещении.
Вымогатель припоя
Аватара пользователя
Сообщения: 593
Зарегистрирован: Пт дек 26, 2014 20:33:38
Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)

Сообщение dadigor »

Хороший проект, я думаю народ заценит для повторения.
Но я бы не стал отпиливать полплаты - тогда можно было бы сделать даталоггер с записью на SD, а там уж заодно и подцепить DS3231 для привязки логов, ну и может быть датчик пульса, хотя бы проводной, для "спортивного" интереса... ИМХО конечно (это типа идей для расширения). Ведь и толщина прибора не критична, как мне кажется.
О технике чего спорить-то, давайте попробуем.
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Если цеплять часы и sd-карту, то лучше было бы убрать оригинальную плату дисплея вообще, сделав свою под шлейф дисплея, где и разместить вообще всё. Может быть, когда-нибудь так всё и будет.
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 593
Зарегистрирован: Пт дек 26, 2014 20:33:38
Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)

Сообщение dadigor »

Имея в виду Вашу фразу "Да и лежали у меня в закромах когда-то давно купленные на Aliexpress разные платки, которые и решено было пустить в дело." я подумал, что для логгера достаточно просто подцепить еще одну дешевую платочку с часами и батарейкой, всего несколько проводов.
Хотя, конечно, хорошо бы сделать новый проект с моноплатой. Будем ждать ))
О технике чего спорить-то, давайте попробуем.
Открыл глаза
Сообщения: 63
Зарегистрирован: Вт дек 01, 2015 18:00:11
Откуда: Причерноморье

Сообщение Sem7 »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3145915#p3145915"]Предлагаю вашему вниманию простой велокомпьютер для велосипеда...[/uquote]
Как для радиолюбительской конструкции - круто!...
И всё же. Практика использования заводского-покупного велокомпьютера показала явные излишества, забитые в прошивку (ки)тайской "офисной детворой". Каденс, килокаллории, частота вращения колеса и прочая лобуда, для "простого" велотуриста-хозяйственника... вызывают больше мороки (пустое ожидание в режиме SCAN), чем пользы. Вопрос то о наличии датчика частоты вращения ведущей звёздочки (каденса) касательно большинства велоНЕгонщиков - однозначно риторический... Неудобно, (если не сказать - небезопасно!) отображать на экране одновременно несколько параметров, ещё и разного размера. Во первых - мелкие знаки хуже видно. Во-вторых - прибор больше отвлекает от контроля за дорожной ситуацией.
Неплохо было бы иметь возможность отображения напряжения аккумулятора в случае "электрификации"/моторизации двухколёсного коня. Без особого опыта в области МК, первое, что придумалось - соорудить преобразователь напряжение-частота, и при помощи удобного переключателя соединять по мере надобности велокомпьютер либо с герконовым датчиком, либо с преобразователем, понимая при этом, например 24,5 км/h как 24,5 В. Это, так сказать - в примитиве. Варианты, варианты...
Лет пять промучился с прибором AS 401. Часы уходили вперёд на десяток минут в месяц. Узнать общий пробег за сезон не позволял постоянный "авто" сброс. Когда надоело припаивать батарейку, чистить и т.п., взял весьма недорогой ASSIZE AS 820, которым вот уж пол-сезона вполне доволен. Окромя - в начале сказанного.
Сэнкс фор эттэншн.
Встал на лапы
Сообщения: 134
Зарегистрирован: Чт сен 19, 2013 17:58:52

Сообщение rav133 »

У китайцев появились относительно не дорогие E-lnk https://ru.aliexpress.com/store/product ... 5c0cmKt2jN. Вроде и энергопотребление низкое, и читаемость на солнце, интерфейс SPI. Можно было бы на пробу заказать, усли ув. автор подправит прошивку под любой из трёх типоразмеров.
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

Сообщение Frogfot »

Такой индикатор подойдёт к девайсу - http://imrad.com.ua/ru/tft-lcd-shield-2-4-touch?

Можно ли ставить М168 вместо М328 или нужно перекомпилировать код?
Хорошему коту и в декабре - март :)
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Размер прошивки около 11кБ, так что в ATmega168 влезть должно. Но, наверное, пересобрать из исходников придётся.
По поводу дисплея не знаю, если он на контроллере ILI9341, должен подойти.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

rav133 писал(а):У китайцев появились относительно не дорогие E-lnk
Здесь vanyap1 говорил про E-Ink что:
...Если обновлять дисплей каждую минуту то он проживет не более 3 месяцев.
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

Сообщение Frogfot »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3156329#p3156329"]Размер прошивки около 11кБ, так что в ATmega168 влезть должно. Но, наверное, пересобрать из исходников придётся.[/uquote]
Вроде архитектура М168 и М328 1:1, только у М324 2К ОЗУ, сколько ОЗУ требует прога?

[uquote="WiseLord",url="/forum/viewtopic.php?p=3156329#p3156329"]По поводу дисплея не знаю, если он на контроллере ILI9341, должен подойти.[/uquote]
Не, тот дисплей прямо не пойдёт - он кажись параллельный 8-бит, у вас в схеме SPI.
Хорошему коту и в декабре - март :)
Ответить

Вернуться в «Статьи»