Arduino и дисплеи от сотиков мобильных телефонов

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 подскажите пожалуйста одну вещь.Есть дисплей от нокия N9 распиновка вроде как у вас в посте 301 на шлейфе написано FPC355WQ152-A-V2 подключил его к ардуино через делитель.Дисплей светиться пытаюсь определить его с помощью ид 5.2.Программа пишет что чип 0.Подскажите где копоть дальше.

Правда не понял что это CS-0 DC-1 WR-2 RD-3

croc19
Offline
Зарегистрирован: 17.02.2017

Выложите фото шлейфа с 2 сторон. 

Я подключаю дисплеи сразу к микроконтроллеру, который запитан от 3.3В. Соответственно не пользуюсь делителями.

Под дисплей делаю плату.

Так как не знаю контроллера дисплея, управляющие сигналы обозначаю цифрами. Как правило из контроллера дисплея

управляющие сигналы выходят последовательно CS - DC(RS) - WR - RD  или наоборот  RD - WR - DS(RS) - CS.

Соответственно я подключаю и читаю 2 варианта. В одном из них получаю ID контроллера. Бывает и не получаю,

тогда тупо последовательно прогоняю инициализации. 

dr-baks
Offline
Зарегистрирован: 26.01.2017
croc19
Offline
Зарегистрирован: 17.02.2017

Если сравнишь фото моего и твоего дисплея, то увидишь, что на моем шина данных и шина управления идут без просвета.

А у твоего между ними две земли и +3В. Возможно у тебя контроллер не 9327 и сигналы управления попробуй перевернуть,

как писал в предыдущем посте. И считай еще раз.

croc19
Offline
Зарегистрирован: 17.02.2017

Завтра попробую посмотреть на прошивку нокии N9 на предмет используемых контроллеров дисплеев.

dr-baks
Offline
Зарегистрирован: 26.01.2017

Подскажите это можно делать в ид5.2 переназначая выхода или надо перекидывать провода.

Tvicks
Offline
Зарегистрирован: 11.05.2017

Ну я рад за тебя, теперь собери надежно и будет тебе счастье. А макетками  как slider  написал лучше не пользоваться у них есть такое, что в нужный момент пропадает контакт. 

croc19
Offline
Зарегистрирован: 17.02.2017

Попробуй переназначить. Должно получиться.

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

Попробуй переназначить. Должно получиться.

Перенаправлял не помогает пишет чип 0

croc19
Offline
Зарегистрирован: 17.02.2017

Пишет во всех регистрах ноли?

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

Пишет во всех регистрах ноли?

Мне кажеться что дисплей сгоревший.

croc19
Offline
Зарегистрирован: 17.02.2017

Почему. Механических повреждений нет?  Питание больше 3.3В подавалось?

Leencore
Offline
Зарегистрирован: 03.11.2017

Мне вот про свой тоже так казалось и не раз, но после теста на доноре всё оказывалось хорошо. Напиши как подключил, на какую ардуину, на какие пины?

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

Почему. Механических повреждений нет?  Питание больше 3.3В подавалось?

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

croc19
Offline
Зарегистрирован: 17.02.2017

Если желание доковырять его не пропало, то Leencore прав, выкладывай фотки и описание как подключал.

slider
Offline
Зарегистрирован: 17.06.2014

dr-baks пишет:

croc19 пишет:

Почему. Механических повреждений нет?  Питание больше 3.3В подавалось?

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

в утиль , и нечего с ним возиться.

Диспы надо брать заведомо исправные.

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

Если желание доковырять его не пропало, то Leencore прав, выкладывай фотки и описание как подключал.

Подключал по видео что выложил forfrends.

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

Если желание доковырять его не пропало, то Leencore прав, выкладывай фотки и описание как подключал.

Может я его подключал не правильно.Я подключал на контакты ардуино мега  с 30 по 37 а надо может было с 22 по 29.

croc19
Offline
Зарегистрирован: 17.02.2017

В фильме была таблица подключения. Смотри внимательно.

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

В фильме была таблица подключения. Смотри внимательно.

Я подключал как было в таблице но это ж подключение по 16битам согласно распиновки дисплея.Я правильно понял или его надо подключать по 8битам.

croc19
Offline
Зарегистрирован: 17.02.2017

Бывают контроллеры дисплея, которые в 8 битном режиме работают не по d0-d7, а по d8-d15/

В принципе идея правильная насчет подключения с 22 по 29. Попробуй.

croc19
Offline
Зарегистрирован: 17.02.2017

В читалке, в скетче написано.

// When using the BREAKOUT BOARD only, use these 8 data lines to the LCD:

и чуть ниже

// For the Arduino Mega, use digital pins 22 through 29

Пробуй.

forfrends
Offline
Зарегистрирован: 24.02.2015

Всем привет!

Имеется дисплей от китайского Samsung S5, который я подключал ранее по 8-мибитной шине: http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=3#comment-216538 и следующие несколько постов.

Я решил его перевести на SPI (4 линии). Для этого используются следующие пины:

Путем перерезания/замыкания дорожек я смог перевести его в SPI, но запустить толком не могу.

Попробовал graphictest от Adafruit через софтварный SPI. Инициализация следующая:

//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
Adafruit_ILI9341 tft = Adafruit_ILI9341(  27,         24,        22,             28,          23,          25);
 
Пин MISO не используется, так как с дисплея не выведен, да и не нужен (по Даташиту). В результате дисплей откликнулся. Правда ооочень медленно. Графический тест очень медленно пошел. Размеры тестового изображения были не на весь екран (разрешение не то было выставлено). С цветовой гаммой что-то было не то. И дисплей мерцал. Ну это все понятно: инит от ILI9341 а у меня ILI9486 (9488).
 
Прошу прощения за качество фоток. Попробовал подставить инит от 9486, но ничего не получилось. Дисплей не откликнулся. К сожалению я с Adafruit дела не имел и не разбираюсь в этой библиотеке.
Пробовал подключить через хардварный SPI:
 
#define TFT_DC 24
#define TFT_CS 27
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
 
Но дисплей молчит. В софтварном SPI используется RESET, но куда его подключать при хардварном SPI? Этого я не понял. В общем не подружился я с Adafruit.

Дальше попробовал использовать библиотеку UTFT. Но с ней все еще хуже... Открываю демо-пример, инит:

//UTFT myGLCD(ILI9341_S4P, SDA, SCL, CS, RST);
UTFT myGLCD(ILI9341_S4P,   22,    28,   27, 23);
 
Дисплей молчит.. Пробовал подставлять различные иниты от ILI9486, но лучшее чего смог добиться - появленияе цветных полос на дисплее:
 
Как подключить к Хардварному SPI - не понятно...
В общем, нужна ваша помощь, особенно с UTFT. С этой библиотекой я работал, и она мне накома. Помогите на ней запустить дисплей через SPI.

 

croc19
Offline
Зарегистрирован: 17.02.2017

А на какой частоте работает SPI?

forfrends
Offline
Зарегистрирован: 24.02.2015

Этого я не знаю. В даташите только это нашел:

 

croc19
Offline
Зарегистрирован: 17.02.2017

В хардварном ресет програмный, через регистр.

slider
Offline
Зарегистрирован: 17.06.2014

forfrends пишет:

Всем привет!

Имеется дисплей от китайского Samsung S5, который я подключал ранее по 8-мибитной шине: http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=3#comment-216538 и следующие несколько постов.

Я решил его перевести на SPI (4 линии). Для этого используются следующие пины:

.....

о, вот это да, что-то новенькое :))) 

вот здесь описывал примеры софтварного и хардварного подключения , попробуй :

http://arduino.ru/forum/apparatnye-voprosy/28-spi-tft-podklyuchenie#comment-160676

скорость вроде получилась как на параллельном 8бит.  (ежели сравнивать 16бит и SPI , то в первом случае время тратится на что  16бит делится на 2 по 8 бит раскидывания по разным портам , и при SPI получается дважды по 8 бит ,( как в случае 8бит, только проще). но максимальная скорость SPI = F/2  т.е. при кварце 16мгц  скорость SPI = 8мгц) . в итоге SPI вроде получилось как на 8бит параллельном. // но это не точно :)))

  в хардварном пин ресета диспа параллелиться с пином ресета ардуины,  лучше через 10к . Иначе (делитель) будет засаживать ардуино , и засаживать программирование её.

// по spi  само прикольно по скорости будет на esp8266  ,и stm32  . примеров в инете статьях и ютубе очень много. и делителей никаких не надо (а хардворное SPI очень критично к точности сигнала)  , попробуйте и черкните что и как получилось :)

//// собственно полно на али и у народа в пользовании tft lcd spi 2.4"  2.8"  ili9341 , тонкости подключения обсосаны в инете. 

вот еще по spi использовали либу ucglib 

http://arduino.ru/forum/apparatnye-voprosy/apparatnoe-podklyuchenie-dislpeya-ili9341

В последней версии UTFT v2.82  были дополнения касательно ili9341 

v2.82 12 Jul 2016 added support for the new 3.2" (Rev2 ILI9341-based) display module from Coldtears
    TFT controllers used only by display modules and shields that have been retired are now disabled by default

но это было просто добавление 16бит режима для него (ранее был только софтовый SPI) . Т.о. аппаратного spi для самого дисплея так и не реализовано по сей день. В принципе кто шарит в C++ , может запросто взять кусок кода аппаратного SPI из адафруита и вкорячить в UTFT. Также нет и поддержки 8бит для ili9341 и ему подобных ili9488 ili9486 ili9481 ili9327 ,... , но для этих случаев есть  utft ili9327 8bit turbo - хорошая и быстрая.

 

////// ого , вопрос то обтирался год назад :) , здесь на 4й странице . #162  comment-216650 .

forfrends,  и так что , где оказался пин SDA ? где что и как ковырнули , сфотайте с линзой хорошо , иль просто цифровым фотиком в режиме макросъемки . и что там 4-line spi  и  3-line spi в чем разница ?

 как я понял в UTFT реализован SPI для диспа только на програмном уровне поэтому очень медленно, т.к. либа тачскрина ужезанимает аппаратный SPI . Исходя из програмных возможностей есть поддержка 3-line SPI, когда не используется пин D/C  (DC data/command) , а он передается как доп. бит в сериал , и того получается 9бит в последовательной передаче , возможно в некоторых случаях это быстрее чем дополнительно дергать физическим пином D/C , но думаю в случае медлительности софтового spi в UTFT это не даст приличного прироста по скорости. 

//// и еще до кучи , организация SPI из 8 /16 бит , на микросхемах жеской логики 74HC595 , или  74HC9094    http://arduino.ru/forum/apparatnye-voprosy/pomogite-zapustit-24tft-lcd-s-ili9341-v-rezhime-spi#comment-286963 

slider
Offline
Зарегистрирован: 17.06.2014

немножко подытожу

Для подключения дисплея от сотика по SPI  получается надо чтоб :

1. выводы IM легко позволяли переключить в режим SPI  (в основном прийдется резать дорожки на шлейфе, ибо зачастую нужные для этого IM , замыкаются в шлейфе)

2. найти вывод SDA в шлейфе , используя очередность выводов кристалла по даташиту.  (тож его прийдется переразать, ибо он не выведен на гребенку шлейфа из-за ненадобности в сотовых

3. был контроллер аналогичный ili9341 (у них ID лежит не по 0 адресу) , т.к. есть под него хорошие библиотеки .

Библиотеку использовать где реализован аппаратный SPI , к примеру в адафруте  - это  4-line SPI

 используемые пины диспа  и ардуины: 

CS (кристалла выбор) ,          -   на 9 пин ардуино уно/нано/мини (можно менять пин)

DC (D/C Data/Command)         - на 10 пин ардуино уно/нано/мини (можно менять пин)

WR (это SC   Serial Clock в реж. SPI) - на 13 пин ардуино уно/нано/мини (CLK)

SDA (его надо искать на шлейфе, перерезать и выводить) - на 11 пин ардуино уно/нано/мини (MOSI)

                                                                             -  не используем 12 пин ардуино уно/нано/мини (MISO) 

RST - на RST ардуино через 10к, что проще нежели доп RC цепочка сброса , (или 10к на +3.3v  ,или нарпямую на +3.3в - надо испытывать).

в библиотеке адафруит Adafruit_ILI9341 spi раскоментируем только аппаратный SPI

02 #include "SPI.h"
03 #include "Adafruit_GFX.h"
04 #include "Adafruit_ILI9341.h"
05  
06 // For the Adafruit shield, these are the default.
07 #define TFT_DC 9
08 #define TFT_CS 10
09  
10 // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
11        Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);

// при использовании ардуино на 5v , использовать делители , либо преобразователь уровней тип того https://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino/1893394721.html.

Sasha80
Offline
Зарегистрирован: 18.01.2016

Ребята, подскажите, как подключить этот дисплей от китайского телефона? 37 контактов.

 
 

 

croc19
Offline
Зарегистрирован: 17.02.2017

сфоткай нормально две нижние фото в развернутом виде.

Sasha80
Offline
Зарегистрирован: 18.01.2016

собственно какие детали интересуют? Вот фото разрешением повыше. Дисплей пока припаян, совсем развернуть внутренюю сторону не получается.

   

 

 

croc19
Offline
Зарегистрирован: 17.02.2017

Я не придираюсь, но посмотри для примера пост 594.

Все видно. И сравни со своими. Тебе, как понимаю разводка нужна.

croc19
Offline
Зарегистрирован: 17.02.2017

dr-baks,  Sasha80   как успехи?

 

forfrends
Offline
Зарегистрирован: 24.02.2015

Небольшой отчет: Дисплей от китайского Samsung S5, 8 бит: http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=3#comment-216538 и следующие несколько постов. Оригинал шлейфа:

 

Для перевода в SPI пришлось разрезать несколько дорожек. IM0 снял с GND и подключил к +3.3 в. SDA снял с 3.3 и вывел для использования в SPI (MOSI):

4-line spi  и  3-line spi - разница между ними в том что в 4-line используется DC, а для подключения 3-line нужно что бы IM0 и IM1 были разделены, но это не возможно, так как они соеденены в самом дисплее. В чем еще разница - не знаю. Из даташита, описание сигналов и таймингов 4-line spi:

  

Для подключения используются следующие пины шлейфа:

1- LED-
2- LED+(3.3V)
3- VSS
4- VCC
5- VDD
6- 
7-  CS
8-  RESET
9-  DC
10- WR - (SCL)
      SDA - (MOSI)
 
Подключение к библиотеке Adafruit через програмный SPI:
 
#define TFT_DC 24
#define TFT_CS 53
//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
Adafruit_ILI9341 tft = Adafruit_ILI9341(  TFT_CS, TFT_DC, 51,       52,      23,      25);
 
Работает без проблем. Но очень медленно. Даже слишком медлено. Надо будет еще инит подправить для правильной цветопередачи и вывода на весь екран.
 
Подключение к библиотеке Adafruit через аппаратный SPI:
 
#define TFT_DC 24
#define TFT_CS 53
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
 
Не запускается. Реакции на дисплее нет. Пробовал Ресет вешать на +3.3 и Ресет Ардуино, через резистор 10 кОм и без него. Пробовал шину SPI подключать через резистор 10 кОм, пробовал через днлитель 10+20 кОм. Во всех случаях результата нет.
Пробовал все тоже на библиотеке UTFT - ни разу дисплей не откликнулся. Ни на аппаратном, ни на програмном SPI.
Пробовал все то же на библиотеке ucglib - результаты были точно такие же как и на Adafruit.
Как завести аппаратный SPI - это для меня пока загадка. Да еще надо разобраться в ините...

 

slider
Offline
Зарегистрирован: 17.06.2014

forfrends ,  очень хорошо :)  .  А как чисто получилось подпаять, можно фото ?  флюс промыли?

По поводу делителей, гляньте внимательней  приведенные ссылки , там описаны делители . 10к для аппаратного SPI это слишком слишком много , скорость там очень большая в отличии от ардуиновского неспешного параллельного 8/16 бит вывода. У меня заработало на 1ком+20ком (напряжение на выходе мягко говоря великовато),   а на 1ком+2ком почемуто нет . Попробуйте еще делители с 2ком , 3ком  вместо 10ком . а резистор который на GND можно посчитать по калькулятору. Провода как можно короче и пайка. А на уно/нано есть возможность проверить ?  Если только мега, то попробуйте не использовать для управления  свободные пины аппаратного SPI   SS - 53пин , ну и MISO - 50пин и так понятно. Использовать только его пины MOSI - 51пин и   SCK - 52пин ,  управление CS  и DC подключить куда подальше , к примеру 46 и 47пин .

// будет времечко , попробую на Меге. 

