Ir ao conteúdo
  • Cadastre-se
vtrx

GLCD 320X240 + TouchScreen

Recommended Posts

Estou postando link com com a parte1 de alguns testes usando LCD 320x240 e TouchScreen para quem está ou vai se aventurar a trabalhar com gráficos utilizando estes LCDs com Microcontroladores.

 

http://www.youtube.com/watch?v=XRyC43_bSmY

 

Segue link do programa que fiz para capturar os bytes de imagens BMP e gerar arquivos .h ou .c para serem usados em rotinas graficas.

 

http://www.4shared.com/get/c346tmif/BMP_DATA.html

 

Assim poderemos trocar informações de rotinas e técnicas usando imagens.

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa, ficou show de bola.

 

Esse micro que você usou se programa em C?

 

Percebi que o carregamento das imagens no display é um pouco lento. No vídeo você comenta que a velocidade é limitada pelo protocolo HID. Mas tenho uma dúvida.

 

Essa lentidão no carregamento é devido ao protocolo em si ou ao uC que é "lento". 72Mhz não me parece ser lento não.

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Esse micro que você usou se programa em C?

Sim,em C,mas vai ter algumas rotinas em ASM mas não foram implementadas..

 

 

Percebi que o carregamento das imagens no display é um pouco lento. No vídeo você comenta que a velocidade é limitada pelo protocolo HID. Mas tenho uma dúvida.

Essa lentidão no carregamento é devido ao protocolo em si ou ao uC que é "lento". 72Mhz não me parece ser lento não

Essa velocidade é a limitação do protocolo USB HID,que não precisa de driver.

Veja,esse protocolo transmite até 64K por segundo,e as imagens mostradas tem 320x240 pontos ou 76800 bytes.

São enviados 64 bytes a cada 1 milessegundo.

Esse micro usa 72Mhz no seu core,e alcança 90 MIPS.

 

Na segunda parte do vídeo,vou demosntrar a velocidade de processamento pois estou terminando um VU que utiliza o GLCD e este VU atualiza a tela várias vezes por segundo.

 

PS:Este micro peocessa até 90MIPS mas seu barramento é de no máximo 50MHZ.

Eu fiz um teste simples usando um frequencimetro ligado a um pino de um PORt em um PIC18F250 A 12MIPS(48MHZ) e consegúi em Looping em C 850HZ com firmware USB carregado.

O mesmo teste fiz com este STM e conseguí 4MHZ.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O LCD é este:

 

http://www.rcos.eu/driver/graphic/ili9320/ili9320.jpg.html

 

Não comprei ele separado,sei que é o mais barato da categoria mas em compensaçao tem muita informação em chines.

Um detalhe é que para voce usá-lo vai precisar de um micro rápido,se for PIC ,use um PIC32,ja ví videos no youtube usando PIC menos rápidos e a imagem carregada de um SDCArd,ficou parecido com a velocidade que carreguei pela USB HID.

No vídeo que postei,voce pode perceber que quando a tela fica toda de uma cor ou toda preta,na verdade o micro carregou 78600 bytes e preencheu ponto a ponto toda tela,daí voce tem uma noção de velocidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu utilizasse esse display, não seria para imagens como você fez. Seria para, digamos, a evolução de um LCD 16x2 tradicional. Ao invés de usar botões físicos, usaria a tela touch.

 

Ele se comunica somente via USB?

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ele se comunica somente via USB?

Não,todo protótipo que faço utilizo USB para não ficar regravando muito o firmware,assim testo via PC.

Este LCD tem Comunicação SPI ou paralela até 18 bits(o mais rápido).

A comunicação usada no vídeo é paralela pois SPI é muito lento para imagens,mas não para o Touch.

O teclado Touch usa SPI via conversor AD ADS7843 para se comunicar,o micro faz a litura AD e calcula a cordenada X,Y.

No video que postei,na parte de escrever na tela,o micro lê a saida AD do conversor e plota as cordenadas X e Y capturadasna tela.

Vale lembrar que para voce usar o Touch,voce vai ter que gerar as imagens dos botões.

Vou postar depois,para quem não sabe,a maneira de gerar as imagens no formato RGB 565,que é a mais rapida para se usar,com o Programa Free GIMP e o programa que fiz para gerar o arquivo C ou H para o micro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero fazer uma correção,ja que o botão'Editar' não apareceu;

 

 

Eu fiz um teste simples usando um frequencimetro ligado a um pino de um PORt em um PIC18F250 A 12MIPS(48MHZ) e consegúi em Looping em C 850HZ com firmware USB carregado.

O mesmo teste fiz com este STM e conseguí 4MHZ

 

O resultado para o PIC 18F2550 foi de 850KHZ e não em 850HZ.

 

 

 

PS:Este micro peocessa até 90MIPS mas seu barramento é de no máximo 50MHZ.

50 MHZ é a velocidade do GPIO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matheus,

Eu comprei dois desses displays fazem uns 70 dias no Ebay, um 9340 e um 9341, ambos sem touch, comunicação SPI, cerca de US$ 7 cada um.... Devem chegar agora estes dias, se você quiser te passo um prá você brincar ok ?

Paulo

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, uai.. que beleza!!! Com certeza vou querer sim......heheheeh deve ser uma beleza usar esses displays.

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

O duro tá sendo aguentar a lentidão do Correio no fim de ano.... ontem recebi uma compra minha feita em 28/09/2012 ..... 100 dias !!!!!!!!!!!  

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Paulo,se tiver algum compilador Basic para ARM STM32,me fale que posso tentar passar várias rotinas em C para Basic,para uso com esses controladores.

Voltando a muitos posts atrás,na verdade eu apneas fiz um Up-Grade de um PIC18F2550(Matriz de Leds) para um ARM(STM32) e nessa brincadeira veio estes LCds que eu achei muito interessante pelo preço.

Eu ja viu né?

Mas a Matriz de Leds(TURBO) ainda vai sair...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa este Fórum tá ficando complicado, agora não aparece a barra de ferramentas para postar imagens, códigos, links..... Bom quando terminar deve estar reaolvido isso.....

Vtrx,

Uma hora a matriz sai.... Tenho fé ! Kkkkkk inclusive eu estou achando que no mesmo dia eu terminarei o meu super amplificador ......

Quanto ao compilador Basic para esse Arm, a Mikroeletronika tem um que parece muito bom, com suporte nativo para o seu display ( se não me engano... ) . Pena que é meio salgado. Veja aqui :

http://www.mikroe.com/mikrobasic/arm/specification/

Quando eu resolví brincar com os AVRs, a MikroE tinha acabado de lançar os compiladores Basic deles, eu até baixei e experimentei, mas ainda tinha muito bug, muita gente tava reclamando e o fabricante estava resolvendo tudo, mas acabei preferindo ficar com o Bascom, principalmente por que ele já existe fazem 10 anos, e todos falavam maravilhas.... Não me arrependo não, mas sei que logo vou usar outra plataforma, como esses Arms, e aí com certeza comprarei esse da MikroE.

Matheus,

É por causa dessas demoras que eu todo dia compro alguma coisa.... Hoje comprei 4 leds RGB da Cree de 10 watts, e um módulo com RTC DS3231 de alta precisão e uma memória I2c de 32k, tava muito barato isso....

Quando eu já esquecí, a compra chega, e vai para as minhas prateleiras de futuros projetos kkkkk pelo menos estou com um monte de produtos para fazer qualquer coisa que passe na cabeça !

Fazer o quê.... 100 dias , cara, eu falo isso pros gringos e eles não acreditam !!!!

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colegas!, até nós aqui na Moderação estamos reaprendendo!!!, É tudo novo! Hehehehe!!!!!...

 

Aquela opção de  "anexar fotos/imagens", você terá quando clicar na tarja "Mais Opções" abaixo da caixa de texto... Seria a opção "Avançado" na outra plataforma...

Abaixo da caixa de texto aparecerá a opção de "Anexar Arquivos"..

post-442138-0-96061000-1389230698_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim nem tem graça mais usar os LCD alfanuméricos tradicionais.

 

Esse aí, como dizem, encaixa como uma luxa.

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

O unico inconviniente é que tem que usar um micro rápido,pois como disse,voce tem que plotar as imagens dos botões em tempo real,inclusive quando muda o estado do botão,o micro apaga o botão e redesenha o novo botão a cada toque.

De uma olhada  num video do youtube usando um GLCD e um PIC 18F e sem usar fuguras,ele desenhou os botões.da para ver como é lento, se for fazer alguma outra tarefa alem de mudar os borões e texto curto,deve ficar muito mais lento.

 

https://www.youtube.com/watch?v=tnyqCFLOvJY.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vtrx,

 

Esse problema só se resolve com acesso paralelo, e mesmo assim, como você disse, tem de ser rápido.

 

Eu ví uma discussão de um pessoal do Bascom, impementaram a interface SPI, e mesmo com clock de 20 Mhz carregar uma figura ficava lento, dava para ver a "montagem" dela.

 

