logo
Отправить сообщение
  • Russian
Главная страница Новости

новости компании о Различные способы использования модулей OLED

Сертификация
КИТАЙ Shenzhen Saef Technology Ltd. Сертификаты
КИТАЙ Shenzhen Saef Technology Ltd. Сертификаты
Просмотрения клиента
Очень быстрый ответ на электронную почту и после оплаты проверенный товар был отправлен экспрессным авиаперевозом и получен в течение нескольких дней.Предметы были совершенно новыми в хорошем состоянии и даже были сварными, что является большим плюсом.Очень довольна в целом и буду покупать снова!

—— Андреас Андерсонс

Как всегда, 100% лучший сервис...

—— Evto-WEb Aps. Дания

Дисплей яркий! Работал как ожидалось с использованием библиотек из Adafruit упоминается в других обзорах. Также должен использовать настройку SPI_MODE3 в Init. Я использовал Arduino Nano, VCC до 5V и BKL до 3.3В. (PN: SFTM130JY-7181AN)

—— Ричард Инграм

Оно прямо вверх по монитору HDMI с Микро-USB для управлений силы и касания. Один причудливый фокус что оно монитор касания 5 пунктов (емкостный) поэтому он работает как раз как телефон или экран ноутбука с кранами, сопротивлениями, щипками и другими жестами касания. Когда в выдвинутом режиме и переключенном к их родным разрешениям и дисплею был славен и остер.

—— Darkwynd

Здравствуйте, Янко. Надеюсь, ты в порядке. Мы были очень довольны качеством предыдущей партии 2,42 дюймовых OLED-дисплеев, которые мы принесли от вас (см. ниже). Мы хотели бы сделать очередной заказ на XXXX штук.

—— Либби.

Я имею эту установку как монитор для системы безопасности. Она работает отлично после того как я сделал некоторую диагностику.

—— Кормила Майкл

Превосходная работа! Спасибо Я буду держать вашу компанию в контакте для следующего。 заказов

—— DEMAC S.A.

Полно больший монитор. Я коммивояжер и смотрел портативный монитор что я смог принять со мной для того чтобы сделать мою работу более эффективным. Общее впечатленное с продуктом. Экран выглядит хорошим, отзывчив, и цвета/сметливость хороши.

—— J Rau

Внушительный маленький монитор для моих проектов.

—— Дэниэл Шампань

Я получил образцы в течение недели. Очень быстрая доставка. Это очень хороший дисплей. Очень четкий с хорошим контрастом. Угол обзора немного лучше, чем некоторые из других дисплеев, которые я использовал.

—— Джордж Б

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

—— Это

Достаточно легко настроить, и хорошие цвета. Чистый черный идеально подходит, как и ожидалось от OLED. Единственная проблема, с которой я столкнулся, - это запись на пиксель - для полного обновления моей настройки требуется около 1,5 секунды.

—— Райан Джеймс

Отличные экраны - были хорошо упакованы и отлично работали!

—— Флетчер

Сначала мы заказали пробную партию из 10 штук, потом дважды из 1000 штук, а теперь 3000 штук.

—— Josh

Привет, Кристина. Продукт, который мы заказали, OLED 3,12 дюймовый дисплей, теперь прошел испытания и все работало идеально, 100%. Очень довольны продуктом, быстрой доставкой и отличным обслуживанием клиентов. Поздравляю. Андреас

—— Андреас Андерсонс

Я работаю над мобильной развлекательной системой с открытым исходным кодом Reflections и мне нужен яркий дисплей для приложения для наручных часов.и быстро прислал мне детали.- Фрэнк.

—— Откровенный

Это очень хороший продукт. es el equipo de profesionales que tiene esta empresa que responden de forma muy profesional y amable a cualquier reto que se presenta para la puesta en marcha y desarrollo de los proyectos que se realizan con estas pantallasБольшое спасибо за всё.

—— Эрик М.

Очень приятно иметь дело с этой компанией. Профессиональный, быстрый и прямолинейный на протяжении всего процесса

—— Джозеф Вудкок

Прекрасно, спасибо!

—— Уильям Клейн

Уход поставщика был превосходным с первого дня. доставка была очень быстрой. большое спасибо за все.

—— Питер Францке

Превосходное качество

—— Тисаг Чейз

Это был наш первый раз здесь. Это был плавный и легкий процесс. Это не будет наш последний заказ.

