216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
1

Oled+stm32

16.08.2020, 18:26. Показов 2667. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот нашел библиотеку для инициализации и вывода сообщений в дисплей oled 128x64, в библиотеке написано, что она работает под чип ssd1306, но мне больше подходит 128х32, там такой же чип ssd1306, подскажите, можно применить эту библиотеку под 128х32? Насколько я понимаю, библиотека помогает наладить связь именно с ssd1306, а не с самим дисплеем.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2020, 18:26
Ответы с готовыми решениями:

STM32 and SSD1306 oled
hi all! А может кто прикручивал данный дисплей http://www.ebay.com/itm/170929165278 к stm32 ?...

Stm32 HAL OLED WH1602
Всем Добрый день, не могу подключить lcd делаю все как на примере указана только пины другие ссылка...

OLED дисплей Winstar WEH001602 на stm32
Здравствуйте! У меня есть микроконтроллер stm32f767zi на плате NUCLEO-F767ZI и OLED-индикатор...

Общение с барометром MS5540 на STM32 (Arduino to STM32)
Получил от китайца сей аппарат, пошел тут же гуглить что нибудь готовое, но не тут то было....

20
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
16.08.2020, 21:30 2
Цитата Сообщение от mixa88 Посмотреть сообщение
можно применить эту библиотеку под 128х32?
Можно
только картинка будет кастрированная
все дело в том что у 128х32 для вывода на экран используются биты через один 0 2 4 6, по крайней мере у моего дисплея
0
3217 / 2360 / 540
Регистрация: 11.09.2009
Сообщений: 8,597
16.08.2020, 21:34 3
Цитата Сообщение от mixa88 Посмотреть сообщение
Вот нашел библиотеку ...
Кроме вас никто тут не знает, о какой библиотеке речь.

Цитата Сообщение от mixa88 Посмотреть сообщение
мне больше подходит 128х32
Общий подход такой: Открываете даташит на понравившийся вам дисплей и пишете/правите под него код инициализации, управления и вывода.
0
4 / 2 / 3
Регистрация: 07.04.2015
Сообщений: 21
17.08.2020, 13:07 4
Попробуй использовать библиотечку u8g2 на гите найдешь.
Довольно универсальная вещь. Если будут вопросы по использованию - попробую помочь.
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
17.08.2020, 16:28  [ТС] 5
Кстати нашел такую, пока не было времени попробовать , спасибо, если что , буду обращаться
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
28.08.2020, 20:42  [ТС] 6
Пробовал запустить мой Oled 128х32, только один раз за все время увидел на нем кучу хаотично расположенных точек, а потом и вовсе ничего. Только вот не пойму в чем дело, сильно нагревается
0
174 / 66 / 21
Регистрация: 06.07.2017
Сообщений: 353
29.08.2020, 00:50 7
Да-ужж
Без кода и схемы подключения только и остается и
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,864
29.08.2020, 09:05 8
Если нагревается, скорее всего косяк с питанием. Вдруг дисплей расчитан на 3,3В, а вы ему 5В подаете да еще в другой полярности
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
29.08.2020, 10:02  [ТС] 9
Только 3,3в подавал и полярность правильная.
0
3217 / 2360 / 540
Регистрация: 11.09.2009
Сообщений: 8,597
29.08.2020, 11:50 10
Цитата Сообщение от mixa88 Посмотреть сообщение
3,3 В подавал ... сильно нагревается
Что-то из +3,3 или GND не на тот контакт?
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
29.08.2020, 12:32 11
Цитата Сообщение от mixa88 Посмотреть сообщение
Пробовал запустить мой Oled 128х32, только один раз за все время увидел на нем кучу хаотично расположенных точек
Значит подали команды включения, но не очистили содержимое памяти (изначально там рандомными данными память забита).
Цитата Сообщение от mixa88 Посмотреть сообщение
а потом и вовсе ничего
Либо не подали команды включения, либо очистили память.
Цитата Сообщение от mixa88 Посмотреть сообщение
сильно нагревается
Сильно - это субъективное понятие. Все oled-экраны, с которыми я работал немного тёплые. Это нормально.
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
29.08.2020, 17:21  [ТС] 12
Сделал проще, подключил к ардуино, загрузил тестовый скетч-пациент мертв. А греется так, что 3-4сек и убираешь палец, сильно горячо.
0
Эксперт .NET
10530 / 6458 / 1502
Регистрация: 25.05.2015
Сообщений: 19,581
Записей в блоге: 14
29.08.2020, 20:42 13
mixa88, выкладывайте схему. Хотя бы как ардуинщики любят рисовать. С рисунком платы, дисплея, и цветными проводами.
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
29.08.2020, 21:18 14
Цитата Сообщение от mixa88 Посмотреть сообщение
А греется так, что 3-4сек и убираешь палец, сильно горячо.
Если до такой степени, то это явно плохо. Согласен, что без схемы можно только гадать.
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
30.08.2020, 14:42  [ТС] 15
Схема, конечно, очень сложная:
Миниатюры
Oled+stm32  
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
30.08.2020, 14:44  [ТС] 16
На stm соответственно PB6-scl, PB7-sda и те же GND и 3.3V
0
Эксперт .NET
10530 / 6458 / 1502
Регистрация: 25.05.2015
Сообщений: 19,581
Записей в блоге: 14
30.08.2020, 15:10 17
mixa88, ардуинщики схемы так рисуют:
Oled+stm32


