Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Приветствую всех! Заюзал данный ПБ, вроде понравилось) Имеет место явление:
не сбрасываются предидущие значения. если, например, вывести трехзначное число, потом на этом же месте вывести двухзначное, то видеть мы будем трехзначное. т.к. третий знак не погас. Например, выводим 99 - видим 99, затем выводим 100- видим 100, потом обратно 99 - увидим 199. Предполагаю, что где-то что-то должно обнуляться... Может знает кто как лечить?, т.к. в коде я нешипко шарю
не сбрасываются предидущие значения. если, например, вывести трехзначное число, потом на этом же месте вывести двухзначное, то видеть мы будем трехзначное. т.к. третий знак не погас. Например, выводим 99 - видим 99, затем выводим 100- видим 100, потом обратно 99 - увидим 199. Предполагаю, что где-то что-то должно обнуляться... Может знает кто как лечить?, т.к. в коде я нешипко шарю
- kulibinsvv
- Лейтенант
- Сообщения: 486
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Проверяйте питание дисплея и контакты подключения (типа "проводок отвалился").
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Dimm , у него в блоке нужно передергивать EN, чтобы стирался текст.
Пример
Пример
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
[ref]aidar_i[/ref], низкий поклон)
Отправлено спустя 10 минут 8 секунд:
Отправлено спустя 10 минут 8 секунд:
правда теперь моргает весь показометр, но опять же не ясно будет это напрягать или нет... эксплуатация покажет
-
- Сержант
- Сообщения: 152
- Зарегистрирован: 07 янв 2019, 16:02
- Имя: Сергей
- Благодарил (а): 5 раз
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
примеры из другой библиотеки работают как надо, так что дело не в проводке.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
В начале темы пишут же про это. Не помогает?
-
- Сержант
- Сообщения: 152
- Зарегистрирован: 07 янв 2019, 16:02
- Имя: Сергей
- Благодарил (а): 5 раз
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
где именно?

Отправлено спустя 17 минут 28 секунд:
C:\Users\sergi\AppData\Local\Temp\flprog\pr1\pr1.ino:5:28: warning: extra tokens at end of #include directive [enabled by default]ivanpost писал(а): 12 дек 2018, 23:59[ref]ivanpost[/ref], Для работы с часами придется заменить библиотеку Wire.h на iarduinoRTC.h. Все в сумме работает очень быстро и ест мало RAM (жалкие 300 байт). флэш -прилично . Так что библиотеки легко можно использовать для 328p. Вот рабочий блок для часов
#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 секунд:
не помогает
-
- Сержант
- Сообщения: 152
- Зарегистрирован: 07 янв 2019, 16:02
- Имя: Сергей
- Благодарил (а): 5 раз
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
В просторах интернета есть много примеров с разными библиотеками. Проверьте, какие Вам нравятся, ПБ для олед дисплеев тоже есть в форуме разные.
Еще попробуйте заменить драйверы [spoiler]https://elchupanibrei.livejournal.com/34751.html[/spoiler]
Еще попробуйте заменить драйверы [spoiler]https://elchupanibrei.livejournal.com/34751.html[/spoiler]
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Накидал блок для теста OLED + ESP8266. Без кириллицы.
Модель дисплея выберите в "редактирование" блока, в DeclareSection, (удалите ненужный или закомментируйте, по умолчанию стоит
#include "SH1106.h"
SH1106 display(adr_disp, pin_SDA, pin_SCK);
Библиотека
Модель дисплея выберите в "редактирование" блока, в DeclareSection, (удалите ненужный или закомментируйте, по умолчанию стоит
#include "SH1106.h"
SH1106 display(adr_disp, pin_SDA, pin_SCK);
Библиотека
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- ingener
- Лейтенант
- Сообщения: 580
- Зарегистрирован: 14 окт 2018, 00:26
- Имя: Андрей
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
А вот вопрос немного не в тему, но касательно дисплея и 12С. Можно ли, если 12С уже впаян в 1602, подключать дисплей напрямую? То есть, к пинам припаивать провода, идущие к выводам Ардуино?
Больно хлопотно выпаивать 12С с дисплея, да и потенциометр яркости уже на месте.
Больно хлопотно выпаивать 12С с дисплея, да и потенциометр яркости уже на месте.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Я думаю, можно, на счёт потенциометра не знаю, надо схему смотреть.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Простите, влезу в тему со своим вопросм, чтоб не создавать новую. Есть возможность купить OLED 128 х 64 с I2C или с SPI (с другими заказами за компанию). Какой из этих интерфейсов проще и удобнее для программирования в ИДЕ и ФЛпрог?
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Мне хватает и нравится I2C.
Отправлено спустя 1 минуту 57 секунд:
1602. Лучше отпаяйте и поставьте разъем.
https://youtu.be/6aAXiRlgEt4
Отправлено спустя 1 час 52 минуты 8 секунд:
Подключил[spoiler] [/spoiler]
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 57 секунд:
1602. Лучше отпаяйте и поставьте разъем.
https://youtu.be/6aAXiRlgEt4
Отправлено спустя 1 час 52 минуты 8 секунд:
Подключил[spoiler] [/spoiler]
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
[ref]aidar_i[/ref],
запустил значит, все ок.
Больше двух строчек можно выводить??
Чет я в дебрях не разобрался))
запустил значит, все ок.
Больше двух строчек можно выводить??
Чет я в дебрях не разобрался))
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Да , работает, сегодня прикрутил кириллицу. Можно добавить строки, сколько влезет.
Может работать и с SPI.
Выложу позже, пока доделываю.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
[spoiler] [/spoiler]
Может работать и с SPI.
Выложу позже, пока доделываю.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Попробуйте легкую библиотеку ASOLED. Я его приспособил и к ESP8266. Он выводит только текст. Отпишитесь на сколько она легче.av писал(а): 03 фев 2019, 11:39Если использовать вместе с ардуиной не советую этот дисплей использовать вообще. Уж очень много ОЗУ съедает не оставляя места для остального алгоритма проекта.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Автор пишет, это плата за "лёгкость". Почитайте его тему.
-
- Рядовой
- Сообщения: 78
- Зарегистрирован: 29 апр 2018, 22:59
- Имя: Александр
Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306
Здравствуйте. Может не совсем в ту тему но по той же тематике. Подскажите пожалуйста почему вот этот блок Автора программы SSD1306 print не отображает кириллицу, хотя автор пишет что он с кириллицей дружит?
Уже не актуально, кириллица появилась.
Админ можете удалить сообщение.
Уже не актуально, кириллица появилась.
Админ можете удалить сообщение.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя