Arduino a DISPLEJE

Zde si můžeme předat nějaké ty zkušenosti.
  • Advertisement

Arduino a DISPLEJE

Příspěvekod ulitej » čtv 17. zář 2020 9:42:40

Při svém bastleni s arduiny jsem byl postaven před problém jak něco zobrazit na displeji. Zatím se mi podařilo rozhodit 1,8" SPI s arduinem NANO a jeden 3,95" s Mega2560 , který asi není SPI.
Při hledání jak zprovoznit 3,5 SPI (který mi přišel místo 3,95") jsem narazil na zajímavý produkt , který ovšem jsem nedohledal ,že by se někde vyskytoval v prodeji. Na ali se dohledají pravděpodobně podobné moduly které jak to vypadá jsou možné vzít jako základ a jen a jen vytvořit nějaká rozšiřovací shield (nebo jak seto správně píše).

Tady je tedy link http://www.lcdwiki.com/STM32F103C8T6_Mi ... ment_Board

Na netu je hodně videí , ale jen málo těch co by pomohlo a bohužel pro mě spíše v jazyce kterému nerozumím a tak jen mohu použít jen to co pochytím očima. To je asi hlavní důvod proč tady zakládám tento příspěvek a uvidím jestli má někdo obdobné problémy a podělí se o zkušenosti.
V dalším čase bych sem vložil mé zkušenosti s těmi dvěma displeji co jsem zprovoznil ,ale musím si to uspořádat v hlavě aby to mělo nějakou technickou úroveň.
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod Sakul » pát 18. zář 2020 5:29:35

Toto se prodává všude na Ali. Né sice jak píšeš konkrétně tato deska, ale desky s tímto procesorem ano. Jde o 32bit na 3,3V celkem slušných parametrů za pár korun. Na ali se deska podonmá Arduinu NANO s tímto procesorem prodává za nějakých 40Kč. Do Arduino IDE je potřeba doinstalovat podporu daného procesoru a lze to začít používat.

Jinak co se týká displejů, používám většinou varianty I2C, ale testoval jsem i nějaké SPI. Avšak v drtivé většině případů mi stačí běžný řádkový LCD 1602 nebo 2004.

Tehdá jsem psal článek pro SOS elektronics o měření kvality vzduchu ZDE je odkaz. V rámci tohoto článku byl i ukázkový projekt a video. Ten displej byl super včetně perfektně propracované podpory. Jen byl problém, že knihovna na jeho ovládání vyžrala přes půlku paměti procesoru ATMEGA328, takže prakticky s tímto procesorem nepoužitelné. Taktéž bohužel ta cena není taky zrovna lidová.
INFO:
Sakul WORLD: www.sakul.cz/
Sakul YouTube: www.youtube.com/user/sakulraider

Možnost příspěvku (Donate):
Patreon: https://www.patreon.com/sakul
PayPal: SakulRaider@seznam.cz
BU: 670100-2208863541/6210
Uživatelský avatar
Sakul
Administrátor
Administrátor
 
Příspěvky: 1752
Věk: 44
Registrován: úte 30. bře 2010 18:13:08

Re: Arduino a DISPLEJE

Příspěvekod ulitej » pát 18. zář 2020 10:37:15

Tak a jak jsem bojoval s displejem 1,8" SPI .
Nejdříve se vrátím k prvnímu textu a linku v příspěvku. Na LcdWiky k tomuto displeji je uvedeno Logic IO port voltage 3.3V(TTL) podle tohoto bychom asi měli použít převodník napětí z 5 na 3,3 V na příslušných pinech. Tuto informaci jsem zjistil až když jsem zkoušel rozchodit jiný a to 3,5" displej. Je zajímavé , že zatím provozuji 1,8" displej ve svém původním zapojení tedy bez převodníku napětí. Displej pro svoji funkci má vůči arduinu dva HW SPI piny , které musí být dodrženy u ATmega2560 pin 52 a 51 a u ATmega328P(tedy v provedení UNO a NANO) pin 13 a 11.Po spuštění ino souboru na mě vyskočila hláška , že nemám požadovanou knihovnu a po jejím doplnění displej provádí co má. Podle mě displej za velmi solidní peníz vcelku solidně doplní i vizuální informaci (různobarevně a graficky) toho s čím pracujeme v Arduinu pokud potřebujeme toto zobrazit . Protože pro menší projekty jsem použil malé NANO řešil jsem počet zbývajících pinů a to pomocí maticové klávesnice. Zde musím říci , že to jde rozšířit , ale musíme použít je tlačítka a né spínače. U toho displeje je také dobré ,že nepoužívá analogové piny, které pro svoji funkci nutně potřebuje třeba EXPANTÉR8574 (u NANA A4 a A5 -sběrnice I2C), který nám muže zajistit další signalizaci pomocí LED. Než jsem ovšem toto "sesmolil" tak Sakul hodnotí velikost paměti asi jsem měl prozatím kliku , že jsem tady nepohořel .
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod ulitej » čtv 26. lis 2020 10:33:29

Poznatky s displejem 3,5" a 2,2" . Jsou LACINÉ a FUNGUJÍ , jsou asi pomalejší dle mého názoru se, ale dají použít tam, kde potřebujeme pracovat s daty přes USB které zobrazíme na displeji a můžeme také odeslat data i ven přes USB a rychlost je až na druhém místě.
Oba displeje na řídících pinech musejí mít uroveň napětí 3,3V toto jsem vyřešil klasickým odporovým děličem jak jsem okoukal z jiných návodů. No , ale co bych chtěl tady probrat je ovšem toto. Na stránkách WWW.LCDWIKI.COM kde jsem čerpal moudra v demech se vyskytuje tato sekvence.
// CS DC/RS RESET SDI/MOSI SDO/MISO SCK LED VCC GND
//Arduino Uno A5 A3 A4 11 12 13 A0 5V/3.3V GND

//Remember to set the pins to suit your display module!
a dále následně
//paramters define
#define MODEL ILI9341
#define CS A5
#define CD A3
#define RST A4
#define MOSI 11
#define MISO 12
#define SCK 13
#define LED A0 //if you don't need to control the LED pin,you should set it to -1 and set it to 3.3V

sice je uvedeno, že je třeba upravit odpovídající piny dle použitého Arduina , ale právě toto bylo pro mě trochu znatené právě z dalším návodem u jiného displeje viz http://www.lcdwiki.com/2.2inch_Arduino_ ... KU:MAR2201 , kde právě tento displej používá analogové piny arduina viz obrázek po odrolování.

Takže třeba definice pinu #define CS A5 není opravdu u knihovny ILI9431 a ILI9488 analogový PIN A5 Arduina , ale jen nějaký název. Takže jsem definoval takto:
//paramters define
#define MODEL ILI9341
#define CS 10 //A5
#define CD 9 //A3
#define RST 8 //A4
#define MOSI 11
#define MISO 12
#define SCK 13
#define LED A0

PIN pro definování LED jsem neměnil a na tento pin jsem dle návodu přivevdl jen napětí 3,3 takže displej a jeho svit neřídím.
Do budoucna bych chtěl vyzkoušet tyto displej s nějakou versí STM32, kde je asi větší rychlost a větší pamět než u arduina UNA. (moc se v tom opravdu nevyznám :-( )
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod Sakul » čtv 26. lis 2020 11:54:28

Abych se přiznal nějak nevím v čem je problém. Analogové piny arduina nejsou jen analogové, ale i digitální. To záleží na tom jak jsou definovány. Při definici pinu je možno použít jak klasické označení A0-A7 nebo ekvivalentní značení jako digitální pin 14-19. Ve výsledku je to šumák.
INFO:
Sakul WORLD: www.sakul.cz/
Sakul YouTube: www.youtube.com/user/sakulraider

Možnost příspěvku (Donate):
Patreon: https://www.patreon.com/sakul
PayPal: SakulRaider@seznam.cz
BU: 670100-2208863541/6210
Uživatelský avatar
Sakul
Administrátor
Administrátor
 
Příspěvky: 1752
Věk: 44
Registrován: úte 30. bře 2010 18:13:08

Re: Arduino a DISPLEJE

Příspěvekod ulitej » čtv 26. lis 2020 17:43:04

Ano anologové piny takto mohou fungovat , jen bohužel (možná i chyba na mé straně) to s takto definováním nefungovalo a použití pinu A4 a A5 by následně zablokovalo použií například komunikaci přes I2C třeba s expandérem 8574 pokud by byla potřebná.
No, ale beru to jako můj nedostatek jak v teorii tak i praxi a zkusím ještě to rozchodit i s těmí analogovými piny.
Jinak jsem to bral jako informaci , že displeje opravdu jsou funkčí a rozchoditelné -třeba někdo tápe jako já jsem scháněl nějaké info.
Komunikoval jsem s jedním prodejcem v republice a následně mi odpoědě , že bohužel v danou chvíli mají displej , ale nějakjim nefunguje na jejich zkušebním oddělení :-)
Určitě máš Lukáši nepodstatně více znalostí a v tichosti ti je upříjmě závidím.
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod ulitej » čtv 26. lis 2020 17:49:42

Jen ještě takový dotaz A6 a A7 se dají použít jen s nějakém omezení - použil jsi někdy tuto možnost ? Teď, když jsem to napsal tak si uvědomuji, že se to asi týká jen UNA / NANO a jak to je s MEGA, kde je těch analogových pinů ještě vic - no kdo ví? No nezbvá nic jiného než si počkat na situaci , která to bude muset řešit.
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod Sakul » čtv 26. lis 2020 21:34:19

Piny A6 a A7 jsou dostupné pouze u SMD verze mikropočítače ATMEGA328. Navíc jsou tyto piny čistě analogové, takže nemohou pracovat jako digitální. Nicméně já je používám skoro ve všech mích konstrukcích jako analogové. Jdou však použít i jako "digitální-vstupy" (s určitým omezením), jen se to musí ošetřit programově. U MEGA je pak těch analogů 16.
Jinak pokud dochází piny i na ATEMAGA328 jde to pořešit tak, že se použije interní oscilátor, takže dva vývody od oscilátoru se dají použít jako digitální a je možno použít i Reset jako klasický digitální vstup, ale v takovém případě nejde použít bootloader. Ale je pak k dispozici 22 IO portů.
No a kdyby i toto bylo málo jde použít varianta ATEMAGA328PB, která může mít až 26 IO portů.

Od doby co jsem objevil MCUdude od Hanse už nepoužívám pro žádné mikropočítače defaultní konfiguraci z Arduino IDE jako jsou UNO, MEGA, protože ty jsou brutálně funkčně okleštěné a není tam možná žádná konfigurace pro vyladění mikropočítače pro konkrétní použití v navrhované aplikaci.

Momentálně mne hodně zaujaly mikropočítače Mega4808 nebo Mega4809. Také si pohrávám s myšlenkou na AVR128DA28, AVR64DA28, AVR32DA28, které se mi jeví jako super volba.

Takže až trochu potestuju dám vědět co a jak.
INFO:
Sakul WORLD: www.sakul.cz/
Sakul YouTube: www.youtube.com/user/sakulraider

Možnost příspěvku (Donate):
Patreon: https://www.patreon.com/sakul
PayPal: SakulRaider@seznam.cz
BU: 670100-2208863541/6210
Uživatelský avatar
Sakul
Administrátor
Administrátor
 
Příspěvky: 1752
Věk: 44
Registrován: úte 30. bře 2010 18:13:08

Re: Arduino a DISPLEJE

Příspěvekod ulitej » pát 04. pro 2020 16:54:42

Ahoj případní čtenáři , tak jak se podivil Sakul v příspěvku výše o funkčnosti analogových pinů tak opravdu měl pravdu , ino soubory z dema s analogovými piny fungují. Takže největší chyba na mé straně byla ta , že do INO souboru jsem NEDOPLNIL ty piny , které v demu nebyly pod řádkem //paramters define uvedeny a bylo o nich pojednáno v demu o troch víše. Tak ať se případné dílo daří.
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod ulitej » pát 18. pro 2020 10:54:49

Tak bohužel jsem narazil na problém s kterým si nevím rady a tak zkouším hodit dotaz pro případnou radu.
Dissplej 1,8" nastaveny CS 10 , DC 9 , RST 8 displej má na zadní straně označení SPI takže tyto piny definovány přes knihovnu ? Tento displej mi funhuje s arduinem a mohu komunikovat s displejem přes USB konektor a měnit na něm údaje - takže v INO v setapu příkaz "SERIÁL.BENING(115200)"

Takže jsem chtěl změnit 1,8" za 3,5" také SPI typ a tady jsem narazil na problém - displej pokud je v INO souboru v setapu nastavena komunikace přes USB "SERIÁL.BENING(115200)" začne zobrazovat "kraviny" nevím jak to popsat jinak. V zapojení použity PINY CS 10 , DC 9 , RST 8 a SPI PINY SCK 13 , MISO 12 , MOSI 11 tak jak je uvedeno jak na ATmega328 tak i v příslušné knihovně ILI9488.

Mám dotaz asi hlavně ke komunikaci přes USB - které piny mimo D0 a D1 jsou nějak obsazeny při UATR komunikaci ?
Snad jsem to trochu popsal jak se má a tochu doufám v nějako radu. Dík lada
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod Sakul » pát 18. pro 2020 13:36:43

Mám dotaz asi hlavně ke komunikaci přes USB - které piny mimo D0 a D1 jsou nějak obsazeny při UATR komunikaci ?


Odpověď je žádné. Pro komunikaci přes rozhraní UART se používají pouze 2 piny a to právě D0 a D1.

Bohužel s ostatním asi moc neporadím, neb nemám s tímto zkušenost.
INFO:
Sakul WORLD: www.sakul.cz/
Sakul YouTube: www.youtube.com/user/sakulraider

Možnost příspěvku (Donate):
Patreon: https://www.patreon.com/sakul
PayPal: SakulRaider@seznam.cz
BU: 670100-2208863541/6210
Uživatelský avatar
Sakul
Administrátor
Administrátor
 
Příspěvky: 1752
Věk: 44
Registrován: úte 30. bře 2010 18:13:08

Re: Arduino a DISPLEJE

Příspěvekod ulitej » sob 19. pro 2020 9:48:00

Děkuji , malou chybičku jsem dohledal pravděpodobně musí být základní inicializace displeje v setupu ve složených závorkách - potom se to začalo chovat o něco lépe a displej defakto komunikuje pomocí USB konektoru ,ale zatím se tam projevuje ještě nějaký nedostatek tak uvidím jestli to nějak dořeším.
Pravděpodobně opravdu asi budu muset zkusit nějaký UART displej jen zatím nemám urovnané tvé poznámky k těmto displejům tak bych poprosil ještě jednou o radu - myslíš, když použiju arduino MEGA PRO (ten by měl víc těch UART comů) tak s arduinem budu komunikovat pomocí USB konektoru a dislej bude pomocí jiného UART comu dostávat data co má zobrazit.
Snad jsem to z té mé hlavy trochu popsal jak bych to potřeboval.
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31

Re: Arduino a DISPLEJE

Příspěvekod Sakul » sob 19. pro 2020 10:40:02

Ještě se vrátím k tvému problému s tím zobrazovaným chaosem. Kolik zabírá tvůj projekt SRAM? Pokud je to více jak 1,5K, tak je na vině přepisování paměti z důvodu jejího nedostatku. Arduino IDE většinou píše varování, že to nemusí fungovat. Pokud toto napíše většinou to opravdu nefunguje a je potřeba uvolnit SRAM.

Co se týká nastavení a inicializace UARTu je to takto:
Kód: Vybrat vše
void setup() {
  Serial.begin(115200);
}

Nemusí to být v setupu, ale klidně kdekoli jinde. Samozřejmě to však musí být v nějaké funkci tedy ve složených závorkách {}.

myslíš, když použiju arduino MEGA PRO (ten by měl víc těch UART comů) tak s arduinem budu komunikovat pomocí USB konektoru a dislej bude pomocí jiného UART comu dostávat data co má zobrazit.

Ano přesně takto to lze použít.
Jen abych se přiznal furt nevím, proč potřebuješ posílat nějaká data do displeje přes USB. Todle bych asi potřeboval trochu lépe vysvětlit. Protože v takovém případě při použití displeje s UARTem, jako je třeba Nextion, vůbec arduino nepotřebuješ a displej můžeš připojit rovnou na USB a data do něj přes to USB posílat.
INFO:
Sakul WORLD: www.sakul.cz/
Sakul YouTube: www.youtube.com/user/sakulraider

Možnost příspěvku (Donate):
Patreon: https://www.patreon.com/sakul
PayPal: SakulRaider@seznam.cz
BU: 670100-2208863541/6210
Uživatelský avatar
Sakul
Administrátor
Administrátor
 
Příspěvky: 1752
Věk: 44
Registrován: úte 30. bře 2010 18:13:08

Re: Arduino a DISPLEJE

Příspěvekod ulitej » čtv 24. pro 2020 13:16:53

Ahoj ,
omlouvám se za opožděnou reakci , ale předvánoční schnou byl to co mě zdrželo , když nám zatrhli dovču na horách :-).
Takže displej chci používát pro svoji konstrkci HW ovládacích panelů ve spojitosti s leteckým simulátorem FSX , který je sice již cca 15 let starý , ale takové virtuální polítání s počítačem je taková malá zábava.
Sim FSX je schopen posílat data mimo svůj program a tyto dále zpracovávat - takže se využije nějaký pomocný program, ( v mém případě NunaLink - https://www.nunasimulations.com/nuna-si ... -32-64-bit) , který tyto data pře USB port pošle na arduino a nebo přijme povel z Arduina a sim provede úkon.

Takže načitám třeba číselnou hodnotu hodnoty kompasu a tu zobrazuji na nějakém zobrazovači a nebo naopak v třeba v režimu autopilota nastavím hodnotu kam mám letět a letadlo si tam letí samo.
Prostě neovládám sim pomocí myši a klikáním na obrazvce , ale pomosí "hmatatelných fyzických páček či točítek" a případnč čtu hodnoty mimo obrazovku.

Na tu pamět se kouku a opravdu tam ta hláška je , takže asi máš pravdu -holt praxe a znalosti jsou velkou devizou.
Uživatelský avatar
ulitej
Pokročilý
Pokročilý
 
Příspěvky: 117
Registrován: ned 13. led 2019 13:34:31


Zpět na Arduino


  • Advertisement

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník