FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Суббота, 16.12.2017, 00:34
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 3123»
Модератор форума: support, Сергей, Anydy, Олег 
Форум » Основной » Железо - контроллеры, шилды, датчики и др. » Дисплеи и индикаторы » OLED дисплей 128х64 SPI - пользовательский блок на Си (просьба потестить)
OLED дисплей 128х64 SPI - пользовательский блок на Си
Сергей Дата: Воскресенье, 31.01.2016, 20:52 | Сообщение # 1
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
Вот выродил наконец более вменяемый блок для ОЛЭД дисплея.
Получился громоздкий по входам но функционалу неплохо получилось.
Умеет рисовать точку, линию, прямоугольник, залитый прямоугольник, круг, заполненый круг, прямоуг. с закруленными углами, то же заполненный, треугольник заполненный/прозрачный, выводить текст.
Не знаю как лучше. Все в одном (т.е. все команды дисплея в одном блок) или каждую команду отдельным блоком??? Посоветуйте кто как думает.

Или может наверное лучше на каждую функцию отдельный блок?
Блок 1
Блок 2
Прикрепления: 6467277.png(23Kb)


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Сергей Дата: Воскресенье, 31.01.2016, 21:00 | Сообщение # 2
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
Проблема еще с компилятором.
При возникновении таких ошибок

в 1. случае надо дописать идентификатор блока, а во втором убрать задвоенный. Эти несколько ошибок пока править надо вручную. От куда берутся не знаю, автору сообщил. Пока так. Если все ошибки исправить, то компелируется нормально.
Прикрепления: 6206601.png(68Kb)


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Слимпер Дата: Воскресенье, 31.01.2016, 22:23 | Сообщение # 3
Генерал-полковник
Группа: Проверенные
Сообщений: 1017
Награды: 57
Репутация: 44
Статус: Offline
Цитата Сергей ()
в 1. случае надо дописать идентификатор блока, а во втором убрать задвоенный. Эти несколько ошибок пока править надо вручную. От куда берутся не знаю, автору сообщил. Пока так. Если все ошибки исправить, то компелируется нормально.
С задвоением я тоже встречался, как понял он может возникать если есть два похожих названия отличающихся на подчёркивание:
у вас похоже одновременно есть 

text и En_text и  x_text и  y_text  

чтобы пропало нужно убрать, назвать их скажем так 

text1 и En_text  x_text и  y_text 

Первая ошибка тоже наверное из-за знака "_" , попробуй
ClearLcd вместо Clear_lcd
 
Сергей Дата: Воскресенье, 31.01.2016, 22:52 | Сообщение # 4
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
Слимпер, да все верно, это изза подчеркивания.

Блоки заменил по ссылкам в 1м сообщении. Теперь все компилируется.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
krom23 Дата: Понедельник, 01.02.2016, 00:13 | Сообщение # 5
Подполковник
Группа: Проверенные
Сообщений: 275
Награды: 4
Репутация: 3
Статус: Offline
Сергей, спасибо за блоки. Действительно они получились громоздкими. Если вас интересует моё мнение, то лучше сделать каждую команду отдельным блоком, ведь наверное не все команды можно будет задействовать, а по необходимости.
 
Skull Дата: Понедельник, 01.02.2016, 01:11 | Сообщение # 6
Полковник
Группа: Проверенные
Сообщений: 316
Награды: 8
Репутация: 2
Статус: Offline
eek МАМА ))
А вообще работает, спасибо!!
Сереж, погляди вот это- русифицированная

Описание ТУТ
Прикрепления: OLED_I2C_UKR_RU.rar(376Kb)


Сообщение отредактировал Skull - Понедельник, 01.02.2016, 01:19
 
Сергей Дата: Понедельник, 01.02.2016, 03:25 | Сообщение # 7
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
krom23, да, скорее всего надо будет делать отдельно маленькими. А то памяти много занимает.
Опыты продолжаются. Сейчас набрасываю аналоговые часы. Для примера. Что бы понять на сколько полезный и удобный блок. Пришлось тригонометрию вспоминать biggrin . Но результаты есть. Сейчас видео выложу, а как доделаю то и проект.

Короче что бы прорисовывать стрелку, известны только начальные координаты линии и угол (6 град или 0,101 рад) на который поворачивается линия каждую секунду. Через синус и косинус определяем ее конечние координаты  X и Y. Прибавляем или отнимаем от центральных координат радиус умноженный на полученный результат.... получаем меняющиеся координаты линии...
Блоки разобью уже завтра на маленькие. Продумаю как это будет. Надо не только рисовать, а еще и очищать дисплей, стирать отдельные области. И я не представляю как оно должно выглядеть. К примеру, каждая фигура это отдельный блок, то есть и стирание отдельными. А инициализацию и запуск дисплея? Они же будут дублироваться в каждом блоке. Или делать отдельно блок инициализации ЛСД?. Не пойму пока как лучше.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Сергей Дата: Понедельник, 01.02.2016, 03:29 | Сообщение # 8
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
Skull, позже. Сначала блок до ума доведу.
Вообще круто что теперь есть возможность Си вставлять.
Спасибо автору!!! Я ведь раньше Си знал только в общих чертах. А теперь, спустя неделю уже блоки делаю, о чем раньше только мечтал и ждал пока кто то сделает.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Evgesha Дата: Пятница, 12.02.2016, 18:50 | Сообщение # 9
Подполковник
Группа: Проверенные
Сообщений: 257
Награды: 3
Репутация: 3
Статус: Offline
Сергей немогли бы выложить библиотеку, у меня ошибки при компиляции, то glcdfont ненаходит то еще ....
спасибо
 
Сергей Дата: Суббота, 13.02.2016, 01:43 | Сообщение # 10
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
Evgesha, там же их две надо!

Дисплей покупал здесь - 9,44$ но не советую. Дорого и SPI. 
Вот тут в разы дешевле и вроде I2C
Прикрепления: Adafruit-GFX-Li.zip(277Kb) · Adafruit_SSD130.zip(22Kb)


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
vovka1973 Дата: Понедельник, 07.03.2016, 14:39 | Сообщение # 11
Подполковник
Группа: Проверенные
Сообщений: 234
Награды: 2
Репутация: 1
Статус: Offline
Можете выложить пример, вывод температуры или просто слово, не пойму как блоком пользоваться .

 
robocraft Дата: Пятница, 09.12.2016, 13:04 | Сообщение # 12
Лейтенант
Группа: Проверенные
Сообщений: 74
Награды: 0
Репутация: 0
Статус: Offline
Как подключить I2C? И желательно пример работы блока.

☃ Loading... ██████████████] 99%

Сообщение отредактировал robocraft - Пятница, 09.12.2016, 13:05
 
hrach Дата: Пятница, 09.12.2016, 15:14 | Сообщение # 13
Полковник
Группа: Проверенные
Сообщений: 176
Награды: 14
Репутация: 4
Статус: Offline
Цитатаrobocraft ()
Как подключить I2C? И желательно пример работы блока.

Пример подключение.



http://arduinoprom.ru/
 
Сергей Дата: Пятница, 09.12.2016, 23:25 | Сообщение # 14
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
Цитатаrobocraft ()
Как подключить I2C? И желательно пример работы блока
Доделываю проект с дисплеем, выложу потом проект и видео работы. Переделал переносной обогреватель электролюкс. Там электроника сдохла.
Цитатаvovka1973 ()
Можете выложить пример, вывод температуры
как раз и вывод температуры есть.
 
Блоки, те что раньше выкладывал не очень пригодны, т. к. просто выводят текст и т. д. А при работе в реальном проекте необходимо менять содержимое экрана, при чем не одновременно, а выбранные объекты. При добавлении текста, новый текст накладывается на старый. А при использовании функции очистки дисплея, он постоянно моргает, обновляется... Не очень приятно смотреть. Переделал блоки вывода текста так, что бы при установки En, поданный на вход текст выводился. При изменении текста обновляется сам текст, а не весь экран. Сделал это таким способом: если En=1, при изменении текста, сначала выводится старая строка только черным шрифтом (таким образом старый текст просто убирается), а после этого сразу выводится новый текст.
Блоки в проекте потом выложу. Еще надо доработать блок чтобы текст корректно обновлялся при изменении координат начала строки на входе блока. Но это через недельку (работы на работе много).


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Сергей Дата: Пятница, 09.12.2016, 23:58 | Сообщение # 15
Модератор
Группа: Администраторы
Сообщений: 535
Награды: 18
Репутация: 7
Статус: Offline
ЦитатаEvgesha ()
Сергей немогли бы выложить библиотеку, у меня ошибки при компиляции
Во-первых стандартную библиотеку (Adafruit_SSD1306) необходимо отредактировать. Она настроена на 32-х строчный экран. Без этого на 64-х строчном экране картинка будет растянута и отображать через строку. А кадр будет выходить за нижние пределы экрана.
И попробуйте залить сначала стандартный скетч из примеров.
В файлике Adafruit_SSD1306.h, необходимо сделать как на рисунке
Редактирование библиотеки
Находится этот файлик в папке с библиотеками, только не с программой, а в документах пользователя.
Спустя пол года сам все забыл и заново разбирался что к чему)


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Форум » Основной » Железо - контроллеры, шилды, датчики и др. » Дисплеи и индикаторы » OLED дисплей 128х64 SPI - пользовательский блок на Си (просьба потестить)
Страница 1 из 3123»
Поиск:

FLProg © 2017
Яндекс.Метрика