Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
discount week 80 + hiring

Diskuze: Arduino - problém s TFT

Aktivity
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:10.8.2016 21:50

Ahoj, chtěl bych poprosit o radu. Zakoupil jsem display http://arduino-shop.cz/…0987998.html k desce. Mám desku Uno i Mega. Ale když display zapojím a do desky nahraji example, tak mi svítí jen podsvícení. Zkoušel jsem knihovny Adafruit_ILI9341 a TFTv2 a požád se mi na display nic nezobrazí. Ale kód jede. Posílám si po sériovce hodnoty a tam to chodí. Neměl někdo stejný problém? Díky za jakoukoli radu.

 
Odpovědět
10.8.2016 21:50
Avatar
Martin Suchodol
Redaktor
Avatar
Martin Suchodol:11.8.2016 6:40

Nejprve standardní pošli kód.

 
Nahoru Odpovědět
11.8.2016 6:40
Avatar
Adam Ježek
Redaktor
Avatar
Odpovídá na Tomáš Hakl
Adam Ježek:11.8.2016 8:32

Jsi si na 200% jistý se zapojením, a že nemáš poškozený nějaký jumper wire?
Vyzkoušej i další tutorialy.
Take bych jeste zkusil tohle https://www.arduino.cc/…TDisplayText

Editováno 11.8.2016 8:35
Nahoru Odpovědět
11.8.2016 8:32
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:11.8.2016 11:45

Zapojením si jistý jsem, když místo displaye zapojím jiné zařízení, které komunikuje pomocí HW_SPI tak to funguje. Vyzkouším ještě ten odkaz co ji mi poslal a uvidíme. Doufám, že to bude chyby na mé straně a ne v display :)

 
Nahoru Odpovědět
11.8.2016 11:45
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:11.8.2016 16:00

A jsi si jistý, že máš správné knihovny - nestačí jen správný řadič (ILI9341), ale taky musí pro to SPI - běžnější bývá pro 16(8) bitovou sběrnici.
Dál je taky možné, že je tam ani ILI9341 není, oni si stím číňani moc hlavu nelámou - ti slušnější ten typ aspoň napíšou na desku.
Ale máš - li displej opravdu z Arduino Shopu, pak by ti měl jet na knihovnu, která je součástí Arduino IDE po instalaci.

 
Nahoru Odpovědět
11.8.2016 16:00
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:11.8.2016 16:32

Pokud máš knihovnu odsud
pak by měla být OK, ale pozor - v těch příkladech nemají definované některé piny pro komunikaci

// For the Adafruit shield, these are the default.
// Same pinout, no need to declare.
// SD Chip Select = Pin 8
// #define TFT_DC 9
// #define TFT_CS 10
// TFT display and SD card will share the hardware SPI interface.
// Hardware SPI pins are specific to the Arduino board type and
// cannot be remapped to alternate pins.  For Arduino Uno,
// Duemilanove, etc., pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK.
// MEGA pin 51 = MOSI, pin 50 = MISO, pin 52 = SCK.

to si musíš definovat sám

Editováno 11.8.2016 16:33
 
Nahoru Odpovědět
11.8.2016 16:32
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:11.8.2016 18:09

Udělal jsem jednoduchou ukázku abych vyzkoušel funkčnost a pořád nic. Začínám to tipovat na špatný display. Jen na ukázku kód. Snad tam nemám nějakou botu.

#include <Adafruit_GFX.h>    // grafická knihovna
#include <Adafruit_ILI9341.h> // ovladač displeje
#include <SPI.h>             // SPI


#define sclk 13 // nastavení, kde co máme připojeno
#define mosi 11
#define miso 9
#define cs   10
#define dc   12
#define rst  8 // není zapojeno

Adafruit_ILI9341 tft = Adafruit_ILI9341(cs, dc, rst);

void setup(void)
{
    tft.begin();

    tft.fillScreen(ILI9341_RED);
}

void loop(void)
{

}

po nahrání display svítí pořád bíle a nedělá nic. Používám Arduino MEGA a HW SPI (MOSI - 51, MISO - 50, SCK - 52)

 
Nahoru Odpovědět
11.8.2016 18:09
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:11.8.2016 18:58

nějak tomu nerozumím - používáš HW SPI na pinech 50-52, ale definované v kódu máš 9,11,13 - možná to nevadí, ale radši to smaž

  • zkus orig. knihovnu "TFT" z Arduino IDE
  • když zkusíš příklad z té "Adafruit_ILI9341" - text_graphics - tak ti to posílá něco na COM terminál ?

špatný displej být nemusí - jak jsem už psal - může mít jiný řadič - a každý má jinou sekvenci příkazů pro inicializaci

V některých knihovnách jsou testovací prográmky pro zjištění typu řadiče - třeba Mcufriend - mimochodem jedná se jen o přečtení hodnoty na adrese (myslím) 0

 
Nahoru Odpovědět
11.8.2016 18:58
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:11.8.2016 19:51

Ta definice 9,11,13 určitě nevadí tam záleží jaký použiji konstruktor. Zkoušel jsem totiž i SW SPI. Ale ja jsem display kupoval z arduino-shopu tak počítám, že řadič bude ILI9341 ale radši to ověřím. Díky za radu. A COM normálně funguje. Funguje všechno kromě toho displaje. A originální knihovnu jsem zkoušel a taky nic. A zkusím teda ještě ten radič ale když to nefunguje tak si nejsem jistli půjde číst z paměti.

 
Nahoru Odpovědět
11.8.2016 19:51
Avatar
Karel Zanáška:11.8.2016 20:23

Ahoj, již delší dobu mám stejný problém, funguje mi jen podsvícení. Párkrát, v neurčitých intervalech, se mi displej rozsvítil a fungoval asi 2 sekundy. Našel jsem tento článek http://joysfera.blogspot.cz/…ruznych.html . V diskuzi lidi píšou, že jim nechtěl displej fungovat na 5V logice. Ještě jsem neměl čas vyzkoušet.

 
Nahoru Odpovědět
11.8.2016 20:23
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:11.8.2016 21:06

COM funguje, ale píše ti to co má?
V tom příkladu by to mělo vypsat nějaké parametry toho displeje na terminál.
Pokud ty údaje vypadají normálně, pak je problém právě v té inicializaci displeje.
Číst z paměti jde i bez ní.

 
Nahoru Odpovědět
11.8.2016 21:06
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:11.8.2016 21:09

Díky za článek zajímavý ale můj problém to bohužel nevyřešilo.

 
Nahoru Odpovědět
11.8.2016 21:09
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:11.8.2016 21:12

Hodnoty na COMu jsou divné, takže to asi bude ta inicializace. Zjistím jaký tam je ten řadič.

 
Nahoru Odpovědět
11.8.2016 21:12
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:13.8.2016 16:14

Já bych to spíš viděl na problém SPI (na straně displeje).
Zkus ještě dát na tu linku (MOSI,SCK,RST - na MISO nemusíš, to je vstup) dát nějaký ten level shifter(odporový dělič) pro sražení napětí na 3,3V. Je možné, že chip v desce displeje si nastavuje SPI vstupy do Hi-Z(vysoké impedance) a to může být problém, že pokud je chip napájený 3,3V a na vstupy přivádíš 5V tak má potom bordel v napěťových úrovních logických stavů. Krajní možností je, že vstupy těma 5V odpálíš, ale to si nemyslím.
Taky si zkus pohrát s CPOL a CPHA nastaveni pro ten Arduinový SPI.

 
Nahoru Odpovědět
13.8.2016 16:14
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:15.8.2016 8:11

Display jedu na 3,3V aby kdyby náhodou to 5V netolerovalo tak abych to právě neodpálil. Včera jsem to hodil na digitální analizátor a SPI do displaye posílá co má. Zkoušel jsem taky vyčítat ID a tam jsem narazil na problém. Vyčítalo to 0x000, takže to podle mě vypadá, že driver je nějaký špatný. Zkusím si nechat poslat jiný a pokud se to bude chovat stejně tak budu muset zabrousit dál ale myslím, že to bude tím displayem. SNAD :) díky za rady :) I když jsem teď uspěch moc neměl tak se mi Arduino začíná hodně líbit :) do teď jsem dělal s PIC ale pro tohle Arduino je hodně věcí dost ulehčených a hodně to zrychlí práci při sestavování HW což je paráda :)

 
Nahoru Odpovědět
15.8.2016 8:11
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:15.8.2016 8:38

Jestli uvažuješ o novém a nějak na to nekvaltuješ, tak být tebou hledám na ebay apod.
Pokud chceš vyloženě 2.4 tak osobně doporučuji "tohle ":http://m.ebay.com/…322079526361?…
Zabere to sice víc vývodů (u UNA všechny), ale já mám tyto odzkoušené - knihovny k nim poskytuje přímo výrobce.

A ještě mně napadlo, že jestli napájíš z 3,3V,tak bys měl propojit jumper u stabilizátoru, aby to nešlo přes něj.
Jinak jenom napájení 3,3V nestačí - ještě musíš (pokud nemáš) srazit ty 5V signály z arduina.

Editováno 15.8.2016 8:39
 
Nahoru Odpovědět
15.8.2016 8:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.