—— Иордания L

Очень удовлетворенный

—— Джеф

Они прибыли вовремя и качество было потрясающим.

—— Николо

Хорошие люди, очень полезные.

—— Валентино

Очень хороший ЖК и очень четкая картина.

—— Шарлотта.

Качество продукта соответствовало ожиданиям, очень рекомендуется и поставщик очень быстро отвечает на вопросы.

—— Элисса Деккер

Высокое разрешение, высокая яркость и маленькая HDMI-карта, которая работает безупречно.

—— Виртуорий

Продукт был доставлен вовремя и без повреждений.

—— Брук.

Отличная продукция. Поставщик очень отзывчивый! Мы заказываем еще 2500.

—— Гао Ванг

Часть платежа была загружена и получена вовремя.

—— Стефани Джейд

Поставщик был очень полезен, и товар пришел сразу.

—— Стейси

Этот поставщик нашел лучшее решение, которое отвечает нашим требованиям.

—— Алекс Бауэрс

Отличный продукт.

—— Nick

Очень хорошая поддержка

—— Тейлор Д. Фюселл

Дисплеи работают как ожидалось, очень хорошая упаковка и быстрая доставка.

—— Гиннарт

И мы нацелены на этого поставщика, который является нашим основным поставщиком дисплеев.

—— Сара

Квалифицированные поставщики, хорошие сроки доставки и хорошее качество, продолжат сотрудничать.

—— Хосе Санчес

Отличное качество и быстрая доставка.

—— Малибугал

Привет, Кёльн, спасибо за ваши добрые отзывы, да, Windows все в одном сенсорном экране, мы по умолчанию 2.4G Wi-Fi только, Если вам нужен BT и 5G Wi-Fi, нужно сказать мне заранее. Желаю вам всего наилучшего ~

—— Фредерик Браун

Хороший продавец, я получаю каждый раз экран хорошего качества.

—— Йоахим Ванджи

Оставьте нам сообщение
компания Новости
Различные способы использования модулей OLED
последние новости компании о Различные способы использования модулей OLED

Понимание принципа OLED-дисплея - различные способы использования OLED-модулей

Модуль OLED имеет четыре режима работы, а именно 6800 и 8080 параллельных интерфейсов, 4-проводной серийный режим интерфейса SPI и режим интерфейса IIC.Связь между настройками BS1/BS2 и режимом интерфейса модуля показана в следующей таблице::

последние новости компании о Различные способы использования модулей OLED  0

По умолчанию настройка OLED-модуля SAEF Technology - BS0 до GND, BS1 и BS2 до VCC (режим 8080), если вы хотите настроить его на другие режимы,Вы должны изменить настройки BS0-BS2 с помощью паяльного железа на задней стороне OLED(Изменение оборудования)
Из схемы мы можем узнать, что в общей сложности 16 штифтов вытянуты, и из 16 линий мы использовали только 15 штифтов, и одна из них висит.и осталось 13. В разных режимах, количество сигнальных линий нам нужно различно, в режиме 8080, все 13 необходимы, один из которых является общим, то есть линия сброса RST (RES),который мы можем напрямую подключить к перезагрузке MCU (чтобы подтвердить, что метод перезагрузки является тем же)В режиме IIC, нужны только 2 строки!

Мы только что узнали об этом. Рабочий режим IIC требует только двух линий, и рабочий режим IIC состоит в том, чтобы использовать два провода для имитации IIC для получения данных.

 

OLED-контроллер является SSD1306, то есть: обнаженный экран управляется SSD1306, который также является более широко используемым чипом драйвера с светодиодом.

 

