Это видео недоступно.
Сожалеем об этом.
Подключение сенсорного цветного 240x320 SPI ILI9341 дисплея 2.8 (2.4, 2.2) к Arduino
HTML-код
- Опубликовано: 30 окт 2016
- Обзор и подробное руководство по подключению цветного сенсорного SPI 240x320 дисплея 2.8 (2.4, 2.2) на драйвере ILI9341 к Arduino UNO или Mega. А также вывод русского текста.
Присоединяйтесь ВКонтакте: im_pub
Компоненты на Aliexpress:
Сенсорный дисплей 2.8 дюйма: ali.pub/39awdw
Arduino UNO CH340G: ali.pub/399f25
Arduino UNO CH340G + USB-шнур: ali.pub/399f6m
Arduino Mega: ali.pub/39awjj
Резисторы на все случаи жизни: ali.pub/399hw1
Провода 10см: ali.pub/399fgj
Провода 20см: ali.pub/399fio
Пример скетча: yadi.sk/d/AVm4...
Библиотеки:
Adafruit GFX (с русским шрифтом): yadi.sk/d/kVVx...
Adafruit ILI9341: yadi.sk/d/99Gf...
URTouch: yadi.sk/d/W2k-...
#arduino #ардуино #уроки #робот #robot #uno #уно #nano #esp8266 #nodemcu #lua #обзор #esp-01 #реле #relay #часы
Вот это я понимаю, парень всё расписал от а до я, а то в интернете чего только не предлагают для tft и ничего не работает. Молодец, спасибо.
Александр, Спасибо большое за библиотеки и полезное видео!
Самый лучший ролик из всех что пересмотрел!!!!! Спасибо АВТОРУ!!!!
Отличное видео, спасибо! Заработало как по писаному. Смог проверить купленный дисплей. Одно предупреждение для тех, кто будет пользоваться этим руководством: после того, как выполнил предложенное обновление библиотек до актуальных на 30.07.2020 версий, кириллица исчезла. До обновления, с библиотеками приложенными по здешним ссылкам, кириллица выводилась нормально.
Ну правильно, он библиотеку сам допиливал до русского, в начале же говорит про это
Спасибо большое за библиотеки.
Для MEGACORE (Atmega64/128) MOSI - arduinno pin 10 (ножка 12), SCK - 9 (ножка 11), D/C и CS любые которые свободны, тогда и только тогда работает хардварный SPI, скорость выше в разы.
Про чип для сенсора нажатий немного некорректно. Если его нет - это не значит, что он не работает!
Есть модули, где нет чипа и там выведены контакты сенсора. Просто с ним надо будет работать напрямую. В интернете есть статьи - там надо подавать VCC/GND на одни ноги и снимать аналоговый сигнал с другой, потом наоборот. Таким образом определять X и Y координаты нажатия.
На вашем модуле просто есть микросхема, которая это делает за вас и отдает результат в цифровом виде.
Белый экран с Ардуино 2560. Что делаю не так, непонятно.
Александр, добрый день. Запустил ваш скетч в Протеусе, вместо слова "Тестируем" пишет "Ужтуйсфжн" (типа по монгольски :)). Понятно, что что-то с функцией utf8rus, но что? Не поможете понять логику?
On such a display, the letters are inverted
horizontally by 180 degrees (that is, the entire
display screen). I have tried many libraries, but
there is no result. Advise me where to dig?????
Спасибо на видео!! И труд!
Хорошо объясняет
Thanks you so much!!!!. help me alot in my project
Подскажите, что может быть, у меня при подключении кроме белого экрана ничего нет, хотя все правильно подключено ! )
Полезно, спасибо !
У меня на таком дисплее изображение на экране перевернуты по горизонтали на 180 градусов (то есть весь экран дисплея). Я перепробовал много библиотек, но результата нет. Посоветуйте мне, где копать ?????
Спасибо
#include // Если у кого ошибка компиляции, то допишите это:
Смысл подключения SPI через резисторы?
Когда через делитель подключают это понятно .
Здравствуйте. У меня такой же дисплей на этом контроллере, но без тачскрина. Если в сктече указать пины, то дисплей работает, но медленно, а если не указывать и оставить аппаратный SPI, то белый экран. Arduino Uno
Решаемо?
что то на клоне ардуино не работает нормально. а как к нано подключить? не очень понял
Автор, добрый день! Есть непонятки. Дисплей в точности такой же. Ардуино про мини. Схема собрана без ошибок. всё запустилось с полпинка. Текст отображает правильно, в тех позициях, как заказано. А вот рисует в иасштабе 1: 2, то есть, уменьшенный в два раза рисунок рисует со смещением вверх и влево. Мои попытки найти причину безуспешны. Не поможете разобраться? Ведь мне нужен активный дисплей с кнопками и движком-регулятором уровнея. А как я буду попадать в кнопки с таким смещением?
Здравствуйте можете помочь подключить st7793 к arduino nano
Спасибо за видео! А вы не подключали такой же, но 4.0 480х320 к меге ?
привет друг! как в итоге подключил?
Display is working well. How have you managed to get touch Screen working?
но не показал как работает с этим скетчем и резисторами вообще то я видел делители нужно ставить.
Спасибо, тач-сенсор выдаёт "зеркальные" координаты по обоим осям, что нужно поменять?
В скетче или в подключении?
после заливки в ардуино вашего примера программа пишет "ВНИМАНИЕ: Ложная папка .github в библиотеке 'Adafruit ILI9341'" ?
всё как всегда просто - в "tft.setRotation(1); // Переводим дисплей в альбомную ориентацию" вместо 1 нужно прописать 3.
А если дисплей ILI9488.... эти библиотеки подойдут?
А не пробовали повесить тач на аппаратный SPI вместе с дисплеем? А то много выводов съедается...
Присоединяюсь к вопросу, почему бы и нет? Если библиотеки конфликтовать не будут.
@@user-yo1hz6et8f разобрались?
@@Jake-Curious Нет, застрял в тщете всего сущего) Есть проблема - заказывал три экрана, на STM32 работает всего один, остальные два инициализируются, но не сбрасываются, на экране шум отклика нет. На ардуине работают все, но мееееееедлеееееннннннооооо....) Так и не понял в чем фишка. Менял частоты SPI, пробовал и аппаратный и софт на стм-ке, в ответ два экрана стабильно кажут дулю. В ступоре я, в общем. На ардуине смысла нет его юзать, на стм не работает.
@@user-yo1hz6et8f понятно...тогда может для ардуины другой экран посоветуете?
@@Jake-Curious Этот тоже работать будет, но это пошаговая стратегия) Ждать несколько секунд, пока информация обновится - вообще некомильфо. Замечательно работает с параллельным 8-битным интерфейсом, но тогда ног ни на что другое у ардуины не остается. Я обычно с про-мини работаю. На меге - да, нормально.
музыка раздражает, а так - спасибо
А к stm32 покажите подключение))
Снимите видео по подключению экрана 128x64 (12864b v2.0), по SPI и I2C (если есть такая возможность). Спасибо!
Сейчас, к сожалению, нет на руках такого дисплея. Если попадется, то выложу обязательно.
а можно подключит 7 дюймовой экран,???
Greetings to the iomoio channel! I would like some help.
I have a 3.2" ILI9341 Touch TFT and I would like to know how to connect the pins on the Arduino Mega using the UTFT library.
I have already tried to do the calibration; when I load the calibration sketch "URTouch_Calibration", it shows the screen "INSTRUCTIONS, Touch screen to continue" but when I click on the screen, it does nothing. I connected as follows on the Arduino Mega:
UTFT myGLCD (ILI9341_S5P, 51, 52, 53, 48, 49); // UTFT myGLCD (Model, SDI, SCK, CS, RST, DC);
URTouch myTouch (6, 5, 4, 3, 2); // T_CLK, T_CS, T_DIN, T_DO, T_IRQ
My display is 3.2 TFT SPI 240 * 320 v1.0
Thank you
К сожалению видео не помогло, библиотеки не подходят к плате ESP32, хочу подключить именно к нему а не к ардуино.
Расскажи пожалуйста подробно про логики, конвертеры уровней, преобразователи напряжений и тд... много читал, но до меня так и не доходит, а ты умеешь разложить по полочкам. В частности на подходе подобный дисплей и хотелось бы полноценно использовать и его и встроенный слот sd в своём проекте. Как подключить? Как я понял резисторы на 10Ком решают проблему с разницей уровней 5в и 3,3в? получается так же можно подключить и sd карту? почему используется именно такой номинал резисторов? Сталкивался с подобным ы нескольких источниках, везде используются разные номиналы резисторов и везде указывается что это не решение проблемы.
Резисторы предохраняют дисплей. Они не конвертируют логику, а попросту ослабляют напряжение сигнала. Да, может работать и с другими номиналами, главное, чтобы сигнал с пятивольтового устройства на трехвольтовое не был слишком сильным,чтобы спалить модуль, и не был слишком слабым, чтобы модуль адекватно обрабатывал сигнал. Если дисплей работает, значит решение. =) По остальному, тема достаточно обширная, с множеством нюансов для каждого конкретного случая и в двух словах не опишешь. Модуль карты без проблем можно подключить. Сейчас точно не помню, но вроде там есть резисторы на входящих в модуль линиях (MOSI, CS, SDA), если ошибаюсь, то можно использовать конвертер логических уровней (например goo.gl/M5KaS3 ). А чтобы запитать от пятивольтового устройства можно использовать например такой DC-DC преобразователь: goo.gl/TV8dCG
дядь, пока смотрел видео и читал твой коммент, раза три чуть не пробил себе лоб фейспалмом, нельзя просто так взять и "послабить" сигнал просто поставив в цепь резистор, у тебя все работает только из-за того что тебе попался дисплей с контроллером толерантным к 5-ти вольтовой логике, а для sd карточки нужен либо делитель на резисторах либо шифтер(специализирования микросхема преобразования лог.уровней)
Резистор, подключенный последовательно с нагрузкой (читай - с входами контролера дисплея) ограничивает протекащий ток в цепи но не понижает напряжение логически уровней. Для этих целей нужно использовать делитель напряжения из 2-х резисторов для каждого ВЫХОДНОГО сигнала от МК к дисплею. А это ВСЕ сигналы кроме MISO (пин D12). Вот как нужно правильно согласовывать логические уровни МК и дисплея: simple-circuit.com/interfacing-arduino-ili9341-tft-display/
Александр, а как ваши библиотеки будут вести себя с модулями ESP32?
Я не пробовал
@@iomoio3897 Очень жаль... Хотелось бы знать...
Здравствуйте. Что можно сделать на этом дисплее?
Все что угодно
Хоть как монитор для компа....
Здравствуйте! Можете сказать какая польза от этих резисторов на 10Ком? Уменьшить ток на входе в дисплей? Но ведь ардуино сам по себе даёт на выходе около 40мА, так что не думаю что для этого...
Это колхозный метод согласовать 3 вольтовую логику дисплея и 5 вольтовую логику микроконтроллера. Если подавать напрямую, ток на линиях будет больше 40 ма ( AVR не ограничивает ток на уровне 40 ма) и спалит логику дисплея.
@@blastedfuse5541 почему это работает? Почему не подключить по 2 резистора 1ком и 2ком через землю?
@@blastedfuse5541 почему подключение резистора 10ком понижает логику с 5 до 3в?
@@neinanoku365 Делитель 1/2 кОм конечно будет работать.
Сам по себе резистор на 10 кОм ничего не понижает.
Он является ограничителем тока. Условная линия данных дисплея , или цифровой вход могут быть защищены от превышения допустимого напряжения с помощью стабилитронов, супрессоров, простых диодных сливов, или просто выходить из штатного режима работы, и начинает потреблять повышенный ток. Здесь и вступает в работу резистор, который не дает разрушить устройство, ограничив ток на безопасном уровне, и соответственно просадив напряжение до безопасного.
Но это нештатный режим работы.
Просто цель ролика - демонстрация работы, и что бы не отпугнуть аудиторию стабилитронами, делителями и преобразователями логических уровней - используется упрощенный режим.
На практике, в реально работающем устройстве нужно позаботиться о штатном режиме работы. Микросхема преобразователя уровней стоит копейки, экономить 15 центов при 10 долларовом дисплее глупо.
И еще, я перевернул простыню, на практике простота вылазит боком.
При батарейном питании устройств с монохромными дисплеями типа nokia1202/3310 и тд, где сам дисплей жрет меньше миллиампера, делитель 1кОм/2кОм добавит 3-6 миллиампер потребления в пустую.
При простом последовательном включении резистора 10-20 кОм могут появиться проблемы на больших скоростях работы шин SPI и I2C, ведь емкость монтажа + большое сопротивление на большой частоте исказят сигнал. Конечно для AVR это не так фатально, но для контроллеров пожирнее, где SPI работает на 30-50 MHz - уже точно будут проблемы.
@@blastedfuse5541 огромное спасибо за такой обширный ответ! использовал ваше подключение на сдаче проекта несколько месяцев назад с 16Мгц. Проблем не было, сдал на 100) спасибо
16/5000
Where can I find the file iomoio_240x320_touch_test?
залил на стм32 и что то инвертирован тач по сравнению с картинкой.
ДОБРЫЙ ДЕНЬ
купил дисплей как у вас на видео ,на контролере ILI9341
но не получается запустить
вы не поможите?
мне бы самое элементарное - хоть залить экран каким либо цветом
есть МК атмега 8 и 328
т,е прошу прошивку в формате hex и схему подключения,без ардуиновских загрущиков
Поставьте программу Arduino IDE, загрузите скетч, выберите подходящую плату в настройках, далее в верхнем меню Скетч -> Экспорт бинарного файла. По схеме не могу помочь к сожалению. =(
сделал все так же как вы показывали но оно не компелируется,пишет
Изменена опция сборки, пересобираем все
C:\Users\AL\Documents\Arduino\libraries\Adafruit_ILI9341\Adafruit_ILI9341.cpp:29:17: fatal error: SPI.h: No such file or directory
#include
^
compilation terminated.
Ошибка компиляции.
Проверьте есть ли библиотека SPI на компе. Она должна быть по умолчанию в дистрибутиве Arduino IDE. Можно попробовать поискать файл SPI.h штатным поиском, либо (если одна из последних версий Arduino IDE), то можно попробовать удалить 29-ю строку файла C:\Users\AL\Documents\Arduino\libraries\Adafruit_ILI9341\Adafruit_ILI9341.cpp (#include ).
Ардуино на максималках)
Почему Вы считаете, что дисплей не будет работать от 5в? Преобразователь напряжения, используемый на плате, это 65Z5, а он как раз рассчитан на напряжение 1.8-6 вольт (www.sunrom.com/p/xc6206p302mr-65z5).
Есть и другой вариант дисплея с другим преобразователем (662k - www.sunrom.com/p/xc6206p332mr-662k) - он тоже рассчитан на такие же напряжения, но выдаёт уже 3.3V против 3.0V. Продаётся тут - ru.aliexpress.com/item/240x320-2-8-SPI-TFT-LCD-Touch-Panel-Serial-Port-Module-with-PCB-ILI9341-5V-3/32815224006.html
Что думаете?
Я так не считаю. Просто не экспериментировал.
@@iomoio3897 Я проверил - работает хорошо и от 5в
Работа от 5В - это по питанию?
А что с работой дисплея при прямом подключении сигнальных линий к пинам Ардуино? Точно так делать не стОит?
@@colt2503 точно) ili9341 максимально 3,3в переваривает. А вот xpt2046 судя по даташу вполне жрет 5в
www.datasheet-pdf.info/entry/XPT2046
www.datasheet4u.com/mobile/769801/ILI9341.html
Привет, приятель, я хотел задать вам несколько вопросов. Во-первых, почему вы положили резисторы 10k, и я видел на многих веб-сайтах, что резисторы не появляются на электронной диаграмме. Во-вторых, Возможно, вы ошибаетесь в резистор значения?, я думаю, 10k черный, коричневый, оранжевый.Вы имели в виду 10 OHMS?.
The safest way is not resistors (they are used to limit a current, because a display is not 5V-tolerant and can be damaged) , but level-converter.
In any case, 10 Ohms will be useless.
I'm a lucky guy, so my display was not damaged by 5V (initially it was directly connected to 5V by a mistake and lack of the info), it just doesn't work in that case. With a level converter everything is OK.
To be honest, it is one of the most inconvenient displays. I use it only for a compatibility with some client's devices (and always have a headache).
As people said here, even Nextion of the same size will cost not too much more expencive
Hi Maxim!, I solved the problem as a month ago.Becasue of my poor experience dealing with GLCD I´ve had many problems at the begining:
1) There are a lot of circuist diagram to connect this devices to Arduino plataform and it depends on if it´s 3.3 or 5 volts.
2) Each GLCD model works out with the right libraries.Not all GLCD modules work with the same libraries.
3)Not all of the examples that come with the Arduino IDE work correctly since you have to modify them and and this depends on what level of knowledge the person has.You´ll have to experiment...
I used a resistor divider in the following pins ( CS,DC,MISO,MOSI,RESET,IRQ) and it working out very fine. THe most efficient way to do it would be by connectin a 5-3,3 volts converter chip or something like that ) but with resistors works out fine. To ensure that an LCD works properly there are two secrets:A) wiring connectings and B) The proper libraries.Greetings!!
@@maximbulkowsky6507 The display IS 5V-tolerant, read data-sheet
Look at this correct connecting diagram: simple-circuit.com/interfacing-arduino-ili9341-tft-display/
умные советы даёшь питание и подсветка может работать от 5 вольт остальное от 3.3 вольта.@@Jake-Curious
У меня белый экран, и ничего больше не появляется....вроде всё правильно сделал...
Экран такой же как у Виктора, без тачскина...
Белый экран - это подсветка включается. При использовании скетча yadi.sk/d/Ve_5cbUJyPzn5 важно, чтобы дисплей был на драйвере ILI9341, иначе работать не будет. Пробуйте запустить как с аппаратным, так и с программным SPI. Пробуйте RESET дисплея на 3.3V подключить без резистора. Внимательно проверяйте схему. Если хотя бы на одном из пинов плохое соединение, то работать не будет. У меня работает на Arduino Nano, Uno и Mega. К сожалению удаленно, без возможности посмотреть и пощупать, сложно подсказать что-то более конкретное. =( Если есть мультиметр под рукой, то прозвоните соединения.
@@KirillVotrin Да также как и на Uno, разница-то только в формфакторе.
спасибо за видос, очень медленно отрисовывает,надо больше секунды чтоб закрасить фон и написать какой-то текст(
На Си тоже? Я думал, что только на micropython такая фигня..
@@iomoio3897 на Си, ардуина дуо с экранами работает быстро,ну х... с ним, и так сойдёт
@@user-dp3qt8je2m ну ардуино не растберри пай)
а если я использую nano?
должно работать(у меня работает)
вот чё у всех работает быстро, а у меня заливка экрана 4 секунды?
у меня 5 -_-
сам по себе этот экран безполезен или я ошибаюсь
сам по себе да, контроллер нужен...
Аександр здравствуйте. У меня подобный дисплей, только не сенсорный. Покупал здесь: ru.aliexpress.com/item/Wholesale-1PC-2-2-Inch-240-320-Dots-SPI-TFT-LCD-Serial-Port-Module-Display-ILI9341/1762415310.html?spm=2114.10010208.1000016.1.uTcXYB
Вот под старость лет решил Ардуино попробовать. Короче не получается. Перед этим запускал 1.44' дисплей -всё прекрасно. Помогите советом пожалуйста.
Можно попробовать. Мой вариант:
Ваш дисплей подключается 8-ю выводами (верхний SDI/MISO не используется). VCC - 3.3V, GND - земля, RESET - 3.3V, LED - 3.3V, DC/RS - 9-й пин через резистор 10 кОм, CS - 10-й пин через резистор 10 кОм, SDI/MOSI - 11-й пин через резистор 10 кОм, SCK - 13-й пин через резистор 10 кОм. Пример скетча для Вашего дисплея собрал из этого примера, убрав лишнее. Скачать можно здесь: yadi.sk/d/Ve_5cbUJyPzn5 Понадобятся библиотеки Adafruit-GFX и Adafruit-ILI9341. Ссылки на них в описании под этим видео.
Если не получается, значит что-то уже пробовали. Для детального анализа нужна схема подключения и используемый скетч если есть. Опишите симптомы. =) Белый экран (подсветка) хотя бы загорается после подачи питания? Какую Arduino используете?
Удачи!
При загрузке скетча (iomoio_240x320_test), 17-ю строку выделяет красным цветом и пишет 'tft' was not declared in this scope. Это наверное в скобках нужно что-то указать?
Да, у меня UNO, всё светится.
Вот что он пишет по поводу компиляции:
Arduino: 1.6.11 (Windows 7), Плата:"Arduino/Genuino Uno"
C:\Users\Victor\Documents\Arduino\LCD\2.2 TFT SPI 240x320\iomoio_240x320_test\iomoio_240x320_test.ino: In function 'void setup()':
iomoio_240x320_test:17: error: 'tft' was not declared in this scope
tft.begin(); // Р?нициалиЕируем начало работы СЃ графическим дисплеем
^
Несколько библиотек найдено для "Adafruit_GFX.h"
Используется: C:\Users\Victor\Documents\Arduino\libraries\Adafruit-GFX
Не используется: C:\Program Files\Arduino\libraries\Adafruit
Не используется: C:\Program Files\Arduino\libraries\Adafruit
Не используется: C:\Program Files\Arduino\libraries\Adafruit
Не используется: C:\Program Files\Arduino\libraries\Adafruit
exit status 1
'tft' was not declared in this scope
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Да, прошу прощения. Забыл строку в скетче, где объявляется объект tft. Исправленный скетч можно скачать здесь: yadi.sk/d/Ve_5cbUJyPzn5
Жесть! Какие 10 Ком? Автор совсем слаб в аппаратной части. Нужно делать делитель напряжения, чтобы 3,3 вольта выпадало на одном из двух!!! резисторов. Один резистор не уменьшит напряжение, он может ограничить ток. Т.е. если собрать такую хрень, как в ролике, то на входах дисплея будет 5 вольт, а не 3,3. Учите матчасть прежде, чем давать советы!
работает и ладно