Например TDA7294

Форум РадиоКот • Просмотр темы - OLED на WS0010
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт мар 19, 2024 08:33:56

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 29 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: OLED на WS0010
СообщениеДобавлено: Вс фев 17, 2013 22:00:11 
Встал на лапы
Аватар пользователя

Карма: -4
Рейтинг сообщений: 1
Зарегистрирован: Пн авг 18, 2008 22:08:48
Сообщений: 139
Откуда: г. СПб
Рейтинг сообщения: 0
Добрый вечер.

Приглянулся мне дисплей, OLED зеленый. 76*16 точек. Внутри стоит контроллер ws0010 - аналог известного hd44780, но с бонусом - есть графический режим. Вот с этим режимом и проблема, я в упор не могу сообразить, каким образом идет адресация?

Информации мало, нашел одну тему на easyelectronics. Покурил DS + исходники одного проекта под STM32. В итоге дисплей в граф. режиме запустил, и даже нарисовал вот такую вот штуку.

Изображение

Вот адресация в Graphic Mode из DS
Изображение

Вот код пилы. Уже запутался, какие сдвиги для чего.

Код:
void main(void)
{   
DDRB=0xff;   //Инициализация portB
PORTB=0x00;

/********************************************************

RS  RW  E   D0  D1  D2  D3  D4  D5  D6  D7  -- lcd out
P0  P1  P2  **  **  **  **  P4  P5  P6  P7  -- portb

*********************************************************/
 LCD_Init();       

LCD_WriteCom(0x08);
LCD_WriteCom(0x1F);
LCD_WriteCom(0x01);
LCD_WriteCom(0x08|0x04);

 

   
    y=0x01;
    LCD_WriteCom(0x40 + 0);
    LCD_WriteCom(0x80 + 0);
    for (x=0;x<76; x++) {
        LCD_WriteData((int)(y&0x00FF));
        if ((x & 0x08) == 0) y <<= 1;
        else          y >>= 1;     
    }       
   

while(1)   
{

}


Заранее спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Вс фев 17, 2013 22:32:35 
Друг Кота
Аватар пользователя

Карма: 52
Рейтинг сообщений: 846
Зарегистрирован: Вт сен 07, 2010 03:01:06
Сообщений: 16548
Откуда: Moscow-Izmaylovo
Рейтинг сообщения: 0
BenTechв
Можешь свой дисплей разобрать и сфоткать?

_________________
Лечу лечить WWWашу покалеченную технику.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Вс фев 17, 2013 23:58:47 
Встал на лапы
Аватар пользователя

Карма: -4
Рейтинг сообщений: 1
Зарегистрирован: Пн авг 18, 2008 22:08:48
Сообщений: 139
Откуда: г. СПб
Рейтинг сообщения: 0
Не работал бы - разобрал без проблем, у меня не получается прилепить назад токопроводящую резину, чтобы 100% контакт везде был =).

А с какой целью? Там под дисплеем пустая плата. Поскольку он OLED, то даже "ящика" с подсветкой нет =). Вот только с контроллером засада.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 00:41:50 
Друг Кота
Аватар пользователя

Карма: 52
Рейтинг сообщений: 846
Зарегистрирован: Вт сен 07, 2010 03:01:06
Сообщений: 16548
Откуда: Moscow-Izmaylovo
Рейтинг сообщения: 0

_________________
Лечу лечить WWWашу покалеченную технику.


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 02:41:19 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
BenTech писал(а):
есть графический режим. Вот с этим режимом и проблема, я в упор не могу сообразить, каким образом идет адресация?
Всего 100x16 точек. Адресуются вертикальные колонки по 8 точек (100x2).
По X - адрес DDRAM (0..99). По Y - адрес CGRAM (0..1 +64).
Потом запись байта - 8 точек, сверху бит 0, снизу бит 7.
Всё есть на картинке из спецификации, что вы привели.
Что непонятного то? :)

На сколько я могу судить по коду - по X позиция увеличивается автоматически.

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 11:57:14 
Мучитель микросхем
Аватар пользователя

Карма: 15
Рейтинг сообщений: 87
Зарегистрирован: Вт янв 01, 2013 15:51:19
Сообщений: 499
Откуда: Vilnius
Рейтинг сообщения: 0
...немного не понял, у вас графический дисплей как в приведённой вами ссылке или же алфавитный с возможностью вывода графики? ...это в принципе не одно и то же.
...Если алфавитный то можете посмотреть мой отчётик по эксперементам с графикой. Мой ник там Pajatel.
http://forum.easyelectronics.ru/viewtopic.php?f=9&t=9727


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 14:07:25 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
AFAIK, у ВинСтара есть и графические и символьные на этом контроллере. Отличаются только наличием зазора между участками пикселей соответствующими знакоместу.

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 19:49:10 
Встал на лапы
Аватар пользователя

