Например TDA7294

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

Текущее время: Пн авг 04, 2025 15:06:09

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


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



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 231 ]     ... , , , , 12
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Сб окт 29, 2011 21:54:59 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
sachok писал(а):
а что тут думать? 3410 отлично работает, если он оригинал, с китайским проблемы
Проблемы какого характера? Ставил на нокию 3310 - рисует в верхнем левом углу окно 84х48, отображает всё корректно, всё остальное заполнено "мусором".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Вс окт 30, 2011 20:14:20 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
UH9YAA, поделись, пожалуйста, командой сдвига по вертикали, уже всё обыскал.
Нашёл внешнее отличие "китайских" диспов - у "нового поколения" слева вверху отсутствует дуга, все они при подключении к контроллеру с прошивкой под "китайский" вариант смещают изображение на 3 пиксела вверх, оставляя 3 ряда "мусора" внизу. При этом Nokia их распознаёт без проблем и рисует всё корректно. На телефоне при проверке контрастность их немного завышена, с контроллером занижена. Выставляю контраст при инициализации:

void lcd_init (void)
{
// Pull-up on reset pin
lcd_rst_pin = 1;
delay_ms(10);
lcd_rst_pin = 0;
delay_ms(8);
lcd_rst_pin = 1;

// Disable LCD controller
lcd_ce_pin = 1;

lcd_send (0x21, lcd_cmd);
lcd_send (0xC5, lcd_cmd);
lcd_send (0x06, lcd_cmd);
lcd_send (0x13, lcd_cmd); //меняю на 0х14 для поднятия контрастности
lcd_send (0x20, lcd_cmd);
lcd_send (0x0C, lcd_cmd);

// Clear lcd
lcd_clear();
}
Также выявил 2 основные тпричины возникновения "артефактов" - трещина в стекле и неисправность внешнего конденсатора подключаемого к выводу Vout диспа. Я пользую смд керамический на 10мкФ, плата тонкая - 1мм и при приложении усилия кондёр незаметно треснул под металлизацией, с виду вроде и целый, а вот ёмкость тестером намерил аж 275пФ :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Пн окт 31, 2011 12:17:52 
Встал на лапы

Зарегистрирован: Пт дек 10, 2010 18:10:56
Сообщений: 124
Откуда: Барнаул
Рейтинг сообщения: 0
ELcat

Команда сдвига для китайский 3310:
LcdSend( 0x45, LCD_CMD ); // Сдвигаем картинку на 5 пикселей вверх (нестандартная команда китайца, оригинал её игнорирует)
---
Мой вариант (без дуги слева), игнорирует эту команду. Для того, чтобы мой дисп отображал корректно без сдвига с прошивками под оригинальный дисплей, достаточно изменить размер буфера на 102х64 и все! Сдвига никакого не будет. Тоесть, видимо, китайцы улучшили работу контроллера. За контраст спасибо, попробую покрутить, пока успеха так и не добился.
Работаю с экраном через arduino, библиотека PCD8544.

_________________
R9YAG


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Пн окт 31, 2011 19:20:01 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
UH9YAA писал(а):
ELcat

Команда сдвига для китайский 3310:
LcdSend( 0x45, LCD_CMD ); // Сдвигаем картинку на 5 пикселей вверх (нестандартная команда китайца, оригинал её игнорирует)
---
Мой вариант (без дуги слева), игнорирует эту команду. Для того, чтобы мой дисп отображал корректно без сдвига с прошивками под оригинальный дисплей, достаточно изменить размер буфера на 102х64 и все! Сдвига никакого не будет. Тоесть, видимо, китайцы улучшили работу контроллера. За контраст спасибо, попробую покрутить, пока успеха так и не добился.
Работаю с экраном через arduino, библиотека PCD8544.

У меня как раз без дуги слева. Как изменить размер буфера? Речь идёт о буфере в самом экране? Какой командой(ми) это можно сделать? Нужно менять прошивку с "китайца" на "оригинал"? Заранее спасибо...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Пн окт 31, 2011 20:22:54 
Встал на лапы

Зарегистрирован: Пт дек 10, 2010 18:10:56
Сообщений: 124
Откуда: Барнаул
Рейтинг сообщения: 0
ELcat
Нет, в интернете полно библиотек для работы с pcd8544 и в большинстве из них реализована работа с кит. дисплеем и есть возможность задать размер буфера(атмеги). Я проверял на библиотеке для arduino и под winavr из статьи http://we.easyelectronics.ru/lcd_gfx/biblioteka-dlya-raboty-s-displeem-nokia-3310.html только для последней необходимо убрать сдвиг на одну строчку по Y в n3310.c:

y = LoWaterMark / LCD_X_RES + 1; // Устанавливаем начальный адрес y+1 // + 1 убрать
LcdSend( 0x40 | y, LCD_CMD ); // относительно нижней границы LoWaterMark

Ну и там далее нужно закомментировать команду сдвига LcdSend( 0x45, LCD_CMD ), хотя на моем дисплее она и так не работает.

_________________
R9YAG


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Ср ноя 02, 2011 13:17:06 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
ПОЛУЧИЛОСЬ :music: при инициализации засылаем команду сдвига вверх на 5 точек и сдвигаем в программе вывод всех строк на 1: 0->1, 1->2, 2->3...
void lcd_init (void)
{
// Pull-up on reset pin
lcd_rst_pin = 1;
delay_ms(10);
lcd_rst_pin = 0;
delay_ms(8);
lcd_rst_pin = 1;

// Disable LCD controller
lcd_ce_pin = 1;


lcd_send (0x21, lcd_cmd);

lcd_send (0x40+5, lcd_cmd); //Только для китайских экранов без дуги слева сдвиг на 5 точек вверх

lcd_send (0xC5, lcd_cmd);
lcd_send (0x06, lcd_cmd);
lcd_send (0x14, lcd_cmd); //Vbias управляет контрастом, изначально было 0x13
lcd_send (0x20, lcd_cmd);
lcd_send (0x0C, lcd_cmd);

// Clear lcd

lcd_clear();

}
Изображение


Вложения:
12345.jpg [38.93 KiB]
Скачиваний: 6408
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Ср ноя 02, 2011 15:06:07 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 262
Зарегистрирован: Сб фев 20, 2010 03:11:56
Сообщений: 718
Откуда: EU
Рейтинг сообщения: 0
ELcat,а статья, из того что получилось,предвидится?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Ср ноя 02, 2011 16:58:29 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
otus писал(а):
ELcat,а статья, из того что получилось,предвидится?

Не знаю. Делалось вообще-то не "на показ", а для дома - для семьи. Ты уже не первый, кто об этом спрашивает. Может подготовлю статейку. Если что - сообщу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Сб ноя 05, 2011 23:12:58 
Родился

Зарегистрирован: Сб ноя 05, 2011 23:01:56
Сообщений: 1
Рейтинг сообщения: 0
Делаю первые шаги в освоении этого дисплея. До этого был опыт с MT10T7 - десятиразрядный семисегментник.
Есть у меня один купленный, и код из статьи по 3310 с этого сайта у него работает нормально. (Странно все же, работает при #define china и 0 и 1 корректно, хотя китаец все же).
Вопрос появился: какие минимальные действия нужны, чтобы просто залить весь экран черным? Ну то есть, ничего не закрашивая, а просто выполнив команду "all display segments on" из ДШ.
Хватит ли минимальной последовательности:

Выполняем сброс, обнуляя ногу RES дисплея и возвращая ее обратно на HIGH
Конфигурируем FunctionSet: PowerDown=0, Vertical=0/1, H=0
Конфигурируем DisplayControl: D=0, E=1 (это как раз когда все сегменты включены)?

Хватит ли этого, или нужно сначала все доп. настройки провести (смещение, температура, контрастность)?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Вс ноя 06, 2011 22:55:05 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
otus писал(а):
ELcat,а статья, из того что получилось,предвидится?
Только что отправил, ждёмс...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: LCD nokia 3310
СообщениеДобавлено: Пн ноя 21, 2011 15:52:34 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 590
Зарегистрирован: Вт май 19, 2009 09:27:30
Сообщений: 3258
Откуда: Украина
Рейтинг сообщения: 0
Как и обещал, вот: http://www.radiokot.ru/circuit/digital/measure/60/ :)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 231 ]     ... , , , , 12

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


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

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


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

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


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