Arduino Due + LCD 3.2: Подключение...

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Всем доброго времени суток.

В данной среде я новичок, прошу помочь освоиться.

Досталась мне Arduino Due и экран 3.2" 320x480 TFT LCD Touch (with SD Card, Driver IC ILI9481).

Информация о экране здесь. Также, от продавца удалось получить Datasheet (доступен здесь).

Собственно, вопрос вот в чем: Как его подключить к Arduino Due? На плате с экраном разъем на 20 pinНа стороне Arduino - 18 pin.

Извините, может глупо... но буду весьма признателен получить ответ "что и куда подключать".

Заранее спасибо всем откликнувшимся!

pencraft
Offline
Зарегистрирован: 17.01.2012

Добрый день. Проще всего поискать плату-переходник для DUE, например вроде такой: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=121057447668

Тогда все подключается достатояно просто. О программной части можно почитать здесь: http://habrahabr.ru/post/196600/ и здесь http://habrahabr.ru/post/196864/

 

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Спасибо за ответ. Плату-переходник я видел, но хотелось бы подключить самостоятельно.

Как ни странно, все эти ссылки я видел. Также, нашел и вот такое:

http://tronixstuff.com/2013/04/26/tutorial-arduino-and-ili9325-colour-tf...

Но опять же, начало подключения: 

  • DB0 to DB7 > Arduino D0 to D7 respectively

На Arduino DUE только ШИМ выходы имеют маркировку 0-7 ... а ряд Digital - 22-53.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

елементарно.. так же как и к мега2560.. :)

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Так может подкинете какое-нибудь описание? Буду весьма признателен.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Я щас задам идиотский вопрос.
Вас что на гуглях забанили?
Откройте библиотеку UTFT там куча пдф прилагается со списками и ссылками

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012

Открываете файл UTFT_Requirements.pdf он находится в папке библиотеки UTFT, которая надеюсь у Вас лежит в папке libraries, и видим там такую картинку:

на ней показано расположение нужных нам пинов на плате контроллера.

Идем по Вашей ссылке и открываем китайский архив, а именно файл 底板原理图.pdf

видим распиновку Вашего шилда с дисплеем =)
Непосредственно к дисплею относятся пины:
DB0-DB7, DB8-DB15, RS,CS,WR,RST возможно RD (на него надо будет подать 0 или 1) Вот их то и нужно подключить к одноименным пинам на плате контроллера ещё не забыть подключить общий провод (землю) и питание

Нумерация пинов видна на фото из Вашей ссылки:

Для инициализации в данной конфигурации используйте следующую строку:













UTFT  myGLCD(CTE32HR,38,39,40,41);

НО! Если внимательно проанализировать всё вышенаписанное, то нихрена работать не будет! =)

А по сему рабочий вариант будет выглядеть так:

В файле по пути .../libraries/UTFT/hardware/arm/HW_ARM_defines.h

раскомментируем строку





#define CTE_DUE_SHIELD 1

пусть UTFT думает, что у нас CTE_DUE_SHIELD установлен =)
и подключаем используя вот эти пины на плате контроллера.

Строка инициализации будет такая:





UTFT  myGLCD(CTE32HR,25,26,27,28);

Вот и фсё...

p.s. распиновка DUE =)

pencraft
Offline
Зарегистрирован: 17.01.2012

Если не ошибаюсь, для Меги надо еще согласовать уровни сигналов с 5v на 3.3v. На CTE шильде для Меги для этого предусмотрена микросхемка. Если без нее- можно что-нибудь попалить... Так что аккуратнее надо. Для DUE можно и как-нибудь так ;)

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Так вот почему моя мега сгорела..... :(

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012

 

pencraft пишет:

Если не ошибаюсь, для Меги надо еще согласовать уровни сигналов с 5v на 3.3v. 

У топикстартера DUE

JollyBiber пишет:

Так вот почему моя мега сгорела..... :(

MEGA сгореть не могла, сгореть мог шилд без согласования уровней =)

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Бублик пишет:

MEGA сгореть не могла, сгореть мог шилд без согласования уровней =)

 

я на прямую подключал. ну или пытался. по крайней мере мега больше не работает :)

pencraft
Offline
Зарегистрирован: 17.01.2012

Бублик пишет:

У топикстартера DUE

Да, я видел. Но в комментарии была схема и для Меги. Мало ли кто прочитает и попробует подключить? Может нехорошо выйти...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

JollyBiber пишет:

Так вот почему моя мега сгорела..... :(


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

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Вот видимо при пайке "собака и порылась". Мега умерла. Яж не говорю что инопланетяне виноваты, это все он "опыт, сын ошибок трудных". А мож воткнул куда не туда. Я такой, я могу.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Угу. То то у них инфракрасные диоды светят ( в видимом спектре), то руины говорят. . Гы гы

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Огромное спасибо за помощь.

Подключил всё, как было указано выше. Однако, кроме белого экрана - ничего.

Возникло несколько вопросов. 

1. Объект класса UTFT мы инициализируем передавая конструктору модель и "пути" к пинам RS, WR, CS, RST... А почему нигде не указываем к DB##?

2. Питание: VCC - это +3.3V и LedA - +3.3V? Верно?

3. Почему для RST вы предположили пин RD? Если я правильно понимаю, это пин, отвечающий за сброс ... На шильде есть нога REST (RESET). Собственно, и её я попробовал, результата нет.

 

Что я мог забыть или не учесть?

Заранее благодарен.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

1. Патамучто нужно указывать модель контролера правильно.
2. Питание нужно смотреть в спецификации. Контролер может быть и 5 и 3.3 а вот подсветка может быть и 24 вольта.
3. Патамучто они так маркируют ресет.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Спасибо за ответ.

1. Тогда вроде все верно. Из мануала нашел соответствие: ILI9481 - CTE32HR. Также указано, что если не уверен, то можно указать и ILI9481.

2. По питанию, вроде это:

VCC System power supply (2.5V~3.3V).

IOVCC System power supply (1.65V~3.3V).

У меня и подключено к 3.3v

 

Но кроме света подсветки больше ничего нет :(

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А дата куда воткнута?

MikeSoft
Offline
Зарегистрирован: 16.04.2014

На всякий случай перечислю полностью:
RS : 25
WR : 26
CS : 27
RESET : 28
DB0-DB7 : 33-40
DB15-DB8 : 44-51
VCC, LED - 3.3V

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Откуда такая раскладка?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LEDA -> 5V
VCC -> 5V
RD -> 3.3V
GND -> GND
DB0->DB7 to pin D37->D30
DB8->DB15 to pin D22->D29
RS -> D38
WR -> D39
CS(pin15) -> D40
RSET-> D41

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Раскладку советовали выше...

CS(pin15) - а почему 15-й пин?

Судя по распиновке экрана CS - это 6-й пин.

А 15-й - это RD ... и на него нужно 3.3V подать?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Сверху считайте и он будет 15.
Мне лень обьяснять.
Так что у вас 2 варианта.
Подключить как я написал выше и скачать последнию версию utft и радоваться жизни.
Ну либо продолжать ждать у моря погоды.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Если сверху - то да, 15-й.

Подключил в точности, как вы сказали...

UTFT версии 2.77 (24 May 2014). Вроде последняя.

Всё тот же белый экран... 

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Сейчас в который раз перезалил скетч и решил подождать пару минут... так вот, через минуту на несколько секунд появляются разноцветные полосы:

Затем, ещё секунд через 10 экран чуть-чуть тускнеет на долю секунды. Напоминает перепад напряжения.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

1.Какой скеч?
2. И у меня подозрение что дата у вас как попало а не попорядку.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

1. Скетч UTFT_Demo_480x320

2. Конструктор выглядит так: UTFT myGLCD(CTE32HR,38,39,40,41);

Подключение перепроверял, всё точно по Вашим указаниям.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Точнр это как? Распишите дата относительно пинов как вы их соединили? И контакты проверьте.
Судя что там чего то бегает и меняется, оно видимо скеч отрисовывает.
Почему все покупают только 1 запчасть? Почему не купить 2 одинаковых. Для сравнения.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Puhlyaviy пишет:
Почему все покупают только 1 запчасть? Почему не купить 2 одинаковых. Для сравнения.

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

Теперь по поводу соединения.

Нумерация пинов на ардуино полностью соответствует официальному:

Нумерация пинов на шилде идентичная этой схеме:

 

Соответственно, дальше все по вашим указаниям:

DB0->DB7 (на шильде имеют номера с 21 по 28) to pin D37->D30
DB8->DB15 (на шильде имеют номера с 14 по 7) to pin D22->D29

RS (на шильде номер 17) -> D38
WR (на шильде номер 18) -> D39

CS (на шильде номер 6) -> D40
RSET  (на шильде номер 4)-> D41

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Тоесть
21 на 37
22 на 36
23 на 35
...
14 на 22
13 на 23
..

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Да-да, именно так.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А на рд 3.3 вольта и питание 5 вольт?

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Да, RD (15 номер на шильде) запитан от ардуионо (разьем "3.3V").

Питание подсветки и непосредственно экрана пробовал как из разъемов 5V (над 22 и 23 пином), так и по общей шине с разъема 5V возле аналоговой линии. Думаю, дело не в питании.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А соединение чем?

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Обычными соединительными проводами, наподобии таких:

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А если взять пример 320х240?

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Попробовал UTFT_Demo_320x240 и UTFT_Demo_320x240_Serial - сразу после перезагрузки экран чуть темнеет, потом светлеет. Через некоторое время мигание повторяется. Полос не видно.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Похоже что то с проводами. Был бы второй экран было бы проще.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

На всякий случай вырезал почти все из демо скетча и заставил только рисовать прямоугольники разных цветов на весь экран:

#include <UTFT.h>

UTFT myGLCD(CTE32HR,38,39,40,41);

void setup()
{
  randomSeed(analogRead(0));
  
// Setup the LCD
  myGLCD.InitLCD();
}

void loop()
{
// Clear the screen and draw the frame
  myGLCD.clrScr();

  myGLCD.setBackColor(0, 0, 0);

// Draw some filled rectangles
  for (int i=1; i<6; i++)
  {
    switch (i)
    {
      case 1:
        myGLCD.setColor(255,0,255);
        break;
      case 2:
        myGLCD.setColor(255,0,0);
        break;
      case 3:
        myGLCD.setColor(0,255,0);
        break;
      case 4:
        myGLCD.setColor(0,0,255);
        break;
      case 5:
        myGLCD.setColor(255,255,0);
        break;
    }
    myGLCD.fillRect(0, 0, 480, 320);
    delay (2000);
  }

}

И снова ничего... Ни линий, ни морганий...

Также, в качестве модели пробовал указывать ILI9481. И снова ничего...

Завтра постараюсь использовать другие кабеля. Благо есть набор укороченных.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Может проще заказать еще один экран с другим контролером.

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012

Не смущает коммент одного из покупателей на странице продажи дисплея?
Note that the pin label for pin #1-20 (should be 20 to 1) on the board is incorrect but apart from that...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Бублик пишет:

Не смущает коммент одного из покупателей на странице продажи дисплея?
Note that the pin label for pin #1-20 (should be 20 to 1) on the board is incorrect but apart from that...


Ну значит нужно отзеркалить провода со стороны дисплея.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Бублик пишет:

Не смущает коммент одного из покупателей на странице продажи дисплея?
Note that the pin label for pin #1-20 (should be 20 to 1) on the board is incorrect but apart from that...

 

Вот это поворот! Спасибо, не смотрел отзывы. Странно тогда: когда покупал, запросил даташит, а продавец хоть бы словом обмолвился.

Один ряд, выходит, правильно пронумерован, второй - через... Приеду домой - отзеркалю один ряд на шильде.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Не, вариант с неправильным порядком нумерации отпадает железобетонно! GND находится сверху шильда, имеет номер 20. Без массы на этом пине - нет подсветки.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А если только дату отзеркалить?

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012

MikeSoft пишет:

Не, вариант с неправильным порядком нумерации отпадает железобетонно! GND находится сверху шильда, имеет номер 20. Без массы на этом пине - нет подсветки.

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

dmmedia
Offline
Зарегистрирован: 01.09.2014

Только что почтальон принёс такой же дисплей. Тут же начал окучивать интернет в поисках информации о нём. Наткнулся на эту тему и решил зарегистрироваться. Давайте попробуем подключить экран вместе. Правда у меня Ардуино Мега, а не Дуо, поэтому буду делать на это поправку.

dmmedia
Offline
Зарегистрирован: 01.09.2014

С Arduino не смог по быстрому проверить, не собирая переходник на 3.3В.

Поэтому подключил к Stellaris Launchpad, так как он работает прямо с нужным напряжением и через эту же библиотеку UTFT (вариант для IDE Energia). Дисплей заработал мгновенно при подаче напряжения. Пример выводит на экран поочерёдно мозайку из 70 иконок или 2 другие иконки 4-х размеров и текст к каждому из вариантов.

Распиновка правильная и единственное отличие от неё, я на 2-ой и 19-й пины подавал не 5В, а 3.3В.

Провода для соединения использовал подобные вашим, только соединённые в шлейф. Никаких артефактов на дисплее не наблюдается.

MikeSoft
Offline
Зарегистрирован: 16.04.2014

Ребят, простите за молчание, на работе был завал.

Puhlyaviy пишет:
А если только дату отзеркалить?

Попробовал, нет даже артефактов, как на изображении выше.

Бублик пишет:
Если крупно сфоткаешь гребенку на дисплее с двух сторон, чтоб дорожки были видны, - разберемся с разводкой!

Передняя плохо вышла, вечером попробую предоставить более качественную.

 

dmmedia пишет:

С Arduino не смог по быстрому проверить, не собирая переходник на 3.3В.

...

Распиновка правильная и единственное отличие от неё, я на 2-ой и 19-й пины подавал не 5В, а 3.3В.

Провода для соединения использовал подобные вашим, только соединённые в шлейф. Никаких артефактов на дисплее не наблюдается.

Интересно, а почему 3.3? В спецификации, вроде идет речь о 5V...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

гыыыы картинка задом наоборот нарисована. столбцы поменяй друг с другом.

в смысле попробуй сделать наоборот. как бублик написал. только с тем столбцом в котором нет питания :)