Карма: -4
Рейтинг сообщений: 1
Зарегистрирован: Пн авг 18, 2008 22:08:48
Сообщений: 139
Откуда: г. СПб
Рейтинг сообщения: 0
У него два режима, текстовый и графический. Я в графическом хочу получить что-то типа этого. В текстовом нет интервалов(т.к. матрица единая). В графическом текст с-но не выводится(зато можно самому сделать свой шрифт и отрисовать в графике).

Изображение

Jurkin да, как вы сделали эту надпись КАКТОТАК в рамочке? Мне нужно сделать нечто подобное.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 23:15:14 
Мучитель микросхем
Аватар пользователя

Карма: 15
Рейтинг сообщений: 87
Зарегистрирован: Вт янв 01, 2013 15:51:19
Сообщений: 499
Откуда: Vilnius
Рейтинг сообщения: 0
BenTech писал(а):
Jurkin да, как вы сделали эту надпись КАКТОТАК в рамочке? Мне нужно сделать нечто подобное.

...млин, и куда подевал свои ваяния, хоть убей, не найду. Писал на асме, код вывода там на скока помнится элементарный, сначала даётся адрес с которого места начинать выводить а потом данные типа 1 байт =8ми точкам и кидаешь эти данные подряд , а он их подряд выводит. Если данных больше к примеру чем область вывода то вывод начинается по кругу. Думаю можно даже примитивную мультипликацию делать.
А готовил я данные - рисовал в какойто элементарной проге, типа "Fast LCD Designer"(если не ошибаюсь :) ) Ну сча ещё пороюсь, ну не мог же я намертво всё поубивать...

..ну вот данные похоже нашёл ("как то так")


Вложения:
kakToTak.rar [421 байт]
Скачиваний: 477
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 23:31:47 
Встал на лапы
Аватар пользователя

Карма: -4
Рейтинг сообщений: 1
Зарегистрирован: Пн авг 18, 2008 22:08:48
Сообщений: 139
Откуда: г. СПб
Рейтинг сообщения: 0
Jurkin спасибо большое за отзывчивость =).

Помучал еще немного, вылезла еще проблема. В теме на easyelectronics в первом посте есть нюанс со смещением строк.

Код:
    WS0010_Command(0x40 + 0);//установка первой строки
    WS0010_Command(0x80 + 0);//установка в начало строки

    WS0010_Command(0x40 + 1);//установка второй строки
    WS0010_Command(0x80 + 0);//установка в начало строки


Собственно мой код:

Код:
  int cgar[76] = {0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,
                0x81,0x81,0x81,0x81,0x81,0x81,0x81,0xFF};


 LCD_Init();
       

LCD_WriteCom(0x08);
LCD_WriteCom(0x1F);
LCD_WriteCom(0x01);
LCD_WriteCom(0x08|0x04);

    LCD_WriteCom(0x40 + 0);//установка первой строки
    LCD_WriteCom(0x80 + 0);//установка в начало строки

    for(x = 0;x<76;x++)
    {
         LCD_WriteData((int)cgar[x]);

    }
    LCD_WriteCom(0x40 + 1);//установка второй строки
        LCD_WriteCom(0x80 + 0);//установка в начало строки
       
        for(x = 0;x<76;x++)
    {
         LCD_WriteData((int)cgar[x]);

    }


В итоге такое гадство, первая строка уезжает за край, а со второй все ОК.

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Пн фев 18, 2013 23:50:01 
Мучитель микросхем
Аватар пользователя

Карма: 15
Рейтинг сообщений: 87
Зарегистрирован: Вт янв 01, 2013 15:51:19
Сообщений: 499
Откуда: Vilnius
Рейтинг сообщения: 0
...не очень шуруплю в Си, но когда я баловался с графикой в асм, никаких проблем со смещением не было. Всё как хотел так и выводилось, другое дело в СИ... может подключаете какую стандатртную библиотеку, а она ужё чёт по своему перетрахивает...

..ну вот нашёл свой кусок кода на асме:
Код:
   LDI temp2,$C8
   LDI R17,$40
   LDI ZL,low(gra*2)
   LDI ZH,high(gra*2)

   RCALL CMD_WR
kr6: LPM R17,Z+
   RCALL DATA_WR
   DEC temp2
   BRNE kr6


gra:
.db $FF,$01,$01,$01,$01,$01,$FD,$FD,$C1,$E1,$3D,$0D,$01,$01,$01,$81,$E1,$FD,$3D,$F9
.db $01,$01,$01,$01,$01,$FD,$FD,$81,$C1,$E1,$1D,$0D,$01,$01,$01,$01,$01,$0D,$0D,$0D
.db $FD,$FD,$0D,$0D,$0D,$01,$F1,$F9,$1D,$0D,$1D,$F9,$F1,$01,$01,$01,$01,$01,$01,$0D
.db $0D,$FD,$FD,$0D,$0D,$0D,$01,$01,$01,$E1,$3D,$79,$E1,$81,$01,$01,$FD,$FD,$01,$C1
.db $7D,$1D,$0D,$01,$01,$01,$FD,$FD,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$FF
.db $FF,$80,$80,$80,$80,$80,$BF,$BF,$81,$80,$9F,$BC,$B0,$80,$B8,$9F,$87,$86,$86,$86
.db $9F,$BC,$B0,$80,$80,$BF,$BF,$83,$81,$87,$BC,$B0,$80,$80,$80,$80,$80,$80,$80,$80
.db $BF,$BF,$80,$80,$80,$80,$8F,$9F,$B8,$B0,$B8,$9F,$8F,$80,$80,$80,$80,$80,$80,$80
.db $80,$BF,$BF,$80,$80,$80,$B0,$BC,$9F,$87,$86,$86,$87,$8F,$BE,$80,$BF,$BF,$87,$83
.db $8F,$9C,$B8,$B0,$80,$80,$B7,$B7,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$FF


...если поясней - передаю команду $40 и после неё 200 штук данных и все дела :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Вт фев 19, 2013 06:35:59 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
BenTech, попробуйте перед установкой первой строки вставить
LCD_WriteCom(0x02);

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Вт фев 19, 2013 10:32:46 
Встал на лапы
Аватар пользователя

Карма: -4
Рейтинг сообщений: 1
Зарегистрирован: Пн авг 18, 2008 22:08:48
Сообщений: 139
Откуда: г. СПб
Рейтинг сообщения: 0
Не помогло. Может быть с контроллером какая неисправность?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Вт фев 19, 2013 12:21:23 
Мучитель микросхем
Аватар пользователя

Карма: 15
Рейтинг сообщений: 87
Зарегистрирован: Вт янв 01, 2013 15:51:19
Сообщений: 499
Откуда: Vilnius
Рейтинг сообщения: 0
...а те данные, что я привёл, если всовываете, тоже всё смещается?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на ws0010
СообщениеДобавлено: Вт фев 19, 2013 13:49:48 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18777
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Прилеплю тему и зацеплюсь. У самого сейчас WEH005016 стоит в разрабатываем девайсе.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на WS0010
СообщениеДобавлено: Вт фев 19, 2013 16:39:21 
Встал на лапы
Аватар пользователя

Карма: -4
Рейтинг сообщений: 1
Зарегистрирован: Пн авг 18, 2008 22:08:48
Сообщений: 139
Откуда: г. СПб
Рейтинг сообщения: 0
Хм, вроде получилось. =)

Изображение

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

Код:
   for(x = 0;x<14;x++) {
      LCD_WriteData((int)0x00);  } 


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на WS0010
СообщениеДобавлено: Ср фев 20, 2013 02:32:42 
Друг Кота
Аватар пользователя

Карма: 52
Рейтинг сообщений: 846
Зарегистрирован: Вт сен 07, 2010 03:01:06
Сообщений: 16548
Откуда: Moscow-Izmaylovo
Рейтинг сообщения: 0
Сторонний вопрос
возможно касабелен и этих оледов

если поставлю графический индикатор вместо знако-синтезирующего
работать будет адекватно во втором режиме? не в графическом.

_________________
Лечу лечить WWWашу покалеченную технику.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на WS0010
СообщениеДобавлено: Ср фев 20, 2013 08:59:09 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18777
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Писали же, у графического нет места между символами. Так что они будут сливаться:
Изображение
Здесь выведено 2555SAAE

Кстати, этот графический 5016 по размеру 1в1 как символьный 0802.
И ещё, символьный OLED тоже может работать в графическом режиме, у него контроллер WIN0010. Но сам я не пробовал.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на WS0010
СообщениеДобавлено: Ср фев 20, 2013 12:42:17 
Друг Кота
Аватар пользователя

Карма: 52
Рейтинг сообщений: 846
Зарегистрирован: Вт сен 07, 2010 03:01:06
Сообщений: 16548
Откуда: Moscow-Izmaylovo
Рейтинг сообщения: 0
Просто хочется где то по дешевше купить хотя бы один (или два) - для посмотреть как это оно там не только снаружи но и в потрахах.
А то не дождёшься.

Это типа графику пытаются изваять на знакосинтезируемых
http://arduino.cc/forum/index.php/topic,44427.0.html

_________________
Лечу лечить WWWашу покалеченную технику.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: OLED на WS0010
СообщениеДобавлено: Ср фев 20, 2013 12:51:38 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18777
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
m.ix писал(а):
Это типа графику пытаются изваять на знакосинтезируемых

Фигня. Вот как надо:


А WEG005016 я брал за 300...350 р. (цена от цвета зависила). Ща их вообще ни у кого в наличии не вижу :(

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y