//// немного оффтопа про ускорение функций в ардуино , измерение скорости переключения (чтоб потом снова не искать) тынц1 сиберлиб и spi ,    тынц2   тынц3  осциллограмы  ,  тынц4 про почему так в IDE.

  

croc19
Offline
Зарегистрирован: 17.02.2017

SPI будет работать гораздо медленнее параллельного режима.

forfrends ты ради эксперимента spi запустить хочешь?

forfrends
Offline
Зарегистрирован: 24.02.2015

Хочу понять как он работает. Мне иногда необходим дисплей с SPI, из-за удобства полключения. Планирую в основном использовать на STM. Но есть некоторые проекты на Ардуино, где лучше всего будет SPI. Да, будет медленней чем по 8 бит, но все же лучше чем програмный SPI, который слишком медленный.

croc19
Offline
Зарегистрирован: 17.02.2017

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

Это не для ардуиновских библиотек конечно.

Sasha80
Offline
Зарегистрирован: 18.01.2016

Отпаял дисплей, фото с разных сторон:

 

 

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

dr-baks,  Sasha80   как успехи?

 

Пока не как .Не могу запустить.Может я не правильно подключаюсь к ардуинки D0-D7.Подключаю так D0-22 D1-23 D2-24 D3-25 D4-26 D5-27 D6-28 D7-29 CS-40 CD-38 MR-39 RD-42 Reset-41

croc19
Offline
Зарегистрирован: 17.02.2017

По верхней фото  --  четыре не распаянных контакта, это тач. А - анод подсветки - +3.3В.

К1-К5  - катоды подсветки. Лучше всего каждый отдельно через 20-50 ОМ на землю. 

Куда идут под бумажкой не видно. Оторви бумажку и посмотри.

По нижней фото -- 1 контакт земля  (плохо видно).

2 и 3       +3.3В.

4,5,6,7         CS, DS(DC), WR, RD   или наоборот  RD, WR, DS(DC), CS.

8 -- RESET

9 - 24    D0 - D15

Подключай и пробуй считывать ID контроллера.

croc19
Offline
Зарегистрирован: 17.02.2017

dr-baks  Какую читалку используешь?

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

dr-baks  Какую читалку используешь?

5.2 Выводы к1-к6 подключаю на минус без сопротивлений +3в беру с ардуинки а подсветка дисплея 5в через резистор 22Ом Выводы тача не использую.

croc19
Offline
Зарегистрирован: 17.02.2017

Ты в читалке прописал куда подключаешь шину управления.

dr-baks
Offline
Зарегистрирован: 26.01.2017

croc19 пишет:

Ты в читалке прописал куда подключаешь шину управления.

Да в читалке прописывал Выводы 40,38,39 41,42

croc19
Offline
Зарегистрирован: 17.02.2017

Я не спец в ардуино. В читалке написано

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

Ты последовательность цифр как писал?

croc19
Offline
Зарегистрирован: 17.02.2017

А выше в дефайнах ты прописывал пины для этой шины. Так?

dr-baks
Offline
Зарегистрирован: 26.01.2017

[quote=croc19]

А выше в дефайнах ты прописывал пины для этой шины. Так?

[/quote

Подключал по видео CS-40 CD-38 MR-39 RD-42 Reset-41 и так же прописывал в читалке.

Dimanok1989
Dimanok1989 аватар
Offline
Зарегистрирован: 04.03.2017

Всем привет

Достал из выидеорегистратора экран, на шлейфе написано VASENS-2.5TFT, на обороте написано T24P113

В интернете нашел распиновку подобного шлейфа, но пинов передачи данных не 8, а 6

Далее экран подключается в какой-то фильтр, так его назвать чтоли и далее 20 пиновый шлейф подключался к основной плате регистратора, причем 1-2 запаяны между собой и 17-20 также запаяны между собой

В общем, может кто знает как его подключать, выкинуть эту преблуду и напрямую к экрану, а как быть тогда с 6 пинами данных, или через эту ерунду? Распиновки я не смог найти, единственное масса прозванивается, масса - это с 17 по 20 пины на 20 пинном шлейфе.

 

Даурен
Offline
Зарегистрирован: 27.11.2017

У меняна шлейфе нету такой пины:DS, CS WR RD. У меня только есть пины: CD CN ID TE, а куда их подключить?