Arduino Due + LCD 3.2: Подключение...
- Войдите на сайт для отправки комментариев
Ср, 16/04/2014 - 19:04
Всем доброго времени суток.
В данной среде я новичок, прошу помочь освоиться.
Досталась мне Arduino Due и экран 3.2" 320x480 TFT LCD Touch (with SD Card, Driver IC ILI9481).
Информация о экране здесь. Также, от продавца удалось получить Datasheet (доступен здесь).
Собственно, вопрос вот в чем: Как его подключить к Arduino Due? На плате с экраном разъем на 20 pin. На стороне Arduino - 18 pin.
Извините, может глупо... но буду весьма признателен получить ответ "что и куда подключать".
Заранее спасибо всем откликнувшимся!
Добрый день. Проще всего поискать плату-переходник для DUE, например вроде такой: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=121057447668
Тогда все подключается достатояно просто. О программной части можно почитать здесь: http://habrahabr.ru/post/196600/ и здесь http://habrahabr.ru/post/196864/
Спасибо за ответ. Плату-переходник я видел, но хотелось бы подключить самостоятельно.
Как ни странно, все эти ссылки я видел. Также, нашел и вот такое:
http://tronixstuff.com/2013/04/26/tutorial-arduino-and-ili9325-colour-tf...
Но опять же, начало подключения:
На Arduino DUE только ШИМ выходы имеют маркировку 0-7 ... а ряд Digital - 22-53.
елементарно.. так же как и к мега2560.. :)
Так может подкинете какое-нибудь описание? Буду весьма признателен.
Я щас задам идиотский вопрос.
Вас что на гуглях забанили?
Откройте библиотеку UTFT там куча пдф прилагается со списками и ссылками
Открываете файл UTFT_Requirements.pdf он находится в папке библиотеки UTFT, которая надеюсь у Вас лежит в папке libraries, и видим там такую картинку:
на ней показано расположение нужных нам пинов на плате контроллера.
Идем по Вашей ссылке и открываем китайский архив, а именно файл 底板原理图.pdf
видим распиновку Вашего шилда с дисплеем =)
Непосредственно к дисплею относятся пины:
DB0-DB7, DB8-DB15, RS,CS,WR,RST возможно RD (на него надо будет подать 0 или 1) Вот их то и нужно подключить к одноименным пинам на плате контроллера ещё не забыть подключить общий провод (землю) и питание
Нумерация пинов видна на фото из Вашей ссылки:
Для инициализации в данной конфигурации используйте следующую строку:
НО! Если внимательно проанализировать всё вышенаписанное, то нихрена работать не будет! =)
А по сему рабочий вариант будет выглядеть так:
В файле по пути .../libraries/UTFT/hardware/arm/HW_ARM_defines.h
раскомментируем строку
пусть UTFT думает, что у нас CTE_DUE_SHIELD установлен =)
и подключаем используя вот эти пины на плате контроллера.
Строка инициализации будет такая:
Вот и фсё...
p.s. распиновка DUE =)
Если не ошибаюсь, для Меги надо еще согласовать уровни сигналов с 5v на 3.3v. На CTE шильде для Меги для этого предусмотрена микросхемка. Если без нее- можно что-нибудь попалить... Так что аккуратнее надо. Для DUE можно и как-нибудь так ;)
Так вот почему моя мега сгорела..... :(
Если не ошибаюсь, для Меги надо еще согласовать уровни сигналов с 5v на 3.3v.
У топикстартера DUE
Так вот почему моя мега сгорела..... :(
MEGA сгореть не могла, сгореть мог шилд без согласования уровней =)
MEGA сгореть не могла, сгореть мог шилд без согласования уровней =)
я на прямую подключал. ну или пытался. по крайней мере мега больше не работает :)
У топикстартера DUE
Да, я видел. Но в комментарии была схема и для Меги. Мало ли кто прочитает и попробует подключить? Может нехорошо выйти...
Так вот почему моя мега сгорела..... :(
Вы бы батенька не сотрясали воздух почем зря и на дуе и на мега у нас все работало бнз шилдов на пачке проводов. Не красиво было. Но работало
Вот видимо при пайке "собака и порылась". Мега умерла. Яж не говорю что инопланетяне виноваты, это все он "опыт, сын ошибок трудных". А мож воткнул куда не туда. Я такой, я могу.
Угу. То то у них инфракрасные диоды светят ( в видимом спектре), то руины говорят. . Гы гы
Огромное спасибо за помощь.
Подключил всё, как было указано выше. Однако, кроме белого экрана - ничего.
Возникло несколько вопросов.
1. Объект класса UTFT мы инициализируем передавая конструктору модель и "пути" к пинам RS, WR, CS, RST... А почему нигде не указываем к DB##?
2. Питание: VCC - это +3.3V и LedA - +3.3V? Верно?
3. Почему для RST вы предположили пин RD? Если я правильно понимаю, это пин, отвечающий за сброс ... На шильде есть нога REST (RESET). Собственно, и её я попробовал, результата нет.
Что я мог забыть или не учесть?
Заранее благодарен.
1. Патамучто нужно указывать модель контролера правильно.
2. Питание нужно смотреть в спецификации. Контролер может быть и 5 и 3.3 а вот подсветка может быть и 24 вольта.
3. Патамучто они так маркируют ресет.
Спасибо за ответ.
1. Тогда вроде все верно. Из мануала нашел соответствие: ILI9481 - CTE32HR. Также указано, что если не уверен, то можно указать и ILI9481.
2. По питанию, вроде это:
VCC System power supply (2.5V~3.3V).
У меня и подключено к 3.3v
Но кроме света подсветки больше ничего нет :(
А дата куда воткнута?
На всякий случай перечислю полностью:
RS : 25
WR : 26
CS : 27
RESET : 28
DB0-DB7 : 33-40
DB15-DB8 : 44-51
VCC, LED - 3.3V
Откуда такая раскладка?
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
Раскладку советовали выше...
CS(pin15) - а почему 15-й пин?
Судя по распиновке экрана CS - это 6-й пин.
А 15-й - это RD ... и на него нужно 3.3V подать?
Сверху считайте и он будет 15.
Мне лень обьяснять.
Так что у вас 2 варианта.
Подключить как я написал выше и скачать последнию версию utft и радоваться жизни.
Ну либо продолжать ждать у моря погоды.
Если сверху - то да, 15-й.
Подключил в точности, как вы сказали...
UTFT версии 2.77 (24 May 2014). Вроде последняя.
Всё тот же белый экран...
Сейчас в который раз перезалил скетч и решил подождать пару минут... так вот, через минуту на несколько секунд появляются разноцветные полосы:
Затем, ещё секунд через 10 экран чуть-чуть тускнеет на долю секунды. Напоминает перепад напряжения.
1.Какой скеч?
2. И у меня подозрение что дата у вас как попало а не попорядку.
1. Скетч UTFT_Demo_480x320
2. Конструктор выглядит так: UTFT myGLCD(CTE32HR,38,39,40,41);
Подключение перепроверял, всё точно по Вашим указаниям.
Точнр это как? Распишите дата относительно пинов как вы их соединили? И контакты проверьте.
Судя что там чего то бегает и меняется, оно видимо скеч отрисовывает.
Почему все покупают только 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
Тоесть
21 на 37
22 на 36
23 на 35
...
14 на 22
13 на 23
..
Да-да, именно так.
А на рд 3.3 вольта и питание 5 вольт?
Да, RD (15 номер на шильде) запитан от ардуионо (разьем "3.3V").
Питание подсветки и непосредственно экрана пробовал как из разъемов 5V (над 22 и 23 пином), так и по общей шине с разъема 5V возле аналоговой линии. Думаю, дело не в питании.
А соединение чем?
Обычными соединительными проводами, наподобии таких:
А если взять пример 320х240?
Попробовал UTFT_Demo_320x240 и UTFT_Demo_320x240_Serial - сразу после перезагрузки экран чуть темнеет, потом светлеет. Через некоторое время мигание повторяется. Полос не видно.
Похоже что то с проводами. Был бы второй экран было бы проще.
На всякий случай вырезал почти все из демо скетча и заставил только рисовать прямоугольники разных цветов на весь экран:
И снова ничего... Ни линий, ни морганий...
Также, в качестве модели пробовал указывать ILI9481. И снова ничего...
Завтра постараюсь использовать другие кабеля. Благо есть набор укороченных.
Может проще заказать еще один экран с другим контролером.
Не смущает коммент одного из покупателей на странице продажи дисплея?
Note that the pin label for pin #1-20 (should be 20 to 1) on the board is incorrect but apart from that...
Не смущает коммент одного из покупателей на странице продажи дисплея?
Note that the pin label for pin #1-20 (should be 20 to 1) on the board is incorrect but apart from that...
Ну значит нужно отзеркалить провода со стороны дисплея.
Не смущает коммент одного из покупателей на странице продажи дисплея?
Note that the pin label for pin #1-20 (should be 20 to 1) on the board is incorrect but apart from that...
Вот это поворот! Спасибо, не смотрел отзывы. Странно тогда: когда покупал, запросил даташит, а продавец хоть бы словом обмолвился.
Один ряд, выходит, правильно пронумерован, второй - через... Приеду домой - отзеркалю один ряд на шильде.
Не, вариант с неправильным порядком нумерации отпадает железобетонно! GND находится сверху шильда, имеет номер 20. Без массы на этом пине - нет подсветки.
А если только дату отзеркалить?
Не, вариант с неправильным порядком нумерации отпадает железобетонно! GND находится сверху шильда, имеет номер 20. Без массы на этом пине - нет подсветки.
Если крупно сфоткаешь гребенку на дисплее с двух сторон, чтоб дорожки были видны, - разберемся с разводкой!
Только что почтальон принёс такой же дисплей. Тут же начал окучивать интернет в поисках информации о нём. Наткнулся на эту тему и решил зарегистрироваться. Давайте попробуем подключить экран вместе. Правда у меня Ардуино Мега, а не Дуо, поэтому буду делать на это поправку.
С Arduino не смог по быстрому проверить, не собирая переходник на 3.3В.
Поэтому подключил к Stellaris Launchpad, так как он работает прямо с нужным напряжением и через эту же библиотеку UTFT (вариант для IDE Energia). Дисплей заработал мгновенно при подаче напряжения. Пример выводит на экран поочерёдно мозайку из 70 иконок или 2 другие иконки 4-х размеров и текст к каждому из вариантов.
Распиновка правильная и единственное отличие от неё, я на 2-ой и 19-й пины подавал не 5В, а 3.3В.
Провода для соединения использовал подобные вашим, только соединённые в шлейф. Никаких артефактов на дисплее не наблюдается.
Ребят, простите за молчание, на работе был завал.
Попробовал, нет даже артефактов, как на изображении выше.
Передняя плохо вышла, вечером попробую предоставить более качественную.
С Arduino не смог по быстрому проверить, не собирая переходник на 3.3В.
...
Распиновка правильная и единственное отличие от неё, я на 2-ой и 19-й пины подавал не 5В, а 3.3В.
Провода для соединения использовал подобные вашим, только соединённые в шлейф. Никаких артефактов на дисплее не наблюдается.
Интересно, а почему 3.3? В спецификации, вроде идет речь о 5V...
гыыыы картинка задом наоборот нарисована. столбцы поменяй друг с другом.
в смысле попробуй сделать наоборот. как бублик написал. только с тем столбцом в котором нет питания :)