3.2" 240x320 TFT LCD дисплей з сенсорним екраном на ILI9341 і XPT2046
код: AOC422
Доставка по Україні
Ми відправляємо замовлення "Новою Поштою" по Україні. Також можливий самовивіз з нашого магазину
6 місяців
гарантії
Ми даємо гарантію на будь-який товар придбаний в нашому магазині:
6 місяців на товари, крім батарейок і акумуляторів
14 днів на батарейки та акумулятори
У разі настання гарантійного випадку товар безкоштовно ремонтується, змінюється на аналогічний або повертається повна сума його вартостіУважно ознайомтеся з умовами гарантії.
Проконсультуємо до і після продажу
Ви можете задавати питання письмово по e-mail або за контактними телефонами нашого магазину
739 грн
очікується
Опис
Відгуки (28)
Задати питання
Якісний 3,2 "TFT LCD дисплей на контролері ILI9341. Дисплей оснащений сенсорною панеллю з контролером XPT2046, який видає точку дотику в цифровому вигляді. За допомогою цього дисплея можна побудувати системи контролю з керуванням через сенсорний дисплей, фоторамки і так далі. У комплекті йде стилус.
Дисплей підтримується бібліотекою UTFT починаючи з версії v2.82, тому не забудьте оновитися. Приклад ініціалізації: UTFT myGLCD (CTE32_R2,38,39,40,41);
Де CTE32_R це тип дисплея в просторі імен бібліотеки UTFT, а 38,39,40,41 це піни, до яких підключені відповідно виводи RS, WR, CS, RST
Увага! Дисплей працює з рівнем сигналів 3.3В, якщо його підключати до мікроконтролерів, що працюють з рівнями 5В (наприклад Arduino Mega) він може вийти з ладу. Рекомендуємо використовувати Arduino Due або STM32.
Характеристики:
Розмір дисплея: 3.2 дюйма
Роздільна здатність: 240 * 320
Тип матриці: TFT
Драйвер дисплея: ILI9341
Драйвер сенсорної панелі: XPT2046;
Інтерфейс: 16-біт паралельний
Тип інтерфейсу: 6800, 8080 і STM32
Інтерфейс сенсорного екрану: 16-біт
Напруга живлення: 5В
Напруга логічних сигналів: 3.3 В
Підсвічування: світлодіодна з ШІМ контролем яскравості
// UTFT_Demo_320x240
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/
//
// This program is a demo of how to use most of the functions
// of the library with a supported display modules.
//
// This demo was made for modules with a screen resolution
// of 320x240 pixels.
//
// This program requires the UTFT library.
//
#include
extern uint8_t BigFont[];
// Declare which fonts we will be using
extern uint8_t SmallFont[];
// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// Standard Arduino Mega/Due shield : ,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due : ,25,26,27,28
// Teensy 3.x TFT Test Board : ,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : ,22,23,31,33
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(CTE32_R2,38,39,40,41);
void setup()
{
randomSeed(analogRead(0));
pinMode(46,OUTPUT);
digitalWrite(46,1);
pinMode(47,OUTPUT);
digitalWrite(47,1);
// Setup the LCD
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
}
void loop()
{
int buf[318];
int x, x2;
int y, y2;
int r;
// Clear the screen and draw the frame
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.setColor(255, 0, 0);
myGLCD.fillRect(0, 0, 319, 13);
myGLCD.setColor(64, 64, 64);
myGLCD.fillRect(0, 226, 319, 239);
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(255, 0, 0);
myGLCD.print("* Universal Color TFT Display Library *", CENTER, 1);
myGLCD.setBackColor(64, 64, 64);
myGLCD.setColor(255,255,0);
myGLCD.print("https://arduino.ua/", CENTER, 227);
myGLCD.setColor(0, 0, 255);
myGLCD.drawRect(0, 14, 319, 225);
// Draw crosshairs
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.drawLine(159, 15, 159, 224);
myGLCD.drawLine(1, 119, 318, 119);
for (int i=9; i<310; i+=10)
myGLCD.drawLine(i, 117, i, 121);
for (int i=19; i<220; i+=10)
myGLCD.drawLine(157, i, 161, i);
// Draw sin-, cos- and tan-lines
myGLCD.setColor(0,255,255);
myGLCD.print("Sin", 5, 15);
for (int i=1; i<318; i++)
{
myGLCD.drawPixel(i,119+(sin(((i*1.13)*3.14)/180)*95));
}
myGLCD.setColor(255,0,0);
myGLCD.print("Cos", 5, 27);
for (int i=1; i<318; i++)
{
myGLCD.drawPixel(i,119+(cos(((i*1.13)*3.14)/180)*95));
}
myGLCD.setColor(255,255,0);
myGLCD.print("Tan", 5, 39);
for (int i=1; i<318; i++)
{
myGLCD.drawPixel(i,119+(tan(((i*1.13)*3.14)/180)));
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.drawLine(159, 15, 159, 224);
myGLCD.drawLine(1, 119, 318, 119);
// Draw a moving sinewave
x=1;
for (int i=1; i<(318*20); i++)
{
x++;
if (x==319)
x=1;
if (i>319)
{
if ((x==159)||(buf[x-1]==119))
myGLCD.setColor(0,0,255);
else
myGLCD.setColor(0,0,0);
myGLCD.drawPixel(x,buf[x-1]);
}
myGLCD.setColor(0,255,255);
y=119+(sin(((i*1.1)*3.14)/180)*(90-(i / 100)));
myGLCD.drawPixel(x,y);
buf[x-1]=y;
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// 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(70+(i*20), 30+(i*20), 130+(i*20), 90+(i*20));
delay(200);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// Draw some filled, rounded 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.fillRoundRect(190-(i*20), 30+(i*20), 250-(i*20), 90+(i*20));
delay(200);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// Draw some filled circles
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.fillCircle(100+(i*20),60+(i*20), 30);
delay(200);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// Draw some lines in a pattern
myGLCD.setColor (255,0,0);
for (int i=15; i<224; i+=5)
{
myGLCD.drawLine(1, i, (i*1.44)-10, 224);
delay(50);
}
myGLCD.setColor (255,0,0);
for (int i=224; i>15; i-=5)
{
myGLCD.drawLine(318, i, (i*1.44)-11, 15);
delay(50);
}
myGLCD.setColor (0,255,255);
for (int i=224; i>15; i-=5)
{
myGLCD.drawLine(1, i, 331-(i*1.44), 15);
delay(50);
}
myGLCD.setColor (0,255,255);
for (int i=15; i<224; i+=5)
{
myGLCD.drawLine(318, i, 330-(i*1.44), 224);
delay(50);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// Draw some random circles
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=32+random(256);
y=45+random(146);
r=random(30);
myGLCD.drawCircle(x, y, r);
delay(50);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// Draw some random rectangles
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=2+random(316);
y=16+random(207);
x2=2+random(316);
y2=16+random(207);
myGLCD.drawRect(x, y, x2, y2);
delay(50);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
// Draw some random rounded rectangles
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=2+random(316);
y=16+random(207);
x2=2+random(316);
y2=16+random(207);
myGLCD.drawRoundRect(x, y, x2, y2);
delay(50);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=2+random(316);
y=16+random(209);
x2=2+random(316);
y2=16+random(209);
myGLCD.drawLine(x, y, x2, y2);
delay(50);
}
delay(1200);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
for (int i=0; i<10000; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
myGLCD.drawPixel(2+random(316), 16+random(209));
}
delay(1200);
myGLCD.fillScr(VGA_YELLOW);
myGLCD.setColor(0, 0, 255);
myGLCD.fillRoundRect(50, 70, 269, 169);
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(0, 0, 255);
myGLCD.setFont(BigFont);
myGLCD.print("arduino.ua", CENTER, 105);
delay (1000000);
}
Відгуки покупців про 3.2" 240x320 TFT LCD дисплей с сенсорным экраном на ILI9341 и XPT2046
Дмитрий (11.11.2021)
Подскажите, а можно подключить этот дисплей через специальный модуль для сокращения количества подключаемых портов к самому Ардуино? например такой https://arduino.ua/prod1790-iici2cinterfeis-lcd1602-2004
Спасибо. А есть ещё какие-нибудь решения для сокращения количества подключаемых портов, но чтобы информация на дисплей выводилась с нормальной скоростью?
Покупал у Вас данный дисплей.
Подключил к плате STM32F4xx-discovery по шине SPI. На контакт VCC подал +5В, т.к. на плате дисплея есть преобразователь напряжения в 3,3В с тыльной стороны. Но на контакт "LED" не рискнул подавать 5В, а подал туда 3,3В. Как я понял, это питание самого экрана. Правильно ли я сделал? Не могу найти описание с напряжением на данном контакте. Спасибо.
Знайшов відомості, які мене цікавили та зацікавлять інших.
Ось посилання на один з російськомовних форумів, де обговорюють саме цей сенсорний екран: http://arduino.ru/forum/apparatnye-voprosy/kak-podklyuchit-displei-32-lcd-module
Обов''язково прочитайте усю гілку цього форуму від початку до кінця. Там побачите багато чого цікавого.
Раніше я написав, що через шину SPI графіку виводити неможливо, але виявляється, що виводити графіку через шину SPI таки можна. Шина SPI спільна для дисплея, сенсорної панелі та карти SD. Для кожного з цих випадків використовується свій власний сигнал вибору кристалу CS.
Там також надано посилання на архівний файл, де містяться схеми та приклади програм: https://yadi.sk/d/sOkpTV6nmLxeU
Але, нажаль, майже увесь вміст цього архіву на китайській мові. Але це не завадить розібратися де що.
Вдачі!
Уточнення після ретельного читання гілки на форумі: http://arduino.ru/forum/apparatnye-voprosy/kak-podklyuchit-displei-32-lcd-module .
Через шину SPI можна лише обмінюватися даними з контролером сенсорної панелі, картою пам''яті SD та мікросхемою флеш-пам''яті, яка відсутня на платі. Нажаль, через шину SPI неможливо виводити графіку. Графіку можна виводити лише у вигляді паралельного 16-розрядного коду. Цього змінити неможливо, бо так вирішили зробити розробники цього модуля дисплея.
данный дисплей имеет чип ILI9341, сам чип может работать по SPI НО необходимо выставить сигналы па выводах М0х , на самой плате они не выведены , но на выводах дисплея (под ним ) они могут присутствовать , если их установить , и найти выводы SPI самого дисплея , наверное можно подключить , Увы , информации про распиновку самой платы дисплея (не товара) , и где найти нужные выводы - нет
Знайшов у Інтернеті відгуки стосовно цієї плати за цією адресою: https://ru.aliexpress.com/store/product/YX-free-shipping-3-2-inch-TFT-LCD-Touch-Screen-Module-Display-Ultra-HD-320X240-ILI9341/1630603_32609693050.html?detailNewVersion=&categoryId=400401
Цитата:
"
Углы обзора конечно не IPS, но немного лучше обычного LCD 16x2 строки. Экран работает только с шиной данных в 16 бит (8 бит и SPI не получится из-за особенностей печатной платы). Тач тоже работает терпимо. На плате есть место для нераспаяной SPI flash. Питание только 3.3В (не взирая на присутствующий стабилизатор питания). За свои деньги очень не плохой вариант. Из минусов: какой-либо документации на плату (как реально распаян экран на плате) у продавца нет. Приходится догадываться самому.
"
На упаковці сенсорного екрану є наступний напис:
SKU:QDM320DB16TP9341RA
Комусь може знадобиться. Можливо, цього достатньо, щоб вказати у графі "Найменування" у переліку елементів.
Нажаль, інших відомостей про цей сенсорний екран поки що немає.
Збираюся використати цей дисплей у пристрої, який розробляю, тому мені доведеться в конструкторській документації вказати найменування дисплея (його марку) та виробника дисплею. Прошу надати ці відомості.
Прошу також, якщо можливо, надати схему електричну принципову цього пристрою.
1) Мене також цікавить, чи існують обмеження для використання шини SPI? Контролери дисплею ILI9341 та сенсорної панелі XPT2046 керуються через одну и ту саму шину SPI? Чи кожен з цих контролерів має окрему шину SPI? Або через шину шину SPI керується лише контролер XPT2046, а для керування контролером дисплею доведеться задіяти паралельний інтерфейс?
2) Цікавить досвід використання цього сенсорного екрану разом з мікроконтролерами STM32. Які бібліотеки найбільш підходять для цього сенсорного екрану?
Прошу дати відповіді на ці запитання якомога швидше.
Якісний SPI TFT дисплей 240 x 320 на контролері ILI9341 з резистивною сенсорною панеллю і контролером XPT2046 знадобиться розробникам, для яких потрібне введення і виведення інформації на дисплей з мінімальними витратами на підключення. Послідовний SPI інтерфейс дозволить підключити...
Репліка оригінальної плати Arduino Mega2560 . Як USB-UART перехідник використовується мікросхема CH340, яка добре себе зарекомендувала та відрізняється хорошою стабільністю, високою швидкістю передачі даних, але для якої потрібна додаткова установка драйверів.Також контролер від попередників...
Датчик температури DS18B20 в захисному водонепроникному корпусі з пиловологозахистом IP67. Діапазон температур, вимірюваних датчиком знаходиться в межі -55С ... + 125С. Але так як захисна оболонка датчика зроблена з ПВХ, то рекомендується верхній діапазон виміру обмежити ста градусами. Сам...
Двохнаправлений восьмиканальний перетворювач логічних рівнів цифрових сигналів на мікросхемі TXS0108E . Перетворювач працює в широкому діапазоні живлячої напруги від 1,2 В до 5.5В. Джерела живлення можуть бути роздільними, але із загальним негативним виводом. Для перемикання напрямку...
Клон оригінальної плати Arduino Mega 2560 Rev3 . Це остання версія топової мікроконтролерної плати від Arduino, яка тепер має на борту новий чіп Atmega16U2 (у версіях Rev1 і Rev2 Atmega8U2) з програмною прошивкою конвертера "USB-послідовний порт", замість мікросхем FTDI в більш...
Даний модуль годинника реального часу (RTC) відрізняється від подібних модулів тим, що він побудований на унікальній мікросхемі DS3231SN . Унікальність її полягає в дуже високій точності ходу годинника. Цього вдалося домогтися, помістивши кварцевий резонатор в корпус мікросхеми та...
Плата розробника мінімальної конфігурації з мікроконтролером ARM Cortex-M3 STM32F103C8T6 . На платі зібрані всі необхідні елементи для початку роботи з даним сімейством мікроконтролерів. Для програмування контролера необхідне застосування програматора ST-Link.
Велика макетна плата (830 отворів) з двома лініями для живлення з кожного боку (200 отворів). Дана макетка дозволяє без пайки створювати макети електронних проектів для їх тестування, перевірки та наладки перед остаточним монтажем. Розміри безпаєчної макетної плати MB102 165х56 мм, кількість...
69 грн
Шановні друзі! Ми намагаємося тримати на сайті інформацію про наявність товарів та ціни на них в актуальному стані. Коригування відбуваються постійно. Якщо ви знаходите ціну на товар завищеною, напишіть нам про це із посиланням на товар. Ми розглянемо лист та чи обгрунтуємо ціну, чи підкоригуємо її. Асортимент магазину дуже великий та іноді бувають помилки в ціноутворенні, особливо при скачках курсу долара. Дякуємо за розуміння.