Видеопамять OLED-модуля
Сама OLED не имеет видеопамяти, и ее видеопамять зависит от SSD1306. Общая память SSD1306 составляет 128 * 64 бит, а SSD1306 делит память на 8 страниц.Каждая страница содержит 128 байтов, в общей сложности 8 страниц, что соответствует размеру матрицы из 128*64 точек.
Однако, поскольку OLED не может контролировать одну матрицу точек одновременно, он может контролировать только матрицу 8 точек; и это вертикальное управление стережкой;
Поскольку каждая запись записывается байтами, возникает проблема, если мы используем режим только записи для работы модуля, то мы должны писать 8 точек за раз, так что когда мы рисуем точку,мы должны выяснить текущее состояние каждого бита байта, где точка, которая должна быть установлена расположена (0/1В противном случае, записанные данные будут перезаписываться предыдущим состоянием, и результатом будет то, что некоторые точки, которые не должны быть отображены, отображаются,или те, которые должны быть отображены не отображаютсяВ читаемом режиме мы можем сначала прочитать байт, который нужно записать, получить текущую ситуацию, а затем записать его в грамм после модификации бита, который нужно переписать,чтобы не повлиять на прежнюю ситуацию.Однако для этого требуется возможность чтения GRAM, для 3-проводной или 4-проводной SPI-режима модуль не поддерживает чтение, а режим чтения->-to->-write также относительно медленный.
Итак, метод, который мы используем, это создать OLED GRAM (всего 128 байтов) внутри STM32, и при каждой модификации, только модифицировать GRAM на STM32 (на самом деле SRAM), и после модификации,записывать GRAM на STM32 на OLED GRAM одновременноКонечно, этот метод имеет и недостатки, т. е. для тех микроконтроллеров с очень маленькой SRAM (таких как 51 серия), он более проблематичен.

 

Видеопамять OLED
Формат хранения следующий:

1 2 3... 127

//[1]0 1 2 3... 127

//[2]0 1 2 3... 127

//[3]0 1 2 3... 127

//[4]0 1 2 3... 127

//[5]0 1 2 3... 127

//[6]0 1 2 3... 127

//[7]0 1 2 3... 127

u16 OLED_GRAM[128][8];

Обновление видеопамяти на ЖК-дисплей

void OLED_Refresh_Gram (недействительно)

{

u8 i,n;

for ((i=0; i<8; i++)

{

OLED_WR_Byte (0xb0+i,OLED_CMD); Установите адрес страницы (0~7)

OLED_WR_Byte (0x00,OLED_CMD); Установите положение отображения  нижний адрес столбца

OLED_WR_Byte (0x10,OLED_CMD); Установите местоположение отображения

for ((n=0; n<128; n++)OLED_WR_Byte ((OLED_GRAM[n][i],OLED_DATA);

}

}

Команда SSD1306

1: команда 0X81: Установите контраст. Содержит два байта, первый 0X81 - это команда, а следующий один байт - это значение контраста, которое должно быть установлено. Чем больше это значение установлено,чем ярче будет экран.
2: команда 0XAE/0XAF: 0XAE для выключения команды отображения; 0XAF для включения команды отображения.
3: команда 0X8D: содержит 2 байта, первый - это командное слово, второй - это значение набора, второй байт BIT2 указывает на состояние переключения насоса зарядки, бит равен 1,зарядное насос включенКогда модуль инициируется, это должно быть включено, иначе вы не увидите дисплей.
4: команда 0XB0~B7: используется для установки адреса страницы, а три нижних цифры соответствуют адресу страницы GRAM.
5: команда 0X00~0X0F: используется для установки нижних четырех цифр адреса начальной колонки при отображении.
6: команда 0X10~0X1F: используется для установки адреса начальной колонки дисплея на четыре цифры выше.

Для получения дополнительных команд, пожалуйста, обратитесь к этому, это настоятельно рекомендуется посмотреть его, это очень подробно: SSD1306 (OLED драйвер чип) инструкции в деталях

После введения режима работы и драйвера чипа, мы можем начать использовать этот IIC OLED модуль

Подробный код
#define OLED_CMD 0 // запись команды
#define OLED_DATA 1 //Запишите данные

 

Инициализировать OLED

Инициализировать SSD1306

void OLED_Init (недействительный)

 

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); Включить часы на портах A

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; вывод подталкивания

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; скорость 50MHz

GPIO_Init ((GPIOA, &GPIO_InitStructure); инициировать GPIO

GPIO_SetBits ((GPIOA,GPIO_Pin_5 в соответствии с GPIO_Pin_7);

delay_ms(200);

 

OLED_WR_Byte ((0xAE,OLED_CMD);//-- отображение отключено

OLED_WR_Byte ((0x00,OLED_CMD);//---установить адрес низкой колонки

OLED_WR_Byte ((0x10,OLED_CMD);//---установить высокий адрес столбца

OLED_WR_Byte ((0x40,OLED_CMD);//--установить начальный адрес строки

OLED_WR_Byte ((0xB0,OLED_CMD);//--установите адрес страницы

OLED_WR_Byte ((0x81,OLED_CMD); // Контроль контракта

ОЛЕД_ВР_Байт ((0xFF,OLED_CMD);//--128

OLED_WR_Byte ((0xA1,OLED_CMD);//ремаркация набора сегментов

OLED_WR_Byte ((0xA6,OLED_CMD);//-- нормальный / обратный

OLED_WR_Byte ((0xA8,OLED_CMD);//--соотношение мультиплекса ((1 до 64)

OLED_WR_Byte ((0x3F,OLED_CMD);//--1/32 должность

OLED_WR_Byte ((0xC8,OLED_CMD);//Com направление сканирования

OLED_WR_Byte ((0xD3,OLED_CMD);//-set display offset

OLED_WR_Byte ((0x00,OLED_CMD);//

 

OLED_WR_Byte ((0xD5,OLED_CMD);//set osc division

OLED_WR_Byte ((0x80,OLED_CMD);//

 

OLED_WR_Byte ((0xD8,OLED_CMD);//заключить режим цвета области

OLED_WR_Byte ((0x05,OLED_CMD);//

 

OLED_WR_Byte ((0xD9,OLED_CMD);//Установите период предварительной зарядки

OLED_WR_Byte ((0xF1,OLED_CMD);//

 

OLED_WR_Byte ((0xDA,OLED_CMD);//создание конфигурации

OLED_WR_Byte ((0x12,OLED_CMD);//

 

OLED_WR_Byte ((0xDB,OLED_CMD);//set Vcomh

OLED_WR_Byte ((0x30,OLED_CMD);//

 

OLED_WR_Byte ((0x8D,OLED_CMD);//запустить насос зарядки

OLED_WR_Byte ((0x14,OLED_CMD);//

 

OLED_WR_Byte ((0xAF,OLED_CMD);//-- включить OLED-панель}

OLED_Clear ((); Очистить экран, рекомендуется очистить экран сначала после каждой инициализации завершена

 

Функция очистки экрана, после очистки экрана весь экран становится черным!

void OLED_Clear (недействительный)

{

u8 i,n;

for ((i=0; i<8; i++)

{

OLED_WR_Byte (0xb0+i,OLED_CMD); Установите адрес страницы (0~7)

OLED_WR_Byte (0x00,OLED_CMD); Установите положение отображения  нижний адрес столбца

OLED_WR_Byte (0x10,OLED_CMD); Установите местоположение отображения

for ((n=0; n<128; n++)OLED_WR_Byte(0,OLED_DATA);

} // Обновить дисплей

}

В самомодуле, который мы обычно используем, есть два распространенных способа взять модульный, один из которых 6 * 8, а другой - 8 * 16,Первый из них - это извлечь нужные символы из прямоугольной таблицы с 8 рядами и 6 столбцами.Как написано в комментарии к коду ниже, поскольку в OLED есть только 8 строк на страницу,нужно использовать пространство для следующей страницыИтак, у нас есть размер шрифта, который мы обычно используем, конечно, это часто используемые размеры шрифта, мы также можем сделать свой любимый размер шрифта через программное обеспечение модуляции символов.

 

/* Показывает символ в указанном месте, включая некоторые символы

x:0~127

y:0~63

Размер: Выберите шрифт 16/12*/

void OLED_ShowChar ((u8 x,u8 y,u8 chr,u8 Char_Size)

{

не подписанный char c=0,i=0;

c=chr-' '; значение смещения можно получить из шаблона шрифта, первый из которых является " ", и соответствующий символ можно получить путем вычитания

if(x>Max_Column-1) {x=0; y=y+2; } //Max_Column: Максимальная колонка: 128; x: установить количество колонк; y: установить количество страниц

if(Char_Size ==16) // В этом случае требуется одна и та же колонка из двух страниц, и требуется матрица точек 8*16

{

OLED_Set_Pos(x,y); Если x = y = 2, то установить его в колонке 3 на странице 3, примечание: есть только восемь строк на странице

for ((i=0; i<8; i++)

OLED_WR_Byte ((F8X16[c*16+i],OLED_DATA); увеличивая i, точки рисуются в петлю, и все 8 строк второй колонки на странице 2 записываются в данные

OLED_Set_Pos(x,y+1); Поскольку количество точек недостаточно, вам нужно продолжить точки в колонке 2 на странице 3

for ((i=0; i<8; i++)

OLED_WR_Byte ((F8X16[c*16+i+8],OLED_DATA); Продолжайте завершать рисунок до конца пункта 16.

}

иное

{

OLED_Set_Pos ((x,y); матрица с точками 6x8, не требуется другие страницы для продолжения рисования

for ((i=0; i<6; i++)

OLED_WR_Byte ((F6x8[c][i],OLED_DATA); В двумерном массиве C управляет рядами, а I управляет столбцами, поэтому для завершения рисунка не требуются другие операции

}

}

Следующее if(x>120) не является ошибкой, потому что предыдущее x+=8; есть объяснение в следующих примечаниях, так что вы можете подумать об этом.

 

void OLED_ShowString ((u8 x,u8 y,u8 *chr,u8 Char_Size) // Показывает строку

{

не подписанный char j=0;

while (chr[j]!='0') // Проверьте, заканчивается ли строка

{

OLED_ShowChar ((x,y,chr[j],Char_Size); Нарисуйте символы один за другим

x + = 8; x установлен в столбце, размер символа 8 * 16, то есть ряд 16 и столбец 8, и каждый раз, когда он отображается как один, вы должны переместить 8 столбцов в более высокую колонку

if(x>120){x=0; y+=2; } // Максимальный размер 128 столбцов, если он превышен, вам нужно начать с нулевой колонки снова, потому что вам нужны другие страницы, чтобы продолжить рисование в это время,чтобы избежать перекрытия, вам нужно y + = 2.

j++; Нарисуйте строки в петле

}

}

2 числа отображаются, оба написаны в коде ниже, и следует отметить, что "" ниже представляет значение ASCII 32

m^n функция

u32 oled_pow ((u8 m,u8 n)

{

u32 результат=1;

в то время как n-- результат*=m;

результат возврата;

}

Показать 2 числа

x,y: стартовые координаты

len: количество цифр числа

размер: размер шрифта

режим: режим 0, режим заполнения; 1. режим наложения

num: числовое значение (0~4294967295);

void OLED_ShowNum ((u8 x,u8 y,u32 num,u8 len,u8 size2)

{

u8 t,temp;

u8 enshow=0;

для t=0; t

{

temp=(num/oled_pow(10,len-t-1))%10;

if(показать==0&&t<(len-1))

{

если ((temp==0)

{

OLED_ShowChar ((x+(size2/2) *t,y,' ',size2);

продолжать;

}else показывает=1;

 

}

OLED Display Char ((x+(size2/2) *t,y,temp+'0',size2);

}

Выше несколько являются нашим наиболее основным использованием, некоторые Си хотят использовать его для завершения более различных операций, следующее, перед введением,Во-первых, представьте наше часто используемое программное обеспечение для моделирования..

 

ПК на LCD 2002

Вот как это работает!

Когда мы используем его, мы сначала открываем файл в левом верхнем углу и создать новый. Введите нашу ширину и высоту, 6 * 8 или 8 * 16 основаны на этом, чтобы взять форму, вы можете установить размер самостоятельно.В верхнем углу есть что-то вроде передачи.Как показано на рисунке:

Как только у вас есть все на вершине, вы можете нарисовать, что вы хотите. потому что OLED 128 * 64, наш максимальный размер это, мы можем написать на 128 * 64, рисовать, и т.д., что выходит целое изображение,что также способ заполнить экран, а сзади есть своего рода программное обеспечение для имитации, которое получается в виде изображения, например, некоторых аниме-персонажей.

Теперь, когда мы представили инструменты, мы готовы перейти к нашим операциям!

1Нарисуй прямую линию.
Обычно мы используем ту же точку, что и на рисунке ниже, когда мы хотим нарисовать прямую линию, мы всегда получаем точку, это потому, что размер символа, который мы обычно используем, 6 * 8 или 8 * 16,и размер точки внутри не заполняет весь прямоугольник (объяснено выше)Нужно открыть программное обеспечение для персонажей и расширить тему!

2: Показывать фотографии (например, некоторых персонажей аниме)

 

Это кажется немного длинным. Есть больше способов играть, чтобы обновить следующий.

Время Pub : 2024-02-05 04:08:09 >> список новостей
Контактная информация
Shenzhen Saef Technology Ltd.

Контактное лицо: Mrs. Christina

Телефон: +8618922869670

Факс: 86-755-2370-9419

Оставьте вашу заявку (0 / 3000)