Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Dimm
Рядовой
Сообщения: 15
Зарегистрирован: 29 ноя 2018, 16:56
Имя: Дмитрий

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение Dimm »

Приветствую всех! Заюзал данный ПБ, вроде понравилось) Имеет место явление:
не сбрасываются предидущие значения. если, например, вывести трехзначное число, потом на этом же месте вывести двухзначное, то видеть мы будем трехзначное. т.к. третий знак не погас. Например, выводим 99 - видим 99, затем выводим 100- видим 100, потом обратно 99 - увидим 199. Предполагаю, что где-то что-то должно обнуляться... Может знает кто как лечить?, т.к. в коде я нешипко шарю
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 486
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение kulibinsvv »

sergii2012 писал(а): 10 янв 2019, 20:12на экране пару цифр и точки
Проверяйте питание дисплея и контакты подключения (типа "проводок отвалился").
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Dimm , у него в блоке нужно передергивать EN, чтобы стирался текст.
Пример
Блок от RedSky.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Dimm
Рядовой
Сообщения: 15
Зарегистрирован: 29 ноя 2018, 16:56
Имя: Дмитрий

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение Dimm »

[ref]aidar_i[/ref], низкий поклон)

Отправлено спустя 10 минут 8 секунд:
aidar_i писал(а): 11 янв 2019, 12:46нужно передергивать EN
правда теперь моргает весь показометр, но опять же не ясно будет это напрягать или нет... эксплуатация покажет
sergii2012
Сержант
Сообщения: 152
Зарегистрирован: 07 янв 2019, 16:02
Имя: Сергей
Благодарил (а): 5 раз

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение sergii2012 »

kulibinsvv писал(а): 11 янв 2019, 12:06
sergii2012 писал(а): 10 янв 2019, 20:12на экране пару цифр и точки
Проверяйте питание дисплея и контакты подключения (типа "проводок отвалился").
примеры из другой библиотеки работают как надо, так что дело не в проводке.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

В начале темы пишут же про это. Не помогает?
sergii2012
Сержант
Сообщения: 152
Зарегистрирован: 07 янв 2019, 16:02
Имя: Сергей
Благодарил (а): 5 раз

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение sergii2012 »

aidar_i писал(а): 12 янв 2019, 10:40В начале темы пишут же про это. Не помогает?
где именно? :smile14:

Отправлено спустя 17 минут 28 секунд:
ivanpost писал(а): 12 дек 2018, 23:59[ref]ivanpost[/ref], Для работы с часами придется заменить библиотеку Wire.h на iarduinoRTC.h. Все в сумме работает очень быстро и ест мало RAM (жалкие 300 байт :smile427: ). флэш -прилично . Так что библиотеки легко можно использовать для 328p. Вот рабочий блок для часов
C:\Users\sergi\AppData\Local\Temp\flprog\pr1\pr1.ino:5:28: warning: extra tokens at end of #include directive [enabled by default]

#include "user_interface.h";

^

In file included from c:\Program Files (x86)\FLProg\ideV2\libraries\iarduino_RTC/iarduino_RTC.h:28:0,

from C:\Users\sergi\AppData\Local\Temp\flprog\pr1\pr1.ino:2:

c:\Program Files (x86)\FLProg\ideV2\libraries\iarduino_RTC/iarduino_RTC_DS1307.h: In member function 'void iarduino_RTC_DS1307::funcBegin(uint32_t)':

c:\Program Files (x86)\FLProg\ideV2\libraries\iarduino_RTC/iarduino_RTC_DS1307.h:65:248: error: 'TWBR' was not declared in this scope

void funcBegin (uint32_t j) /* Установка регистров шины и подтяжка выводов (скорость шины в кГц) */ {pinMode(SDA, INPUT); pinMode(SCL, INPUT); digitalWrite(SDA, 1); digitalWrite(SCL, 1); TWBR=((F_CPU/(j*1000))-16)/2; if(TWBR<10){TWBR=10;} TWSR&=(~(_BV(TWPS1)|_BV(TWPS0))); }

^

c:\Program Files (x86)\FLProg\ideV2\libraries\iarduino_RTC/iarduino_RTC_DS1307.h:65:300: error: 'TWSR' was not declared in this scope

void funcBegin (uint32_t j) /* Установка регистров шины и подтяжка выводов (скорость шины в кГц) */ {pinMode(SDA, INPUT); pinMode(SCL, INPUT); digitalWrite(SDA, 1); digitalWrite(SCL, 1); TWBR=((F_CPU/(j*1000))-16)/2; if(TWBR<10){TWBR=10;} TWSR&=(~(_BV(TWPS1)|_BV(TWPS0))); }

