SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Arduino poradnik

Wstęp

Teoria

Biblioteki

Komponenty

Czujniki i sensory

Rozwiązania i algorytmy

Narzędzia

Mikrokontrolery i Arduino IDE

Arduino i klony

Poradniki wideo

Reklama na Blogu

Najnowsze poradniki

Ostatnie komentarze

Ostatnie fotografie

polskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorywieliczka-szyb-danilowicza

Wyświetlacz TFT 2.2 SPI ILI9341

Kolejnym, ciekawym wyświetlaczem jest 2,2" ekran TFT o rozdzielczości  240x320 wykorzystujący kontroler ILI9341. Jednym z bardziej znanych wyświetlaczy, które wykorzystują ten kontroler jest odrobinę większy  2.8" shield od Adafruit z ekranem dotykowym. Niestety cena jaką proponuje producent oscyluje w granicach 30$, nie licząc kosztów wysyłki do Polski. Natomiast opisywany dziś model, bez problemu kupimy na Allegro za niecałe 40 złotych.

Nie bez powodu opisuję właśnie ten egzemplarz. Po pierwsze, wyświetlacz ten posiada dwukrotnie większą rozdzielczość niż opisywany wcześniej HY-1.8 SPI. Po drugie, rozmiar i jego budowa pozwoli idealnie wpasować się w zaślepkę zatoki 5.25" w obudowie komputerowej. Pomimo, że ekran jest tu wyraźnie większy, to płytka PCB na której się znajduje, nie wystawie poza ramkę wyświetlacza (tak jak to miało miejsce w przypadku HY-1.8). Na odwrocie znajduje się również slot na karty SD.

Do obsługi tego wyświetlacza możemy posłużyć się standardową biblioteką Adafruit-ILI9341-Library oraz Adafruit-GFX-Library.

Uwaga na zasilanie i poziomy logiczne 3.3V

Napięcie zasilania tego wyświetlacza jak i poziomy logiczne wynoszą 3.3V, dlatego szczególnie należy uważać przy podłączeniu go do mikokontrolera działającego w logice 5V. O ile w przypadku Arduino UNO zasilanie 3.3V nie stanowi problemu, to sygnały cyfrowe już tak, dlatego też należy przekonwertować logikę 5V na 3.3V. Jeśli przypomnimy sobie schemat połączeń wyświetlacza HY-1.8, gdzie w roli konwertera napięć został tam wykorzystany bufor CD4050BE, to w przypadku ILI9341 niestety on nie zadziała. Na szczęście możemy skorzystać z prostego dzielnika napięcia z rezystorami o wartościach 1.8kΩ i 3.3kΩ. Takich dzielników będziemy potrzebowali cztery. W ten sposób "przeniesiemy" nasz sygnał cyfrowy z Arduino UNO z poziomu 5V do poziomu 3.3V.

  • D13 poprzez dzielnik napięcia podłączamy do pinu SCK
  • D12 podłączamy bezpośrednio do pinu MISO
  • D11 poprzez dzielnik napięcia podłączamy do pinu MOSI
  • D10 poprzez dzielnik napięcia podłączamy do pinu CS
  • D9 podprzez dzielnik napięcia podłączamy do pinu DC
  • RESET oraz LED podłączamy do zasilania 3.3V
  • GND podłączamy do masy

Układ połączeń

Fragment kodu dla sprzętowego SPI w Arduino UNO R3

  1. #define TFT_DC 9
  2. #define TFT_CS 10
  3.      
  4. #include <Adafruit_GFX.h>
  5. #include <Adafruit_ILI9341.h>
  6. #include <SPI.h>
  7.  
  8. Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
  9.      
  10. void setup(void)
  11. {
  12.   tft.begin();
  13.   tft.fillScreen(ILI9341_BLACK);
  14.   tft.setCursor(0, 0);
  15.   tft.setTextSize(2);
  16.   tft.setTextColor(ILI9341_WHITE);
  17.   tft.setTextWrap(true);
  18.   tft.print("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ");
  19. }
  20.      
  21. void loop() {}

Wymiary wyświetlacza

Reklama

Komentarze Komentarze
Avatar 1
bob Windows 7 / Mozilla Firefox 34.0
18 December 2014 - 18:54 Brak informacji

Cześć!
Artykół zainspirował mnie do kupna tego fajnego wyświetlacza.
Jedynie co mnie niepokoi to jasność jego. Jak jest w przypadku Twojego wyświetlacza?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 33.0
21 December 2014 - 23:58 Bytom

To znaczy? :) Jasność podświetlania? Że za ciemny? Że za jasny? :)

Avatar 1
bob Android 4.4 / Safari 537.36
30 December 2014 - 00:44 Brak informacji

Przepraszam, że nie sprecyzowałem. Jest za ciemny. Zastanawiam sie jak podswietlanie ulepszyć tak by w dziennym swietle mozna by komfortowo z niego korzystać.

Pozdrawiam i gratuluje fajnego bloga.

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
05 January 2015 - 01:30 Bytom

Może masz jakiś wadliwy egzemplarz? Jeśli nie mówimy o świetle słonecznym, tylko dziennym to w moim przypadku jasność jest OK

Avatar 1
Piotrek Windows / Safari 537.36
05 January 2015 - 16:39 Brak informacji

Witam, mam pewien problem, posiadam wyżej wymieniony wyświetlacz i arduino Mega2560, po przerobieniu powyższego kodu dokładnie linijki:
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, 51, 52, 53, 50);
Ponieważ akurat ten model posiada wyprowadzenia SPI na tych pinach, teoretycznie powinno działać ale po wgraniu kodu włącza się jedynie na chwile podświetlenie i gaśnie dzieje się tak na 2 egzemplarzach wyświetlacza co może być tego przyczyną?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
07 January 2015 - 00:44 Bytom

Szczerze to bladego pojęcia nie mam :) ale na dniach zaopatrzę się w megę i zobaczę co to może być

Avatar 1
Dario Windows / Safari 537.36
27 November 2018 - 18:46 Brak informacji

Witam, czy ten problem z podłączeniem tego TFT do Mega2560 udało się rozwiązać, bo mam ten sam wyświetlacz i problem z uruchomieniem :)

Avatar 1
bigplik Linux Ubuntu / Mozilla Firefox 34.0
20 January 2015 - 12:40 Brak informacji

hej Korneliusz, świetny artykuł, orientujesz się może jaki ma pobór prądu ten wyświetlacz, oraz ten na 1.8"?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
23 January 2015 - 23:33 Bytom

Sprawdzę po niedzieli bo akurat będę przy nim majstrował

Avatar 1
Krzysztof Linux / Safari 537.36
22 January 2015 - 14:27 Warszawa

Bardzo fajny artykuł, mam płytkę Leonardo i wyświetlacz 2,4" na ili9341, kompiluje się ładnie i nic. Wyświetlacz świeci na biało, ale nic się nie dzieje. na dzielnikach napięcia mam 2,9V (1,8k i 3,3k) może tu jest problem ?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
23 January 2015 - 23:32 Bytom

Powinno być ok, próbowałeś z jakimś konwerterem zamiast oporników?

Avatar 1
Jacek Windows / Safari 537.36
09 July 2017 - 10:40 Warszawa

Do których pinów Leonardo podłączasz odpowiednie wyprowadzenia wyświetlacza?

Avatar 1
Srysiu Windows 7 / Safari 537.36
27 January 2015 - 18:23 Warszawa

Witam. A ja mam inne pytanie jak wgrać do programu AUDRINO te biblioteki? Wiem, że to nie jest problem jak się wie jak. Dziękuję za pokazanie jak to się robi?
Srysiu

Avatar 1
Mars Windows / Safari 537.36
06 February 2015 - 23:49 Warszawa

Z tego co się orientuję, to nie wgrywasz żadnych bibliotek do Arduino. Do kompilacji i asemblacji brane są te dodatkowe pliki i razem z nimi tworzony jest plik binarny proramu i wysłany do Arduino. Arduino nie wie, że korzystałeś z czegoś typu "Adafruit_ILI9341". Dla niego jest to np. 01010010 ;)

Ale daaaawno nie wrzucałem niczego na Arduino i nie wiem jak trzeba dodawać te pliki do projektu.

Avatar 1
Kamil Windows 7 / Safari 537.36
04 February 2015 - 20:42 Warszawa

Witaj Korneliusz

masz moze przykład do takiego wyświetlacza? http://allegro.pl/lcd-2-8-spi-ili9341-ekran-dot-arduino-raspberry-i5032481292.html
chodzi mi o funkcję "włącz/wyłącz
wiem ze button ustawia się tak "if ((x>=250) && (x<=300)) // Button: 5 "
ale za nic nie umiem więcej... będe wdzięczny za każdy trop :)

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
04 February 2015 - 22:10 Bytom

Chodzi Ci o ekran dotykowy?

Avatar 1
Kamil Windows 7 / Safari 537.36
05 February 2015 - 17:09 Warszawa

tak :) nigdzie nie mogę znależc zadnego małego przykładu

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 30.0
06 February 2015 - 12:33 Katowice
Avatar 1
Kamil Windows 7 / Safari 537.36
08 February 2015 - 23:09 Warszawa

dzięki, tego nie widziałem, tyko z Adafruit..
popatrzę sobie moze coś rozszyfruję :)

Avatar 1
Jarek Linux Ubuntu / Mozilla Firefox 37.0
01 May 2015 - 19:23 Brak informacji

Witam.

W nawiaaniu do komentarza Kamila:
"masz moze przykład do takiego wyświetlacza? http://allegro.pl/lcd-2-8-spi-ili9341-ekran-dot-arduino-raspberry-i5032481292.html"

Udalo Ci sie uruchomic funkcje dotykowe dla tego ekranu ?

Wyswietlanie dziala bez problemu, ale nie jestem w stanie znalezc zadnej sensownej informacji o tym jak podlaczyc touch dla tych 5 pinow.

Avatar 1
Maciek Windows 7 / Safari 537.36
11 February 2015 - 18:50 Wrocław

Hej Korneliusz po kupnie takiego samego wyświetlacza zawędrowałem tu chce go odpialić czy mógłbyś mi przesłać cały szkić od którego mógłbym zaczac dalej . Bo ten fragment sie nie kompiluje . Biblioteki obie dodałem prze okienko IDE 1.0.5 .

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
11 February 2015 - 22:40 Bytom

Ale to jest cały szkic :) Pokaż lepiej komunikat błędu

Avatar 1
Kamil Windows 7 / Safari 537.36
13 February 2015 - 19:22 Warszawa

a czy rezystory są konieczne ? bez nich nie zadziała ?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
25 February 2015 - 21:38 Bytom

Na logice 3.3V :) na 5V bym nie ryzykował

Avatar 1
Maciek Windows 7 / Safari 537.36
17 February 2015 - 22:11 Warszawa

Wgrałem jeszcze raz biblioteki i skompilowało choć niektóre komunikaty przy kompilacji były na pomarańczowo . Ale chyba spaliłem go bo myslałem że podpinam do Arduino Due a podpiłem do MEGA2560 a tam porty chodzą na 5 V .Ekran ładnie świeci na biało po włączeniu . Stosujecie rezytory szeregowe 10 k na liniach sygnałowych jak już nie dajecie buforda CD4XXX . Pytanie czy LED podpinać przez tranzystor jesli chce wygaszać ekran czy normalnie pod pin portu (20mA )

Avatar 1
Michał Windows 7 / Safari 537.36
04 April 2015 - 18:56 Brak informacji

Witam. Zakupiłem wyświetlacz 2.8TFT SPI 240x320 v1.1 i podłączyłem do arduino uno zgodnie ze schematem. Program skompilował się bez błędów. Wyświetlacz świeci na biało, ale nic się nie dzieje. na dzielnikach napięcia mam 3,2V (1,8k i 3,3k). Kolega Krzysztof miał podobny problem. Co może być.

Avatar 2
MrWebsky Windows 7 / Safari 537.36
16 April 2015 - 14:35 Brak informacji

Masz złą sekwencja inicjalizującą.
Poprawna sekwencja powinna zaczynać się od komend 0x01 i 0xcf. Poszukaj takich przykładów.

Avatar 1
Tpz Windows 7 / Mozilla Firefox 38.0
04 June 2015 - 22:04 Dębica

Gdzie szukać tej sekwencji?

Avatar 1
Radej Windows / Safari 537.36
08 May 2015 - 17:22 Warszawa

Udało Ci się uruchomić? Ja ma ciągle tylko biały ekran.

Avatar 1
Jamtoje Windows 7 / Mozilla Firefox 37.0
19 April 2015 - 19:21 Brak informacji

Siemacie, mam takie pytanie, jak mam ten lcd, ale bez spi, tylko 16 bit, to mogę użyć 8 bitowej szyny, oraz jak się połączyć z nim wtedy?
Której połówki bitó użyć do komunikacji? Bo trzeba najpierw mu powiedzieć jak się połączyć chyba i inicjalizować?

Avatar 2
MrWebsky Windows 7 / Safari 537.36
20 April 2015 - 15:04 Brak informacji

Bez zmiany stanów podawanych na piny IM[3..0] nie da się zmienić konfiguracji interface wyświetlacza z 16 bit na 8. Jeśli ci się to jednak uda display będzie działał w trybie 8 bit. Chip można skonfigurować tak żeby korzystał z D[7..0] lub D[17..10]. Szczegóły w dokumentacji. IMHO jeśli kasa nie dusi skombinuj display z fabrycznym linkiem szeregowym. Na Allegro od 40PLN bez przesyłki.

Avatar 1
Jamtoje Windows 7 / Mozilla Firefox 37.0
21 April 2015 - 13:56 Brak informacji

Mam na spi 128x160, szybkością nie poraża wraz z xmega na 40Mhz, ale może to kwestia bascom.
Dlatego jestem ciekawy czy na równoległym by działał szybciej.

Avatar 2
MrWebsky Windows 7 / Safari 537.36
24 April 2015 - 09:26 Brak informacji

Teoretycznie po łączu równoległym powinno być szybciej, ale nie jest to bezwzględna prawda w każdych okolicznościach.
Są XMegi które wyprowadzają sprzętową magistalę zewnętrzną (EBI).
W takim wypadku SPI nie ma żadnych szans. Jeśli jednak trzeba
emulować magistralę na drodze programowej (czyli programowo realizować CS, RD/WR, linie danych i adresów) to suma czasu grzebania po rejestrach może być porównywalna z wypchnięciem 8 bajtów przez SPI.

Na początek spróbuj ustawić prędkość SPI brzebiąc po rejestrach gdyż
BASCOM może ci blokować ustawienie prędkości na max (może mieć
predefiniowane prędkości znacznie mniejsze do możliwości sprzętu).

Avatar 1
Jamtoje Windows 7 / Mozilla Firefox 37.0
27 April 2015 - 21:13 Brak informacji

No, ale i tak musi kod ustawić linię DC, i tylko to. CS ustawiłem na stałe. Bez żadnej poprawy. Mam spic_ctrl = &B11010000
Co ciekawe sama funkcja print nieźle spowalniała, zamiast tego dałem spic_data = zmienna_dane z oczekiwaniem na bit wysłania i jest wyraźnie szybciej. Ale nadal widać migotanie. Na bas tego isę chyba nie da wyeleminować. Za dużo pierdół zabiera za dużo taktów.

Avatar 1
Jacek Windows / Safari 537.36
10 October 2017 - 14:44 Warszawa

Zamieniłem biblioteki Adafruit_ILI9341 na PDQ_GFX.
Zobacz

2x szybsze przepisywanie znaków (zmierzyłem)

Avatar 1
Moriusz Windows 7 / Mozilla Firefox 38.0
21 June 2015 - 13:46 Brak informacji

Mam pytanko apropos dotyku tez go puszczac przez konweter sygnalu? na 3.3V? ja w tej chwili mam odpalony lcd uzywaja cd4050 i chce dotyk aktywowac i zastanawiam sie jak i czy przez scalaka czy bezposrednio?

Avatar 1
Jamtoje Windows 7 / Mozilla Firefox 38.0
21 June 2015 - 16:04 Brak informacji

Otóż niestety ST7735 na szynie równoległej jest bardzo mało szybszy niż ten po SPI. A szkoda. No ale nie miałem się co spodziewać, kiedy to co zpowalnia to kod a nie szyna danych. Trzeba zaprząc ten DMA.

Avatar 1
bigplik Linux Ubuntu / Mozilla Firefox 41.0
30 August 2015 - 19:01 Lublin

co trzeba zrobić żeby wyświetlacz pokazywał zmieniającą się czcionkę?
wyrzuciłem na ekran tft.print(voltage) i nie zmienia mi liczb, pokazuje pierwszą, potem tylko nadpisuje i zostają prostokąty w kolorze czcionki zamiast zmienijące się na ekranie numery,
wiesz Korneljusz jak to ustawić?

Avatar 1
Grześ Android / Safari 537.36
08 January 2020 - 11:46 Brak informacji

tft.print(voltage,3) // powinno wyświetlić trzy miejsca po przecinku

Avatar 1
Cris Windows / Mozilla Firefox 40.0
04 September 2015 - 13:44 Brak informacji

Mam pytanie: Dlaczego przy tym wyświetlaczu nie zadziała bufor CD4050?
Znalazłem na stronie: http://gordonsprojects.blogspot.co.uk/2014/04/arduino-tft-serial-spi-22-ili9341.html podłączenie tego wyświetlacza z tym buforem i wszystko działa pięknie i płynnie a przede wszystkim zredukowała się ilość użytych rezystorów :)

Avatar 1
Turla2 Windows 7 / Safari 537.36
20 January 2016 - 20:26 Warszawa

Mam pytanie.A podłączone złącze MISO bezpośrednio do Arduino nie zniszczy tego portu i czy to samo dotyczy jak bym chciał go podłączyć do Arduino mega?

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 43.0
22 January 2016 - 23:26 Bytom

Zależy od poziomów logicznych

Avatar 1
guzikowski121 Windows 8 / Opera 9.80
09 February 2016 - 22:23 Olsztyn

Witam.
Jaką komendą można obrócić teks na wyświetlaczu, żeby wyświetlał się w orientacji poziomej.
Z góry dziękuje i pozdrawiam

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 43.0
09 February 2016 - 23:53 Bytom

setRotation ?

Avatar 1
Radek Windows 7 / Mozilla Firefox 45.0
24 March 2016 - 12:38 Brak informacji

Witam

Mam problem z wyświetlaczem, gdy temperatura się zmienia to pokrywają mi się cyfry na wyświetlaczu i wszystko staje się nieczytelne. jak mogę temu zaradzić, bardzo proszę o pomoc.
Tak to wygląda na zdjęciu:
http://zapodaj.net/bc21ea9280bfb.jpg.html

#define TFT_DC 9
#define TFT_CS 10

#include
#include
#include

#include
#include

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);

int val;
int tempPin = 1;

void setup(void)
{
tft.begin();
tft.fillScreen(ILI9341_BLUE);
tft.setRotation(3);

tft.setFont(&FreeSans9pt7b);
tft.setTextSize(2);
tft.setTextColor(ILI9341_WHITE);
tft.setTextWrap(true);

}

void loop()
{
val = analogRead(tempPin);
float mv = ( val/1024.0)*5000;
int cel = mv/10;
int farh = (cel*9)/5 + 32;

tft.setCursor(5, 30);
tft.print("stan");
tft.setCursor(5, 150);
tft.print("temperatura:");
tft.setCursor(220, 150);
tft.print(cel);
tft.setCursor(270, 150);
tft.print("*C");
tft.setCursor(5, 200);
tft.print("cisnienie");

delay(1000);

}

Avatar 1
Radek Windows 7 / Mozilla Firefox 45.0
23 April 2016 - 22:04 Warszawa

Już rozwiązałem problem, zamiast:
tft.setTextColor(ILI9341_WHITE);
trzeba wstawić:
tft.setTextColor(ILI9341_WHITE, ILI9341_BLUE);
czyli białe napisy a tło niebieskie

pozdrawiam

Avatar 1
Jacek Windows / Safari 537.36
17 July 2017 - 20:40 Warszawa

Czcionka domyślna ma możliwość zdefiniowania koloru tła i dla tej czcionki
jest OK. Czcionka którą zdefiniowałeś (tft.setFont(&FreeSans9pt7b);) nie ma możliwości zdefiniowania koloru tła i dla tej czcionki metoda nie działa.
Tak to wygląda po moich testach.
Poza tym czcionka ma zdefiniowaną wielkość (7b) i zapis tft.setTextSize(2);
niczego nie zmienia.
Czy coś przeoczyłem?

Avatar 1
rafik73 Windows / Safari 537.36
04 May 2016 - 17:01 Wrocław

Da się podłączyć dwa lub trzy takie wyświetlacze pod jedno Arduino, tak, żeby wyświetlały to same lub indywidualne treści?

Avatar 1
dkg Windows / Safari 537.36
30 June 2016 - 17:21 Wrocław

Da się ;)

Avatar 1
rafik73 Linux Fedora / Safari 537.36
03 July 2016 - 19:35 Wrocław

Przydałby się tutorial podłączenia lcd tft 3.5" na ILI9481 do Arduino Uno R3 lub ESP8266-12E.

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 49.0
23 September 2016 - 19:52 Bytom

zamówione

Avatar 1
Sylwek Linux x86_64 / Mozilla Firefox 47.0
15 August 2016 - 21:35 Warszawa

Hej,
Pytanie mam dość trywialne, mianowicie nie korzystam z Arduino, ale chciałbym podpatrzyć rozwiązanie, czy ktoś mógłby mi zalinkować
Chciałbym go dostosować do swoich potrzeb.

Avatar 1
TwardY Windows 7 / Mozilla Firefox 48.0
17 September 2016 - 01:05 Częstochowa

Mam pytanie odnośnie podobnego wyświetlacza np tu:
http://www.ebay.com/itm/2-2-SPI-TFT-LCD-Display-Module-Board-240x320-For-Arduino-MEGA-UNO-Mega2560-/272018001924
, który ma do VCC połączone jeszcze dwa elementy elektroniczne, a w opisie jest napisane, że działa na napięciu wejściowym 5V/3,3V. Czy to oznacza że w tym modelu można go podłączać bez konwertera lv sygnałów na 5V??

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 49.0
23 September 2016 - 19:54 Bytom

Pewnie tak, ale najlepiej spytać sprzedawcę

Avatar 1
Eryk Windows / Safari 537.36
13 October 2016 - 13:06 Brak informacji

Pytanie. Czy jest możliwość zmiany jednej linijki tekstu bez przeładowania całego obrazu ?

Avatar 2
Korneliusz Mac OS X / Safari 537.36
14 October 2016 - 14:38 Brak informacji

Tak jest to możliwe, musisz najpierw wyczyścić w kolorze tła, obszar na którym znajduje się tekst

Avatar 1
Jacek Windows / Safari 537.36
10 October 2017 - 14:52 Warszawa

Albo wybrać czcionkę z tłem.
Taką opcję ma czcionka domyślna.
tft.setTextColor(ILI9341_BLUE, ILI9341_BLACK);
Ustawiasz kolor czcionki i kolor tła (powyżej niebieska czcionka, czarne tło).
Metoda dużo szybsza niż przepisywanie tła.

Avatar 1
Aki Android 5.0 / Safari 537.36
13 November 2016 - 13:03 Brak informacji

Fajny wyświetlacz, trochę kulawo się programuje ze względu na to, że czcionki Adafruit nie mają tła jak Korneliusz wspomniał. Czcionka podstawowa ma tło, ale to kwadraty. Fajnie gdyby zrobił ktoś ładne czcionki z tłem. Druga sprawa to to, że na Atmedze jest wolny po SPI. Wyświetlacze z ILI9341 po ISP są szybsze, ale wymagają więcej pinów do interfejsu równoległego. Ja ominąłem problem stosując Esp8266 (Esp12) do 160Mhz zegar. ILI9341 może pracować z 40Mhz po SPI, gdzie widziałem apki w których po modyfikacji bibliotek wyświetlacz pracował 15fps na esp12. Ale jest problem z tymi wyświetlaczami z dotykiem w rozmiarach 2,4. Problem to Chińczycy. Na rynku są wersje, które nie chętnie pracują z na pewno esp8266. Wpinam jednego producenta i chodzi. Witam innego i nie startuje. Czasem zaskoczy i już działa, ale brak zasilania i znów robi się biały. Jak będę rozłączał zasilanie, to za którymś razem się podniesie. Obydwie płytki różnią się drobnymi detalami. Moje podejrzenia to SPI i długość ścieżek, lub reset. Ty potrzebuje pomocy.

Avatar 1
Aki Android 5.0 / Safari 537.36
14 November 2016 - 10:11 Brak informacji

Po dodaniu komentarza zabrałem się do roboty. Zacząłem od funkcji reset. W swoim projekcie reset mam na sztywno podpięty pod zasilanie wyświetlacza. Zmieniłem to połączenie. Reset podpiąłem do plusa zasilania przez rezystor 10 kohm i bezpośrednio obciążyłem niewielkim kondensatorem elektrolitycznym 1 mikro. Ekran startuje za każdym razem. Mojej zabawy.

Avatar 1
Krzysztof J. Windows / Safari 537.36
28 February 2018 - 13:50 Brak informacji

DZIĘKI KOLEGO. JESTEŚ WIELKI!!

POZDRAWIAM

Avatar 1
Aki Android 5.0 / Safari 537.36
14 November 2016 - 10:11 Brak informacji

Po dodaniu komentarza zabrałem się do roboty. Zacząłem od funkcji reset. W swoim projekcie reset mam na sztywno podpięty pod zasilanie wyświetlacza. Zmieniłem to połączenie. Reset podpiąłem do plusa zasilania przez rezystor 10 kohm i bezpośrednio obciążyłem niewielkim kondensatorem elektrolitycznym 1 mikro. Ekran startuje za każdym razem. Mojej zabawy.

Avatar 1
bogas Windows / Safari 537.36
26 December 2016 - 15:30 Brak informacji

Działa, dzięki :)

Avatar 1
Tomek Windows 7 / Mozilla Firefox 54.0
16 May 2017 - 13:44 Brak informacji

Witam, z góry sory za prostotę pytania, ale jestem zielony jeżeli chodzi o elektronikę. Moja znajomość jej kończy się na lutowaniu układów z konkretnych skematów DIY ;) Nie mniej jednak chciałbym się dowiedzieć czy mógłbym zastosować ten wyświetlacz do swoich celów. I oczywiście serdecznie proszę o podpowiedź.

Obecnie posiadam kamerkę sportową Xiaomi YI i podłączony pod nią za pomocą kabla FPV (USB) Video output monitor TFT (do kamer cofania). Pytanie czy istnieje możliwość wykorzystania takiego wyświetlacza i podłączenia bezpośrednio pod sygnał output z kamerki. Jeżeli chodzi o zasilanie to sprawa widzę jest prosta 3.3V do + i -, a syngał da się bezposrednio podłączyć pod układ???

Bardzo bym prosił o pomoc w temacie. Pozdrawiam

Avatar 1
mariusz Linux x86_64 / Safari 537.36
01 February 2020 - 16:55 Malbork

witam,
Mam problem nie kompiluje mi sie zaden przyklad na żadna płytke, wywala duzo błędów. Biblioteki sciagniete z Githuba.arduino najnowsze 2020. ktos ogarniety pomoze... na I2C wszystko smiga na ledowych wyswietlaczach a tutaj od razu zonk