Здравствуйте, парни. Помогите советом! Прикупил такой дисплейчик, но работаю с Атмэлами только на ассемблере. Ардуино у меня нет. Подключил к меге8, решил для начала просто запустить дисплей (закрасить к примеру одним цветом экран) - в результате полный облом. Подсветка работает и больше ничего. Пробовал из разных библиотек брать код инициализации и прочее, но ничего не получается. Попробовал прочитать командой 0х04 содержимое регистра контроллера - пусто... Руки опускаются - то ли что-то не так делаю, то ли дисплей убитый, то ли контроллер не ILI9341. И еще важный момент - питание меги и дисплея 3,3в. Решил перемычку J1 на плате дисплея замкнуть (насколько я понял, её надо замкнуть при питании 3,3) - никаких изменений...
Среду разработки "Ардуино IDE" можно использовать не только для программирования Плат Ардуино (нано, уно, мега), но и для программирования контроллеров. Я лично atmega328 много раз успешно программировал. Мегу8 народ тоже успешно прошивает. Если вы не мазохист идите этим путём, иначе продолжайте упражнения с ассемблером.
Не спорю. Но мой вопрос был в другом - может есть какая тонкость в управлении такими дисплеями? Я даташит на 9341 прочел от корки до корки, все временные параметры в норме, сигналы согласно даташиту, снял сигналы логическим анализатором - отвечает протоколу SPI - а результат "0"...
Я понимаю, что особо и ответить нечего на мой вопрос, не видя схемы и программы, но мне интересно вот что - у всех купленные дисплеи заработали или был все-таки у кого-то брак?
art100, спасибо за ответ. Всё больше склоняюсь к тому, что брак. Хотя логику китайцев не совсем пойму - дисплей есть, плата под него есть, всё это собрано в кучу - какой смысл столько работы для того, чтобы брак гнать? Что интересно - есть у меня ещё два дисплея 128*160 вроде бы как на ST7735 собраных. История один в один - не работают. Вот поэтому и есть мысль, что какой-то косяк у меня... Или все бракованы? :)
LED, SCK, SDI, D/C, RESET, CS подключаем через CD4050BE.
SDO, GND, VCC подключаем напрямую.
CD4050BE запитываем тоже от 3V и тоже заземляем.
Единственная проблема, что работает все очень неустойчиво :( Я запускаю пример text. Текст появляется только если несколько раз нажать reset. Наверное, если всё нормально запаять, будет лучше, но может можно добавить каких-нибудь конденсаторов или резисторов, чтобы он работал устойчивей?
Некоторое время мудохался с дисплеем - белый цвет и ничего больше. Осциллограф показал страшные формы сигналов на шине данных после резисторных делителей. Проблему поборол заменив резисторы на 3,3к+1,8к, укоротил провода до 15см и делитель ставил ближе к дисплею. Пользую бибилиотеку MultiLCD(скину при необходимости), написал под нее несколько программ на Delphi для выбора цветов, генерации шрифтов(монохромных) и отдельных картинок/символов(монохромных) до 80*80 точек. Разогнал шину до 1/2 тактовой частоты(хардовый SPI) против стандартных 1/8 в этой библиотеке. Все работает стабильно
Некоторое время мудохался с дисплеем - белый цвет и ничего больше. Осциллограф показал страшные формы сигналов на шине данных после резисторных делителей. Проблему поборол заменив резисторы на 3,3к+1,8к, укоротил провода до 15см и делитель ставил ближе к дисплею. Пользую бибилиотеку MultiLCD(скину при необходимости), написал под нее несколько программ на Delphi для выбора цветов, генерации шрифтов(монохромных) и отдельных картинок/символов(монохромных) до 80*80 точек. Разогнал шину до 1/2 тактовой частоты(хардовый SPI) против стандартных 1/8 в этой библиотеке. Все работает стабильно
скинте сюда библиотеку, может с ней получится разобраться.
Тут библиотека, которую использовал я и пример. Заранее прошу прощения - нет времени на нормальный простой пример - тут есть все, включая уйму лишнего. Шрифты хранятся в виде статик констант в программной памяти. Написал программу для создания этих констант, но делфи7 не очень хорошо переносится на другие компы - становится криворабочим (могу скинуть исходники - побеждайте постоянные изменения размеров timage).
И еще скриншотики из этого примера к тому черно-желтому - стиль и цвета оформления выбираются нажатием кнопки
Привет, ребята. Тже намучался с дисплеем, помогла та самая статья с часами. Не подскажете, как ускорить отрисовку? А конкретнее для Uno/nano. Библиотека - UTFT
Найди в своей библиотеке строку инициализации SPI - SPI.begin();
и после нее добавь
SPI.setClockDivider(SPI_CLOCK_DIV2);
Это даст максимальную возможную скорость шины (частота кристала деленная на 2). Без этой строки делитель 4. В одной из версий библиотек видел вообще 8 - SPI_CLOCK_DIV8.
Если пропадет изображение - дело уже в железе - слишком длинные провода до дисплея или большие номиналы резисторов при резисторном делителе. Или при использовании к561пу4 и подобных - слишком большое время наростания и спада - не держат частоту.
Эта библиотека использует софтовый аналог SPI. Работа шины не оптимальна - каждый бит отправляется через несколько команд. Для этой библиотеки ускорить работу нельзя. Как маленький совет - отрисовывать не весь экран, а только мелкие фрагменты - например секкунды без часов и минут (их только при изменении значений).
https://yadi.sk/d/VwSZ2K6RhF4cA я использую эту библиотеку. Тут используется настоящий SPI. При желании могу по этой библиотеке помогать. К сожалению не вспомню откуда брал. Тут уже мои изменения для скорости внесены
Эта библиотека использует софтовый аналог SPI. Работа шины не оптимальна - каждый бит отправляется через несколько команд. Для этой библиотеки ускорить работу нельзя. Как маленький совет - отрисовывать не весь экран, а только мелкие фрагменты - например секкунды без часов и минут (их только при изменении значений).
https://yadi.sk/d/VwSZ2K6RhF4cA я использую эту библиотеку. Тут используется настоящий SPI. При желании могу по этой библиотеке помогать. К сожалению не вспомню откуда брал. Тут уже мои изменения для скорости внесены
Ухты! Я догадывался, знаю, что есть аппратный или софтовый режим; Я пишу под Uno и затем переношу на Nano. отрисовывать приходится много. Если не трудно, то подскажите инструкции
Используемая мной библиотека использует хард SPI, соответственно подключать только к нему. Функцианал библиотека минимален - нет кроме точек практически ничего, но на алгоритмах utft можно допилить и остальное. Я использовал функции заливки, рисовал линии через цикл For, отрисовывал цифры и буквы на дисплее сохраняя их в виде битовой матрицы.
В файле ILI9341.cpp выбрать пины для меги256 или меги328, в процедуре void LCD_ILI9341::begin этого файла можно изменить делитель частоты SPI_CLOCK_DIV2 (2-4-8-16 - чем больше, тем медленнее). Если еще что нужно - обращайтесь.
Досталось (купил суко) это чудо на ИЛИ_9341, сначала радостный воткнул как и прошлый на ST_7735 - а оно нестартует, подсветка 3,3В горит и всё тут. Облазил весь инет и наш форум вдоль и под углом. Нашёл неприятную весчь под названием ЛОГИКА, и думал что нестартанет дисплейчик уже полюбому потому как у ардуинки логика 5В а дисплейчик (наверное .... 3,3В). Ну да ладно... и тут замечаю краем глаза что тестовый скетчик из библы https://learn.adafruit.com/user-space-spi-tft-python-library-ili9341-2-8
Включил ноги:
//=====Tft*
#include "SPI.h" //Подключаем библиотеку для использования аппаратного SPI
#include "Adafruit_GFX.h" //Core graphics library
#include "Adafruit_ILI9340.h" //Hardware-specific library
#define _sclk 52
#define _miso 50
#define _mosi 51
#define _cs 44
#define _dc 48
#define _rst 46
// Using software SPI is really not suggested, its incredibly slow
//Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _mosi, _sclk, _rst, _miso);
Adafruit_ILI9340 tft = Adafruit_ILI9340(44, 48, 46); // Use hardware SPI
и чудо все бежит и меняется и даже БЫСТРО...... очень быстро.
Стоит дотронуться до дисплея или повернуть всё гаснет и он нестартует, полежит в рабочем скетче смотриш - снова показывает.
Сделал вывод: суко голимый брак... Окрыл спор с продавцом (хотя смешно из за 240рубёв), отделил матрицу со светиками подсветки и пропаял на всякий случай, результата НОЛЬ.
Закройте спор продавец не виноват что вы купили экран с видео процессором ILI9340, я тоже присматривался к этому экрану посмотрел у многих проблемы с ним, и это не брак самого экрана просто он сам по себе такой.
Сегодня забрал 1,4" tft с почты (брал для простенького алкотестера :) ), он на ili9163 и завелся минут через 10 со тсндарной либой https://github.com/sumotoy/TFT_ILI9163C и чутком правкой кода для ног (для Nano)
Никакой логики в 3,3В на CS непришлось делать (даже резисторами) все ну очнеь быстро и здорово. А вот ili9341 никак неповезло (все нехочется верить что убитый tft приехал :(
Блин блин блин.... Перерыл англоязычнфе форумы... всёже виноват Я сам, непричом дисплейчик :( везде про логику в 3,3В толкуют. нужен конвертер. Однако решил тупо воткнуть ПОСЛЕДОВАТЕЛЬНО в цепи всех пинов (кроме gnd и vcc а также дув питается от 3,33В самого контроллера ардуинки) резистрово по 5,6кОм (других неоказалось для выпайки) и это чудо стартануло.
Здравствуйте, парни. Помогите советом! Прикупил такой дисплейчик, но работаю с Атмэлами только на ассемблере. Ардуино у меня нет. Подключил к меге8, решил для начала просто запустить дисплей (закрасить к примеру одним цветом экран) - в результате полный облом. Подсветка работает и больше ничего. Пробовал из разных библиотек брать код инициализации и прочее, но ничего не получается. Попробовал прочитать командой 0х04 содержимое регистра контроллера - пусто... Руки опускаются - то ли что-то не так делаю, то ли дисплей убитый, то ли контроллер не ILI9341. И еще важный момент - питание меги и дисплея 3,3в. Решил перемычку J1 на плате дисплея замкнуть (насколько я понял, её надо замкнуть при питании 3,3) - никаких изменений...
Среду разработки "Ардуино IDE" можно использовать не только для программирования Плат Ардуино (нано, уно, мега), но и для программирования контроллеров. Я лично atmega328 много раз успешно программировал. Мегу8 народ тоже успешно прошивает. Если вы не мазохист идите этим путём, иначе продолжайте упражнения с ассемблером.
Не спорю. Но мой вопрос был в другом - может есть какая тонкость в управлении такими дисплеями? Я даташит на 9341 прочел от корки до корки, все временные параметры в норме, сигналы согласно даташиту, снял сигналы логическим анализатором - отвечает протоколу SPI - а результат "0"...
Я понимаю, что особо и ответить нечего на мой вопрос, не видя схемы и программы, но мне интересно вот что - у всех купленные дисплеи заработали или был все-таки у кого-то брак?
а брака тонны
я когда-то считал
я купил на сдачу 9$ tft 2.4" с неким чипом st7781 по порядку на тот момент 215-ым у этого одного продавца
все стадом писали прекрасно замечательно
а запустил я один очевидно
получается статистика успеха покупки TFT китаского маленького и успеха его запуска более менее адекватного 0.5% http://forum.arduino.cc/index.php?topic=223769.0
какова вам моя статистика по TFT ?
а по ILI тут вроде много успехов писали
кто-то жаловался что просто нет контакта потому как врукопашную пяют
у меня вообще запаралелили ноги
50% стонет верх низ перепутаны
замечаю на средних 7 дюймов косяков меньше
может самому поиграться купить
art100, спасибо за ответ. Всё больше склоняюсь к тому, что брак. Хотя логику китайцев не совсем пойму - дисплей есть, плата под него есть, всё это собрано в кучу - какой смысл столько работы для того, чтобы брак гнать? Что интересно - есть у меня ещё два дисплея 128*160 вроде бы как на ST7735 собраных. История один в один - не работают. Вот поэтому и есть мысль, что какой-то косяк у меня... Или все бракованы? :)
у меня был дисплей на ST7735. на ардуине работал. сейчас его уже на stm32 юзает один разработчик. никаких проблем
Подскажите, пожалуйста, подойдет ли преобразователь HCF4050BE? Чем он отличается от CD4050BE?
О, да, 3 дня пытался его подключить к меге 2560, и наконец заработало!
Использовал эту библиотеку: https://github.com/gmtii/ili9341-arduino
Тут много всего про подключение этого дисплея: http://forum.arduino.cc/index.php?topic=181679.45
Я сам до этого допер, а потом нашел в той теме подтверждение. В библиотеке ошибка, нужно заменить это
на это
Подключал так:
SDO (MISO) -> Pin 50
LED (он же BL) -> Pin 7
SCK -> Pin 52
SDI (MOSI) -> Pin 51
D/C -> Pin 6
RESET -> Pin 4
CS -> Pin 5
GND -> GND
VCC -> 3V
LED, SCK, SDI, D/C, RESET, CS подключаем через CD4050BE.
SDO, GND, VCC подключаем напрямую.
CD4050BE запитываем тоже от 3V и тоже заземляем.
Единственная проблема, что работает все очень неустойчиво :( Я запускаю пример text. Текст появляется только если несколько раз нажать reset. Наверное, если всё нормально запаять, будет лучше, но может можно добавить каких-нибудь конденсаторов или резисторов, чтобы он работал устойчивей?
Заказал себе такой же дисплей. Был заранее готов к граблям. Даже записал себе в список покупок CD4050BE. Но так и не купил.
Китаец, кстати, положил(по моей просьбе) в подарок 5V-3V IIC UART SPI Four Channel Level Converter.
Через него подключил RST,CS,D/C,SCK + MOSI через резистор 470Ом. DC запитал с ардуины 3.3V. Остальное - напрямую.
Вуаля.
Сорри, продублировалось
Сорри, продублировалось
Прикольный преобразователь!
Я понял в чем проблема. В этом злополучном RESET, я не в той папке исправлял ошибку в коде. Теперь всё работает.
alex25ru
TFT01 Shield v2.0 SHD09 ElecFreaks
использовал б-ку Хеннинга (мод. дисплея)
вывод А0... А5
Народ, вы поиском то пользуетесь, этот проект то видели ? часы на ардуино Часы на Arduino nano и дисплее TFT01-22SP
http://arduino-project.net/chasy-na-arduino-tft01-22sp/
вот вам и согласование
там всё разжёвано, куда чего, и как пример выбрать в IDE
Там же и стрелочные часы
http://arduino-project.net/analog-clock-arduino-mega/
Еще я тут про шрифты разжевал http://arduino-project.net/kak-sozdat-svoi-shrifty-tft/
ну и если интересно, то напишу статью про такие часики
или
...
ну и если интересно, то напишу статью про такие часики
Конечно интересно,почитал бы с удовольствием
А как на этот дисплей вывести свою картинку?
А когда выйдет статья про крутые часы?
А когда выйдет статья про крутые часы?
пока занят, скорее всего что на выходные
Спасибо, жду с нетерпением :-)
Печалька :-(
Может можно скетч?
Сам попробовал бы разобраться.
Очень интересует реализация вывода графики.
если можно -> denis13071981@mail.ru
Использую К561ПУ4
А когда выйдет статья про крутые часы?
пока занят, скорее всего что на выходные
Какую библиотеку используете в крутых часиках?
может сюда скинете?
у меня библиотека ili9341 но с ней пока не получается.
Некоторое время мудохался с дисплеем - белый цвет и ничего больше. Осциллограф показал страшные формы сигналов на шине данных после резисторных делителей. Проблему поборол заменив резисторы на 3,3к+1,8к, укоротил провода до 15см и делитель ставил ближе к дисплею. Пользую бибилиотеку MultiLCD(скину при необходимости), написал под нее несколько программ на Delphi для выбора цветов, генерации шрифтов(монохромных) и отдельных картинок/символов(монохромных) до 80*80 точек. Разогнал шину до 1/2 тактовой частоты(хардовый SPI) против стандартных 1/8 в этой библиотеке. Все работает стабильно
Некоторое время мудохался с дисплеем - белый цвет и ничего больше. Осциллограф показал страшные формы сигналов на шине данных после резисторных делителей. Проблему поборол заменив резисторы на 3,3к+1,8к, укоротил провода до 15см и делитель ставил ближе к дисплею. Пользую бибилиотеку MultiLCD(скину при необходимости), написал под нее несколько программ на Delphi для выбора цветов, генерации шрифтов(монохромных) и отдельных картинок/символов(монохромных) до 80*80 точек. Разогнал шину до 1/2 тактовой частоты(хардовый SPI) против стандартных 1/8 в этой библиотеке. Все работает стабильно
скинте сюда библиотеку, может с ней получится разобраться.
И можно подробнее про разгон шины?
(MISO не использую, сигналы подаю через к561пу4 http://tec.org.ru/board/k561pu4/149-1-0-1646
подсветку на прямую с pwm контакта. Питаю микруху от 3.3v)
желтый - 5v
голубой - 3v
c к561пу4
с делителем
https://yadi.sk/d/Qvo8-2-5g6zTt
Тут библиотека, которую использовал я и пример. Заранее прошу прощения - нет времени на нормальный простой пример - тут есть все, включая уйму лишнего. Шрифты хранятся в виде статик констант в программной памяти. Написал программу для создания этих констант, но делфи7 не очень хорошо переносится на другие компы - становится криворабочим (могу скинуть исходники - побеждайте постоянные изменения размеров timage).
И еще скриншотики из этого примера к тому черно-желтому - стиль и цвета оформления выбираются нажатием кнопки
И к вопросу осциллограмм - сейчас на пинах дисплея выглядит так
Раньше было гораздо страшнее. Частота в 2 раза выше Вашей, denis707
Ткните меня носом, а то уже месяц не могу прикрутить картинку как на "крутых часиках". Сотни форумов облазил но так и не смог (((
пробовал библиотеки
UTFT
ILI9341
uGFX
MultiLCD
UTFT сразу ~80% памяти съедает
рисую, а картинку не могу
есть картинка в RGB565, как вывести?
Сажите а как Вы фотки выводите без карты памяти ведь они в память не влазят?
А когда выйдет статья про крутые часы?
пока занят, скорее всего что на выходные
Чёт уж очень БОЛЬШИЕ выходные...
Привет, ребята. Тже намучался с дисплеем, помогла та самая статья с часами. Не подскажете, как ускорить отрисовку? А конкретнее для Uno/nano. Библиотека - UTFT
Не используется хардовый SPI? Киньте ссылку на вашу библиотеку
Хорошая статья:
http://arduino-project.net/chasy-na-arduino-tft01-22sp/
Библиотека:
http://www.rinkydinkelectronics.com/library.php?id=51
Эта библиотека использует софтовый аналог SPI. Работа шины не оптимальна - каждый бит отправляется через несколько команд. Для этой библиотеки ускорить работу нельзя. Как маленький совет - отрисовывать не весь экран, а только мелкие фрагменты - например секкунды без часов и минут (их только при изменении значений).
https://yadi.sk/d/VwSZ2K6RhF4cA я использую эту библиотеку. Тут используется настоящий SPI. При желании могу по этой библиотеке помогать. К сожалению не вспомню откуда брал. Тут уже мои изменения для скорости внесены
https://yadi.sk/d/VwSZ2K6RhF4cA я использую эту библиотеку. Тут используется настоящий SPI. При желании могу по этой библиотеке помогать. К сожалению не вспомню откуда брал. Тут уже мои изменения для скорости внесены
Ухты! Я догадывался, знаю, что есть аппратный или софтовый режим; Я пишу под Uno и затем переношу на Nano. отрисовывать приходится много. Если не трудно, то подскажите инструкции
Какие именно инструкции?
Используемая мной библиотека использует хард SPI, соответственно подключать только к нему. Функцианал библиотека минимален - нет кроме точек практически ничего, но на алгоритмах utft можно допилить и остальное. Я использовал функции заливки, рисовал линии через цикл For, отрисовывал цифры и буквы на дисплее сохраняя их в виде битовой матрицы.
В файле ILI9341.cpp выбрать пины для меги256 или меги328, в процедуре void LCD_ILI9341::begin этого файла можно изменить делитель частоты SPI_CLOCK_DIV2 (2-4-8-16 - чем больше, тем медленнее). Если еще что нужно - обращайтесь.
Запутанный, но все-таки пример работы https://yadi.sk/d/HY9ZmUr1hF77g
Досталось (купил суко) это чудо на ИЛИ_9341, сначала радостный воткнул как и прошлый на ST_7735 - а оно нестартует, подсветка 3,3В горит и всё тут. Облазил весь инет и наш форум вдоль и под углом. Нашёл неприятную весчь под названием ЛОГИКА, и думал что нестартанет дисплейчик уже полюбому потому как у ардуинки логика 5В а дисплейчик (наверное .... 3,3В). Ну да ладно... и тут замечаю краем глаза что тестовый скетчик из библы https://learn.adafruit.com/user-space-spi-tft-python-library-ili9341-2-8
Включил ноги:
и чудо все бежит и меняется и даже БЫСТРО...... очень быстро.
Стоит дотронуться до дисплея или повернуть всё гаснет и он нестартует, полежит в рабочем скетче смотриш - снова показывает.
Сделал вывод: суко голимый брак... Окрыл спор с продавцом (хотя смешно из за 240рубёв), отделил матрицу со светиками подсветки и пропаял на всякий случай, результата НОЛЬ.
Закройте спор продавец не виноват что вы купили экран с видео процессором ILI9340, я тоже присматривался к этому экрану посмотрел у многих проблемы с ним, и это не брак самого экрана просто он сам по себе такой.
Сегодня забрал 1,4" tft с почты (брал для простенького алкотестера :) ), он на ili9163 и завелся минут через 10 со тсндарной либой https://github.com/sumotoy/TFT_ILI9163C и чутком правкой кода для ног (для Nano)
Никакой логики в 3,3В на CS непришлось делать (даже резисторами) все ну очнеь быстро и здорово. А вот ili9341 никак неповезло (все нехочется верить что убитый tft приехал :(
В файле ILI9341.cpp выбрать пины для меги256 или меги328
Не особо понял, что там конкретно сделать, распиновка жуткая, LED : D7? чта?
Блин блин блин.... Перерыл англоязычнфе форумы... всёже виноват Я сам, непричом дисплейчик :( везде про логику в 3,3В толкуют. нужен конвертер. Однако решил тупо воткнуть ПОСЛЕДОВАТЕЛЬНО в цепи всех пинов (кроме gnd и vcc а также дув питается от 3,33В самого контроллера ардуинки) резистрово по 5,6кОм (других неоказалось для выпайки) и это чудо стартануло.
А все со случайного фото мега"щита" :) для разных tft http://vkitae24.ru/index.php?product=144471&route=catalog при ближайшем расспотрении кроме резюков ничего необнаружил и решил риснуть....
Вот с этим скетчиком вылезли часики + давление и температура :)
Скетчик из быблы, просто подсунул ему bmp-180 датчик.
Однако преобразователь с 5В до 3,3В думаю будет более уместен :)
Закройте спор.
Искал для 1.8 нашол для 2.2 мож владельцам этих экранов будет интересно ArduinoTetris 2.2" TFT 240x320 SPI
Закройте спор.
Искал для 1.8 нашол для 2.2 мож владельцам этих экранов будет интересно ArduinoTetris 2.2" TFT 240x320 SPI
спасибо, поиграюсь на досуге...
Уже закрыл - и фоточки приложил, продавец неплохой почти все для Ардуиняшки у него беру и тут думал грабли,ну да ничево :)