Em um outro Fórum, o pessoal fez overclock do Atmega, a 24 Mhz, com interfaçe paralela, e em Assembler, aí sim ficou bem rápido.

 

Brincar com GLCD , ainda mais colorido, é muito bonito, mas dá trabalho conseguir desempenho com os Pics e Avrs. Acho que só mesmo com os ARMs fica muito legal.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Paulo, eu uso a comunicação paralela e refiz todas as rotinas para desempenho máximo, eliminei todos os CALL (chamadas de funções em C) e mesmo assim não ficou 100% mas ficou muito bom, mas isso se deve porque só tenho o STM32F103 de 90 MIPS, mas vi vídeo usando o STM32 104F a 150MHz fica perfeito qualquer mudança de quadro.

Eu fiz esta observação para quem pretende usar estes GLCDs já se prevenirem com os resultados que são totalmente dependentes dos micros que vão usar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vtrx,

 

Nossa, para mim está fantástico !!!!! 

 

Me impressionei com a velocidade da barras verticais.... mas está bem mais rápido do que precisa !

 

A velocidade de um equipamento profissional, por exemplo, o Beringher que eu tenho aqui, é bem inferior, eu acredito que ele faça o refresh tipo umas 5 a 8 vezes por segundo. Mas eles fazem um truque, utilizam velocidade de decaimento, assim mesmo que o sinal caia bastante entre um refresh e outro, eles usam um tipo de constante de tempo RC ( digo o conceito ) , e as barras vão diminuindo lentamente.

 

Uma coisa legal que voce pode fazer é manter uma barrinha vermelha na horizontal no pico máximo de cada barra, por pelo menos meio segundo, assim, mesmo que o sinal caia, a barrinha de pico ficou lá, e se em meio segundo não teve um sinal maior, então atualiza para o novo pico, entendeu ?

 

Mas olhe, a velocidade está muito boa mesmo !

 

Por acaso voce quer fazer animação ( kkk ) ???

 

Parabéns !

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo,estes GLCDs são igual a um monitor de computador,eles apenas 'acendem' a o BackLight!

Quero dizer,tudo tem que ser programado e não é fácil a primeira vez,por exemplo,essas barras coloridas que voce citou e os delays eu só não implementei ainda porque vai dar um trabalhão!! (_(

voce plota alguma figura ou linha no GLCD e ela fica lá 'gravada',quero dizer,parada na tela.

Tem que apagar a imgem antiga e desenhar outra,troca de cor o trecho da barra e gerar um delay,tudo isso no intervalo de um quadro.

Ainda não bolei um meio rápido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vtrx, caramba. Gostei muito também. Show de bola. S;o não entendi uma coisa. Lá no vídeo, na descrição, você diz:

4-Processar cada byte de equalização plotando uma barra por vez,da primeira a ultima.

O que exatamente isso quer dizer? Tipo, isso aí, para mim, está mais para analisador de espectro que VU. Nesse, caso, como você pega o valor de cada barra? Seri esse passo 4 aí de cima?

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vtrx,

Sei que não é fácil.... Eu fiz um analizador de espectro que utilizava as duas linhas do display para poder mostrar uma barra vertical, isto é, cada caractere tem 7 "linhas" que eu posso acionar independentes, e usando as duas linhas fiquei com uma coluna que ia de 1 até 14 linhas de altura.

Quando eu atualizava o display, ficava horrível.

Tive de inventar um monte de coisa prá minimizar o problema, tive de usar o sinal R/W do display para ler o status, tive de atualizar um caractere da linha de baixo e depois o mesmo caractere da linha de cima.... Depois testar a velocidade de refresh que ficava melhor.... Deu um trabalho bem chatinho....

Esse seu display vai dar BEM mais trabalho, mas vai ficar muito bom ! O que era mais difícil voce já fez !

@MatheusLPS,

Ele está recebendo a informação do espectro processada pelo computador, o que estamos vendo é mesmo um analizador de espectro, mas o processamento está no computador.

Quem sabe a gente anima o VTRX a implementar uma rotina de Fast Hartley Transform, ou uma rotina de FFT ! Com 90 mips e um montão de Ram fica mais fácil ! Assim não precisaria mais do PC .

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, Pois é, imaginei que ele estivesse recebendo tudo "pronto" do PC mesmo.

 

Gastei tanto tempo pesquisando sobre o assunto que mesmo calculando pelo Pc encontrei obstáculos.

 

@vtrx, usou o Delphi como plataforma no PC?

 

Passa o segredo dessa análise espectral pra nois aí. :D

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×