^

In file included from sketch\pr1.ino.cpp:1:0:

c:\Program Files (x86)\FLProg\ideV2\libraries\iarduino_RTC/iarduino_RTC_DS1307.h:65:313: error: 'TWPS1' was not declared in this scope

void funcBegin (uint32_t j) /* Установка регистров шины и подтяжка выводов (скорость шины в кГц) */ {pinMode(SDA, INPUT); pinMode(SCL, INPUT); digitalWrite(SDA, 1); digitalWrite(SCL, 1); TWBR=((F_CPU/(j*1000))-16)/2; if(TWBR<10){TWBR=10;} TWSR&=(~(_BV(TWPS1)|_BV(TWPS0))); }

^

c:\Program Files (x86)\FLProg\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'

Отправлено спустя 1 час 31 минуту 5 секунд:
aidar_i писал(а): 12 янв 2019, 10:40В начале темы пишут же про это. Не помогает?
не помогает
sergii2012
Сержант
Сообщения: 152
Зарегистрирован: 07 янв 2019, 16:02
Имя: Сергей
Благодарил (а): 5 раз

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение sergii2012 »

:smile225: пока не решен вопрос
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

В просторах интернета есть много примеров с разными библиотеками. Проверьте, какие Вам нравятся, ПБ для олед дисплеев тоже есть в форуме разные.
Еще попробуйте заменить драйверы [spoiler]https://elchupanibrei.livejournal.com/34751.html[/spoiler]
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Накидал блок для теста OLED + ESP8266. Без кириллицы.
Модель дисплея выберите в "редактирование" блока, в DeclareSection, (удалите ненужный или закомментируйте, по умолчанию стоит
#include "SH1106.h"
SH1106 display(adr_disp, pin_SDA, pin_SCK);
ESP8266+OLED.flp
Библиотека
esp8266-oled-ssd1306-master.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение ingener »

А вот вопрос немного не в тему, но касательно дисплея и 12С. Можно ли, если 12С уже впаян в 1602, подключать дисплей напрямую? То есть, к пинам припаивать провода, идущие к выводам Ардуино?
Больно хлопотно выпаивать 12С с дисплея, да и потенциометр яркости уже на месте.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Я думаю, можно, на счёт потенциометра не знаю, надо схему смотреть.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение seri0shka »

Простите, влезу в тему со своим вопросм, чтоб не создавать новую. Есть возможность купить OLED 128 х 64 с I2C или с SPI (с другими заказами за компанию). Какой из этих интерфейсов проще и удобнее для программирования в ИДЕ и ФЛпрог?
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Мне хватает и нравится I2C.

Отправлено спустя 1 минуту 57 секунд:
1602. Лучше отпаяйте и поставьте разъем.
https://youtu.be/6aAXiRlgEt4

Отправлено спустя 1 час 52 минуты 8 секунд:
Подключил[spoiler]
IMG_20190202_174402.jpg
[/spoiler]
[spoiler]
IMG_20190202_174424.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение pipapsix »

[ref]aidar_i[/ref],
запустил значит, все ок.
Больше двух строчек можно выводить??
Чет я в дебрях не разобрался))
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Да , работает, сегодня прикрутил кириллицу. Можно добавить строки, сколько влезет.
Может работать и с SPI.
Выложу позже, пока доделываю.
[spoiler]
IMG-20190205-WA0002.jpeg
[/spoiler]
[spoiler]
IMG-20190205-WA0004.jpeg
[/spoiler]
[spoiler]
IMG-20190205-WA0006.jpeg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Выложил сюда.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

av писал(а): 03 фев 2019, 11:39Если использовать вместе с ардуиной не советую этот дисплей использовать вообще. Уж очень много ОЗУ съедает не оставляя места для остального алгоритма проекта.
Попробуйте легкую библиотеку ASOLED. Я его приспособил и к ESP8266. Он выводит только текст.
ASOLED.rar
sketchASOLED.ino
Отпишитесь на сколько она легче.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение aidar_i »

Автор пишет, это плата за "лёгкость". Почитайте его тему.
Shurik2975
Рядовой
Сообщения: 78
Зарегистрирован: 29 апр 2018, 22:59
Имя: Александр

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Сообщение Shurik2975 »

Здравствуйте. Может не совсем в ту тему но по той же тематике. Подскажите пожалуйста почему вот этот блок Автора программы SSD1306 print не отображает кириллицу, хотя автор пишет что он с кириллицей дружит?
Уже не актуально, кириллица появилась.
Админ можете удалить сообщение.
Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя