Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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. srpna 21:50
Avatar
tribal.cz
Redaktor
Avatar
tribal.cz:

Nejprve standardní pošli kód.

 
Nahoru Odpovědět 11. srpna 6:40
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Tomáš Hakl
Adam Ježek:

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. srpna 8:35
Nahoru Odpovědět 11. srpna 8:32
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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. srpna 11:45
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:

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. srpna 16:00
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:

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. srpna 16:33
 
Nahoru Odpovědět 11. srpna 16:32
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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. srpna 18:09
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:

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. srpna 18:58
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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. srpna 19:51
Avatar
Karel Zanáška:

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. srpna 20:23
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:

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. srpna 21:06
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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

 
Nahoru Odpovědět 11. srpna 21:09
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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

 
Nahoru Odpovědět 11. srpna 21:12
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:

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. srpna 16:14
Avatar
Tomáš Hakl
Člen
Avatar
Tomáš Hakl:

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. srpna 8:11
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Tomáš Hakl
ostrozan:

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. srpna 8:39
 
Nahoru Odpovědět 15. srpna 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.