Arduino Mega и графика

Тема в разделе "Arduino & Shields", создана пользователем Angels-group, 27 янв 2016.

  1. Angels-group

    Angels-group Нерд

    Доброго времени !
    Я с Arduino пока не имел дела. Программирую только под Android (Java).
    Заказал себе Arduino Mega и дисплей цветной со слотом для SD карт.
    Хочу сделать аналоговые часы. В интернет нашел кучу примеров, но везде стрелки и циферблат рисуются программно (как я понял). Типа такого:
    [​IMG]

    Я хочу сделать циферблат и стрелки графикой (картинки в формате png/bmp/gif, смотря что Arduino скушает). Типа такого (просто для примера картинка):
    [​IMG]

    Вопрос - справится ли Arduino Mega с такой задачей или будет жутко тупить все? Сможет ли она не перерисовывать весь экран, а только секундную (минутную, часовую) стрелку ?
    Может есть какие-то подобные решения поглядеть?
     
    Последнее редактирование: 2 мар 2016
  2. DrProg

    DrProg Вечный нерд

    Врать не буду, графику на Ардуино пока не пробовал, могу лишь теоретически предположить, что будет сложновато и тормозновато. Здесь уже обсуждалась похожая тема, мнения немного разошлись, но в целом пришли к выводу, что основной проблемой будет малое кол-во памяти для формирования красивого рисунка. Вообще, насколько я себе представляю, Ардуино не заточена под подобные задачи, она больше для мигания лампочками. :p Для вашей задачи лучше подойдет, например, Малина. Но это уже совсем другая история.
     
    Angels-group нравится это.
  3. ANV

    ANV Гуру

    Индикатор то вы уже заказали, вот и напишите тестовый скетч для тестирования производительности, пока оно едет )
    Если не будет хватать, можно поставить на Ардуино "видеокарту":

     
    Angels-group нравится это.
  4. Angels-group

    Angels-group Нерд

    Да, действительно. Хоть и не дешево, но скорее всего это решение подойдет.
    Для начала попробую поворочать самой Arduino, если будет откровенная лажа - буду думать о SmartGPU2. Вроде то что надо. Жаль только что в подобных решениях уже установлен сам дисплей. Было бы не плохо только шилд, а дисплей уж на выбор.

    UPD: Нашел хорошую и не дорогую альтернативу для моей задачи - Nextion Display.
    Может все в курсе уже такой штуковины, но я только узнал.
    Суть в том, что это TFT дисплей со своим контроллером и слотом для SD карты.
    На компе, в спец. визуальной среде создается весь USER INTERFACE и заливается на SD карту, а Arduino может менять только циферки, стрелочки и т.д. Т.е. фактический Arduino работает не с графикой, а с данными. Вся графика лежит на плечах Nextion. Конечно, каких-то анимаций там не сделать, как на SmartGPU или Gameduino, но для вывода данных - пойдет. Так же там есть тач, который может управлять Arduino. В общем - лучше 1 раз увидеть, чем 100 раз услышать.

     
    Последнее редактирование: 27 янв 2016
  5. ANV

    ANV Гуру

    Насчет размера экрана - если контроллер не встроен в сам LCD, то интефейс у них одинаковый: данные, HSYNC, VSYNC. Но если разъемы не совпадают, то перепайка там тонкая.
     
  6. noevile

    noevile Гик

    осторожнее с HMI Nextion. на aliexpress их два вида. один NX, другой сугубо для китайского рынка TJC. соответственно если купите для китайского региона панельку, то придётся использовать программу с китайским языком. то что флешку можно туда воткнуть не означает что её можно использовать. слот служит только для заливки проекта в HMI и не более. соответственно смотрите сколько вам памяти надо иметь в HMI.
    вот ссылки с которыми рекомендую ознакомиться:
    http://blog.iteadstudio.com/
    http://support.iteadstudio.com/support/home
    http://wiki.iteadstudio.com/Nextion_Instruction_Set#Useful_link
    http://wiki.iteadstudio.com/Nextion_HMI_Solution

    в принципе панелька не плохая. НО сырая. я пока что после этой панельки рассматриваю вариант
    http://ru.aliexpress.com/item/Orang...ent-ABS-Case-USB-to-DC-4-0MM/32451086788.html
    +
    http://ru.aliexpress.com/store/prod...-Raspberry-Pi-2-Model/910129_32443379727.html
    или
    http://ru.aliexpress.com/store/prod...n-of-Raspberry-Pi-800/204638_32368724669.html
    или сразу вот такого монстра
    http://ru.aliexpress.com/store/prod...or-For-Raspberry-Pi-B/204638_32376055110.html
     
  7. Angels-group

    Angels-group Нерд

    noevile, дело в том, что у меня очень ограничено место под дисплей. Есть корпус, в который у меня помещается примерно 2.4 - 2.8 дюйма.
    Конечно, для меня вообще идеальный вариант - это какой-то дисплей типа как от Arduino (SPI) 2.8" + к нему контроллер с HDMI. Это было бы супер. Я бы использовал Android TV-stick для UI + Arduino для датчиков.
    Тем более что программирую я под Android в большей степени.
    Но пока я контроллера такого не нашел...
     
  8. noevile

    noevile Гик

    может проще тогда не заморачиваться с ардуиной и взять привычные вещи?
    https://geektimes.ru/post/271236/ это как пример. потому что если ставка делается на красивость то с панелькой nextion придётся повозиться что бы красивых картиниок нарисовать. и к стрелке там картинку красивой стрелки не прилепить. только подсовывая фоновую картинку. нормально отображает пока что только jpeg. среди тех ссылок есть ссылка на блог nextion. там есть примеры проектов. посмотрите. так же на ютубе люди выкладывают свои поделки. правда в России эта панелька ещё не сильно распространена. в марте обещают какие-то нововведения. заодно почитайте про модуль ESP12 если всё же решитесь заказать панельку nextion.
     
  9. Angels-group

    Angels-group Нерд

    Там экран 4", мне такое не подходит. Места очень мало. Я уже искал Android смартфоны с такой диагональю. Нашел только что-то типа "часов" на Android. Но там что-то доисторическое стоит (4.0 вроде). Т.е. не вариант.

    В моем случае, видимо, придется использовать Nextion display. Думаю это то что надо.
    Хотя, повторюсь, вариант с 2.8" Arduino дисплеем подключенным через HDMI - был бы идеален.

    Есть еще вариант использовать Robopeak дисплей. Он вешается по USB. У него свой контроллер стоит. Но под Android пока нету готовой реализации драйверов + он достаточно дорого стоит (45$)
     
    Последнее редактирование: 18 фев 2016
  10. noevile

    noevile Гик

    про ардуино и HDMI не слышал. у всех этих дисплеев для ардуино есть проблема .. это большая зернистость. у меня на столе лежит 3.2 дюйма панелька, а разрешение 400х240. радует только 65к цветов и то что не надо вручную ничего рисовать в коде ардуино и то что панелька поддерживает скрипты. так что не промахнитесь при заказе панельки с буковками. должно быть NX, а не TJC. иначе будете как я сидеть и изучать китайский :D:D:D.
    у них софт написан на .NET. после декомпиляции и ковыряний понял что разница между китайским вариантом софта и nextion всего один бит и небольшой кусок кода что бы панель понимала в какой программе был сделан проект. иначе ругается. может у вас руки дойдут поправить софт. тогда пару сотен рубликов можно экономить на панельке. ну а в остальном удачи тогда вам с paint.net :):):)
     
  11. Angels-group

    Angels-group Нерд

    noevile, спасибо большое!
    пока вообще заказал обычный дисплей для Arduino (по незнанию + потренькаться). Дальше буду думать что брать. Предварительно напишу сюда что выбрал)
     
  12. Angels-group

    Angels-group Нерд

    Ну вот пришел первый дисплей (заказывал давно, пока для опытов).

    display.jpg

    Может у кого есть ссылки на примеры по работе с таким дисплеем ?
    Тестовый проект загрузил (пришлось немного подправить либу). Хотелось бы посмотреть какие-то проекты с часами, отображалками картинок и т.д.
    Либу использовал SWIFT (от Smoke-And-Wires). Дисплей вроде как ILI9340.
     
  13. noevile

    noevile Гик

    в гугле забей ILI9340 .. ткни на вкладку видео .. там бывают прикреплённые ссылки на проекты с описанием чего и как .. заодно посмотри видео .. хоть узнаешь на что способны эти дисплеи
     
    Angels-group нравится это.
  14. Angels-group

    Angels-group Нерд

    По-тиху изучаю работу с дисплеем. Пока учусь и далеко не во всем разобрался.
    Возник вопрос снова о часах. В сети куча примеров аналоговых часов, где интерфейс "рисуется математикой". У меня есть необходимости сделать все это дело графикой. Собственно вопрос(ы):
    Можно ли накладывать друг на друга несколько изображений "слоями" с альфа-каналом? (картинка стрелки поверх картинки циферблата). Может что-то подобное есть в примерах? Я пока не нашел ничего путного.
    Можно ли перерисовывать каждую минуту \ час только стрелку а не весь экран ? У меня пока получается только весь экран обновить, залив его цветом (я пока учусь работать со шрифтами и текстом).
     
  15. noevile

    noevile Гик

    надо писать с какой именно панелькой работаешь. к примеру в панельках Nextion пока что ничего путного в виде альфа-каналов точно нету. сам ищу более менее нормальные панельки, но пока что накопал FTDI Cleo. там вроде бы можно это всё реализовать. по крайней мере наложение и стрелки такие какие хочу. но пока что цена остаётся главным вопросом.
     
  16. Angels-group

    Angels-group Нерд

    панелька пока все та же что и выше писал. Обычный китайский ILI9341.
    Nextion, как я понял из их SDK не может сделать нужные мне стрелки "картинкой". Только линия простая. Поэтому заказывать ничего не стал.

    UPD: Да, Cleo крутая панелька. Но опять-таки не мой размер. У меня место ограниченного размера...
     
    Последнее редактирование: 2 мар 2016
  17. noevile

    noevile Гик

    анелькой
    нуууууу .. тогда гугл в помощь :):):)
    http://www.dwin.com.cn/english/products/l-2955543996185.html
     
  18. noevile

    noevile Гик

    как вариант перебирать все фирмы на алиэкспрессе по запросу "uart tft display"
    http://www.alibaba.com/showroom/uart-tft-display.html
     
  19. Angels-group

    Angels-group Нерд

    Да самое печальное, что на Aliexpress только Nextion и пробивается, а на Alibaba совсем плохо с маленькими размерами.

    Есть еще такое чудо как Robopeak. Панелька работает по USB. Но для нее нужен Framebuffer, а значит Arduino не справится.
     
  20. noevile

    noevile Гик

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

    ну это я так по своей логике обычно ищу то что мне надо. но пока что у меня есть Нексион панелька мне пока не надо. потом проведу разведку местности на предмет нормальных панелек (т.е. с нормальной средой разработки приложений для этой панельки). и если не найду то остановлюсь на варианте Орандж Пи ПиСи + тупо ТФТ Тач Скрин и буду уже под линукс рисовать то что мне надо .. там благо такого добра рисовального хватает да и заодно QT узнаю что за гадость такая