TFT nokia 1661

fivist
Offline
Зарегистрирован: 30.01.2014

Имеется собственно дисплей от этого телефона. Судя по найденной инфе он почти такой же как и 1616. Может у кого есть схема подключения к Атмега168 и рабочий пример скетча,  чтоб проверить работоспособность?

axill
Offline
Зарегистрирован: 05.09.2011

Я писал статью на радиокоте, легко найдете

там пример на Си, но его не сложно и на ардуино запустить

fivist
Offline
Зарегистрирован: 30.01.2014

Подскажите такая схема мне подойдет для самодельной ардуинки на Атмега168. И какуб либо надо использовать чтоб запустить простой примерчик вывода текста и графики? пишу пока все в Arduino IDE - так как для новичка попроще...

 

fivist
Offline
Зарегистрирован: 30.01.2014

Всем доброго времени. в общем слепил я схемку, что выше в посте, только без тех штук.. которые НТ7233 и ИРМЛ6302. Подключаю экран по такой схеме (цыфрами обозначил номер ножки Atmega168PA): RES - 5, CS - 6, MOSi - 17, SCK - 19. правильно ли я все делаю? Я тупо скопировал код из соседне темы по ЛСД 1202, у меня экран просто моргал... (я думал что хоть для проверки подойдет..)

Уважаемые, если не трудно, простой пример в среде ARDUINO IDE, накатайте пожалуйста, чтобы просто принцип понять, как и какую надо(можно) либу использовать, а то совсем уже запутался... всем заранее спасибо...

 

fivist
Offline
Зарегистрирован: 30.01.2014

Короче получилось его подключть! НО не к самодельной а к Ардуино НАНО 3.0.... использую либу UTFT. какой контроллер имеет данній єкран так и не понял. методам перебора, при инициализации єкрана, запустилось с такими настройками

UTFT myGLCD(HX8340B_S,11,12,10,9);

так же пришлось подправить файлы либы. так как разрешение моего 128х160, а у того что выбрал немного больше.

теперь собственно пару вопросов,( просьба за тупые вопросы не пинать... я тока учусь..)

1 - Я так понимаю что монитор подключается по SPI шине! так же есть HW SPI и SW SPI. Судя по ногам к которым у меня подключенно используется программная реализация. Даст ли мне какое то преимущество если перепаять на аппаратную шину, имеется ввиду скорость отрисовки текста и изображений. потому как они очень медленно отрисовываются. и на какие надо правильно перепаять?

2 - я не могу понять почему иногда не стартует монитор - просто горит подсветка и все. иногда помогает несколько раз нажать ресет, иногда пока не закачаеш скетч заново не помогает! в чем может быть проблема?

и еще - может кто объяснить что ЭТО такое, и как это можно (и нужно ли) изменить корректно для моего дисплея. Это файл из библиотеки arduino-1.0.5-r2\libraries\UTFT\tft_drivers\hx8340b\s\initlcd.h

вот его содержимое:

case HX8340B_S:
	LCD_Write_COM(0xC1); 
	LCD_Write_DATA(0xFF);
	LCD_Write_DATA(0x83);
	LCD_Write_DATA(0x40); 
	LCD_Write_COM(0x11); 
	delay(100);
	LCD_Write_COM(0xCA); 
	LCD_Write_DATA(0x70);
	LCD_Write_DATA(0x00);
	LCD_Write_DATA(0xD9); 
	LCD_Write_DATA(0x01);
	LCD_Write_DATA(0x11); 

	LCD_Write_COM(0xC9); 
	LCD_Write_DATA(0x90);
	LCD_Write_DATA(0x49);
	LCD_Write_DATA(0x10); 
	LCD_Write_DATA(0x28);
	LCD_Write_DATA(0x28); 
	LCD_Write_DATA(0x10); 
	LCD_Write_DATA(0x00); 
	LCD_Write_DATA(0x06);
	delay(20);
	LCD_Write_COM(0xC2); 
	LCD_Write_DATA(0x60);
	LCD_Write_DATA(0x71);
	LCD_Write_DATA(0x01); 
	LCD_Write_DATA(0x0E);
	LCD_Write_DATA(0x05); 
	LCD_Write_DATA(0x02); 
	LCD_Write_DATA(0x09); 
	LCD_Write_DATA(0x31);
	LCD_Write_DATA(0x0A);
  
	LCD_Write_COM(0xc3); 
	LCD_Write_DATA(0x67);
	LCD_Write_DATA(0x30);
	LCD_Write_DATA(0x61); 
	LCD_Write_DATA(0x17);
	LCD_Write_DATA(0x48); 
	LCD_Write_DATA(0x07); 
	LCD_Write_DATA(0x05); 
	LCD_Write_DATA(0x33); 
	delay(10);
	LCD_Write_COM(0xB5); 
	LCD_Write_DATA(0x35);
	LCD_Write_DATA(0x20);
	LCD_Write_DATA(0x45); 

	LCD_Write_COM(0xB4); 
	LCD_Write_DATA(0x33);
	LCD_Write_DATA(0x25);
	LCD_Write_DATA(0x4c); 
	delay(10);
	LCD_Write_COM(0x3a); 
	LCD_Write_DATA(0x05);
	LCD_Write_COM(0x29); 
	delay(10);
	LCD_Write_COM(0x2a); 
	LCD_Write_DATA(0x00);
	LCD_Write_DATA(0x00);
	LCD_Write_DATA(0x00); 
	LCD_Write_DATA(0xaf); 
	LCD_Write_COM(0x2b); 
	LCD_Write_DATA(0x00);
	LCD_Write_DATA(0x00);
	LCD_Write_DATA(0x00); 
	LCD_Write_DATA(0xdb); 
	LCD_Write_COM(0x2c); 
	break;

 

 

axill
Offline
Зарегистрирован: 05.09.2011

вам повезло что HX8340B имеет схожие команды. У дисплея на самом деле контроллер SPFD54124B (http://radiokot.ru/articles/53)

чтобы заработал железный SPI нужно не только провода перепаять, но и библиотеку переписать

но и тут будет засада - дисплей хочет 9-ти битный SPI, а МК ардуинки умеет только 8-ми битный

fivist
Offline
Зарегистрирован: 30.01.2014

axill пишет:

вам повезло что HX8340B имеет схожие команды. У дисплея на самом деле контроллер SPFD54124B (http://radiokot.ru/articles/53)

чтобы заработал железный SPI нужно не только провода перепаять, но и библиотеку переписать

но и тут будет засада - дисплей хочет 9-ти битный SPI, а МК ардуинки умеет только 8-ми битный

 

Посибо за разъяснение, а то уже хотел перепаять. Странно что у меня щас экран уже не работает, я ни чего не делал, просто включил и выключил питание, теперь просто горит подсветка. один раз удалось запустить через резет, и все. может надо как то инициализацию монитора по другому делать, я просто не силен в таки деталях. может подскажите?

axill
Offline
Зарегистрирован: 05.09.2011

Я вам ссылку дал, там есть рабочая библиотека. Она на Си. Хотите напрямую ее прикрутите, хотите перепишитеина С++ для ардуино. В обоих случаях примеров в сети как делать первое или второе полно, надо только начать читать. Путь перебора всего и вся без понимания которому вы по следовали не есть хороший выбор)

fivist
Offline
Зарегистрирован: 30.01.2014

axill пишет:

Я вам ссылку дал, там есть рабочая библиотека. Она на Си. Хотите напрямую ее прикрутите, хотите перепишитеина С++ для ардуино. В обоих случаях примеров в сети как делать первое или второе полно, надо только начать читать. Путь перебора всего и вся без понимания которому вы по следовали не есть хороший выбор)

Огромное ПОСИБО!! Библиотека после поправок запустилась в Arduino IDE - моник определяется сразу и нормально функционирует, текст выводится на УРА!!!. есть несколько вопросов:

как вывести на экран данные из String(интересует вывод переменной типа int, float)? как правильно создать свой шрифт? И такой не скромный вопрос - Вы либу с поддержкой графики допилили?

axill
Offline
Зарегистрирован: 05.09.2011

не допиливал

рекомендую форматирование делать используя sprintf()

например

char buf[20];

float f = 4.4;
sprintf(buf, "%2.2f", f);

 главное правильно расчитать размер buf чтобы не было выхода за пределы массива

Iwan73
Offline
Зарегистрирован: 02.11.2013

 fivist   Поделитесь пожалуйста Вашей библиотекой для дисплея 1661 и каким нибудь примером. Хочется подключить и посмотреть как оно работает,а то может на 1202 так и останусь.

fivist
Offline
Зарегистрирован: 30.01.2014

Какую именно, если ту что с радиокот.ру  - то там ее надо просто правильно подключить (заголовочные файлы). Либа отличная, занимает мало места, текст выводит быстро, только шрифт 1 и то мелкий. а вот с UTFT немного складнее. да еще и либа весит много, текст выводит медленно, монитор не всегда стартует - горит подсветка и все. Скинуть могу два проэкта  для Arduino IDE, только позже.

Iwan73
Offline
Зарегистрирован: 02.11.2013

с радиокот.ру  с примерчиком. 

fivist
Offline
Зарегистрирован: 30.01.2014

Извеняюсь что так долго - поздно с работы приходил (. Вот рабочий пример.... э.э.м.. а как тут файл прилепить?

Iwan73
Offline
Зарегистрирован: 02.11.2013

fivist  если можно на почту wandub@mail.ru

Iwan73
Offline
Зарегистрирован: 02.11.2013

Подскажите как с крупным шрифтом на этот дисплейчик успехи у людей,кто нибудь уже пробовал. С сайта радиокот.ру 5х7 выводится но мелкий слишком,а как увеличить не соображу. сами символы шрифта 16х32  сгенерил програмками а как все связать в кучу не шарю пока.