Читайте даташит на SSD1306: https://cdn-shop.adafruit.com/... SD1306.pdf
Убедитесь, что при обмене по I2C контроллер дисплея выставляет ACK.

Выкладывайте весь код проекта.
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
30.08.2020, 16:46  [ТС] 18
Ну так я специально подключил к ардуино с готовой библиотекой, насколько я понял это достаточно популярная библиотека, не помню точно как она называется u8g... что-то вроде этого, у всех работает, а у меня одного нет
0
Эксперт .NET
10530 / 6458 / 1502
Регистрация: 25.05.2015
Сообщений: 19,581
Записей в блоге: 14
30.08.2020, 17:39 19
Либо библиотека кривая.
Либо вы неправильно подключили.
Отлаживать надо.

Почему в названии темы STM32? Разве это ардуина?
0
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
15.09.2020, 21:32  [ТС] 20
Все-таки поменял дисплей на 128х64, исправный, все заработало с 1-го раза, но не могу до конца разобраться с библиотекой. Вот мой код (не полный):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
void Display_Temp (float Temp)
{
     SSD1306_Clear();
     char str[6] = {0};
     SSD1306_GotoXY (60,20);
   snprintf(str,6, "%f", Temp);
     SSD1306_Puts (str, &Font_7x10, 1);
     SSD1306_GotoXY (90,20);
     SSD1306_Puts (" C", &Font_7x10, 1);
     SSD1306_UpdateScreen();
}
float Temperature=0;
 
while (1)
  {
    /* USER CODE END WHILE */
      Display_Temp(Temperature)//вот в этом вызове функции дисплей выводит Temperature=0
      Presence = DS18B20_Start ();
      HAL_Delay (1);
      DS18B20_Write (0xCC);  // skip ROM
      DS18B20_Write (0x44);  // convert t
      //HAL_Delay (800);
 
      Presence = DS18B20_Start ();
          HAL_Delay(1);
          DS18B20_Write (0xCC);  // skip ROM
          DS18B20_Write (0xBE);  // Read Scratch-pad
 
    Temp_byte1 = DS18B20_Read();
        Temp_byte2 = DS18B20_Read();
        TEMP = (Temp_byte2<<8)|Temp_byte1;
        HAL_Delay(3000);
      Temperature = (float)TEMP/16;
        Display_Temp(Temperature);// а вот здесь уже ничего не происходит, Temperature все равно остается 0
        //HAL_Delay(1000);
        //Temperature=10;
        //Display_Temp(Temperature);// я думал может что-то с датчиком что-то не так, но все равно Temperature=0
        button();
}
причем если пишу любую последовательность до while (1) все работает, например:
 
int main(void)
{// вот это все выводит без проблем, но после while (1) все ломается
  SSD1306_Init (); // initialize the display 
        SSD1306_GotoXY (10,10); // goto 10, 10
        SSD1306_Puts ("INITIALING>>>>", &Font_7x10, 1);
        SSD1306_UpdateScreen();
        HAL_Delay(2000);
        SSD1306_Clear();
 
        Temperature=10;
        Display_Temp(Temperature);//вот здесь он выведет 10
                HAL_Delay(2000);
                Temperature=22;
        Display_Temp(Temperature);// а здесь выведет 22
0
15.09.2020, 21:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2020, 21:32
Помогаю со студенческими работами здесь

Чем связать STM32 + STM32 в одном корпусе?
Есть 2 платы: (1) - STM32 (Вывод на LCD + запись SD) и (2) - STM32F4 (обработка сигналов +...

STM32F031 + oled ssd1306
Доброго дня. Использую STM32F031 (точнее STSPIN32F0601 на базе STM32F031x6x7). При попытке...

OLED дисплей на sdd1306
Помоги, пожалуйста, найти библиотеку для вывода символов на дисплей с ssd1306 8080 interface,...

Вывод float и int на OLED
Всем привет, решил я к stm32f303 прикрутить oled weh002004, по 4 битной шине. Инициализацию...

OLED дисплей на sdd1306 с STM32F103
Символы выводятся зеркально, подскажите как исправить. #include &quot;stm32f10x.h&quot; #include...

LPC2294 + Winstar WEH001602B via EMC, Работа с дисплеем OLED
Пытаюсь работать в указанной связке в двух вариантах: используя аппаратный EMC, а также выставляя...

Подключение 0.96"yellow blue OLED 128X64 к STM32F103C8
Здравствуйте. Ткните плиз носом на ссылку (или киньте каким-нибудь кодом вывода чего-нибудь на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru