Mostrando postagens com marcador português. Mostrar todas as postagens
Mostrando postagens com marcador português. Mostrar todas as postagens

quinta-feira, outubro 20, 2011

Como resolver o erro 901 Invalid COD - Unable to import ZIP

Quem desenvolve para dispositivos móveis tem como auxílio ao desenvolvimento os emuladores. Porém, emuladores não são os dispositivos reais e muitas vezes algo que funciona perfeitamente bem no emulador não funciona no aparelho.

Eu tive um caso desses ao tentar instalar um programa meu no Blackberry. Ao tentar instalar o aplicativo no Blackberry ocorria o seguinte erro:

Download failed

Ao clicar em Details via a seguinte mensagem:

901 Invalid COD - Unable to import ZIP

Por quê?


O arquivo .cod gerado não é um COD válido. Ele é, na verdade, um arquivo ZIP.

Renomeie-o para .zip e extraia seu conteúdo.

No meu caso, o arquivo test.cod foi renomeado para test.zip.

Você verá que ele conterá mais de um arquivo COD.

No meu caso, os arquivos extraídos foram tes-1.cod e test-cod.

Uma maneira de saber se o arquivo .cod é um COD de verdade ou um zip é olhar o conteúdo da pasta.

Se existirem arquivos cujo nome sejam algo como -1.debug, então o arquivo .cod na realidade é um arquivo ZIP.

Outra maneira é checar se no arquivo .jad há referência a mais de um arquivo COD.

No meu caso, tenho os seguintes arquivos:

test-1.debug  test-1.cod  test-1.cso  test-1.debug test-1.jad  test-1.jar

Renomeie o arquivo .cod para .zip e extraia seu conteúdo.

Deverão aparecer os arquivos .cod, -1.cod, etc, dependendo de quantos COD exisitrem no arquivo .zip.

No meu caso, após a extração do ZIP, havia os arquivos mostrados abaixo:

test-1.cod test-1.debug  test.cod  test.cso  test.debug  test.jad  test.jar  test.zip

Verifique se o tamanho dos arquivos COD estão corretos no arquivo JAD e, caso necessário, corrija-o.

As tags que devem ser verificadas são:

RIM-COD-Size, RIM-COD-Size-1, RIM-COD-Size-2, etc.

No meu exemplo são apenas RIM-COD-Size e RIM-COD-Size-1.

A instalação do programa deverá ser feita com os arquivos

.jad, .cod, -1.cod, -2.cod, etc. obtidos.

No meu caso,

test.jad, test.cod e test-1.cod

Uma vez feito isto eu consegui instalar o programa sem nenhum problema.

Espero que resolva o teu problema.

Talvez os artigos abaixo te interessem:

sexta-feira, outubro 07, 2011

Analise antes de comprar um EspertoFone

Eu decidi trocar meu Sony-Ericsson k790i por um smartphone. O problema é que eu não tenho dinheiro para comprar um aparelho de uma marca boa.

Por isso optei por um smartphone xingling.

Após algumas pesquisas na net resolvi comprar um que é a cara do iPhone: F003 da Fly-Ying.

Nota: hiPhone é o nome que se dá aos celulares genéricos que se parecem com o iPhone.

Na internet só achei sites de vendedores, falando que o aparelho é maravilhoso, que isso e aquilo.

Conversa de vendedor? Decidi arriscar. Comprei o dito.

Após receber o F003 e brincar um pouco com ele vi o que me agradou nele e o que me decepcionou.

Escrevo este post para que tu tenhas uma ideia do que vais ter em mãos, antes de comprá-lo. Apesar de ser uma análise pessoal, acredito que minha opinião valha mais que a opinião dos vendedores por motivos óbvios ;)

A seguir vou escrever sobre cada uma das características do aparelho, com os devidos comentários. No final, a decisão é tua.


  1. Aparência externa igual a do iPhone?
    Sim. Idêntico.

  2. Dual-Chip simultâneo? Sim. Tenho 2 chips instalados e os dois funcionam ao mesmo tempo. Tu podes configurá-lo para que funcione os 2 chips, apenas um deles ou nenhum (modo de voo).

  3. Quadri-Band? Sim.

  4. Funciona com todas as operadoras? Não sei. Coloquei 2 chips (TIM e Oi) e funcionou sem problemas.

  5. Aceita cartão de memória? Sim. Tenho um cartão de 8GB (teoricamente é o máximo que o telefone aceita, mas não testei com cartões maiores). O telefone vem com memória interna de 87.7MB.

  6. A tela é touch-screen? Sim. Mas às vezes falha e tens que tentar de novo. No geral, estou satisfeito com o funcionamento do touch-screen.

  7. Tem Java? Sim. MIDP 2.0. Funciona bem.
    Nota: alguns aplicativos não funcionam com o touch-screen. Mas isso não é culpa do aparelho e sim do aplicativo que não está preparado para esta tecnologia.
    Outra coisa: programas que acessam a câmera não vão funcionar.

  8. O shake control funciona? Ou seja, se eu chacoalhar o bicho a música muda? Sim. Funciona muito bem.

  9. Wi-fi funciona? Sim. Muito bem. Mas como todo wi-fi, consome muita bateria.

  10. Tem 3G? Não.

  11. Tem GPRS? Sim.

  12. TV analógica funciona? Sim. Mas a imagem e o som são ruins.

  13. Rádio FM? Sim.

  14. Preciso de fone de ouvido para usar o rádio? Não. Funciona em viva-voz.

  15. Câmera é de 2.0 mega pixels reais? NÃO. Mesmo na resolução máxima a imagem é pior que a de uma câmera de 1.3 mega pixels. Abaixo estão as fotos batidas com qualidade máxima e nas resoluções que a câmera permite.

  16. Qual o formato das fotos? Jpg.

  17. Bluetooh? Sim. Muito bom. Vem com suporte a A2DP V2.0.

  18. USB Funciona?
    Sim. Muito bem. O maravilhoso Linux consegue conversar sem precisar de drivers específicos. É só conectar o cabo no PC e pronto. Seja livre: Use Linux ;)

    Também não precisas instalar nenhum driver para que o aparelho seja reconhecido pelo windows. É só conectar o cabo no PC e pronto (Windows XP). Isso é uma raridade. Todos os aparelhos da Sony-Ericsson, Nokia, Motorola e Siemens que testei precisaram de softwares específicos instalados no Windows para que pudessemos nos conectar a eles.

  19. Posso usá-lo como webcam?
    Sim. Funciona perfeitamente, tanto no Linux quanto no Windows (testei no XP). E ainda escolhes qual das câmeras usar: a frontal ou a traseira.

    Posso usá-lo como modem?

  20. A bateria é boa? Dura?
    A bateria é de íon lítio, com capacidade de 1000mAh (pelo menos é o que vem escrito nela).

    Demora de 2:00 a 2:30 para carregar. Podes carregar o telefone tanto na rede elétrica quanto na porta USB.

    Para teres uma ideia da durabilidade da bateria, seguem alguns usos que fiz e a duração da mesma:
    • Deixando a rede wi-fi ligada o tempo inteiro, o bluetooth ligado por 2 horas, o rádio em viva-voz funcionado por 3 horas, tendo feito 5 ligações de 2 minutos em média, enviado e recebido 10 SMSs, batido 3 fotos, instalado cerca de 15 programas em Java e jogado por uns 20 minutos (programinha Java), a bateria durou 12:00h.

    • Tendo batido 6 fotos, gravado 1 minuto de vídeo, recebido / enviado 20 SMSs, feito / recebido ligações num total de 180 minutos, a bateria durou dois dias e meio.

    Resumindo: Se fores apenas conversar, dura. Se fores usar para outras coisas, ela gasta rapidinho.

  21. Posso usar o telefone como pen drive?
    Sim. Sem problema nenhum.

  22. Quais são os idiomas que eu posso usar?
    Ele permite a seleção dos seguintes idiomas: inglês, alemão, italiano, espanhol, russo, tailandês, malásio, vietnamita, indonésio e português.

  23. A tradução para o português é boa?
    É uma porcaria. Aparecem palavras em outros idiomas (tailandês, malásio, vietnamita ou indonésio, sei lá).
    O único idioma descente é o inglês.

  24. Filma e reproduz vídeos com som?
    Sim. Mas a qualidade da filmagem é ruim (lembre-se que a câmera é um lixo) e não gostei da qualidade do áudio. Outra coisa: O vídeo é salvo com a extensão .avi, mas se tu tentares reproduzir um vídeo AVI qualquer o F003 diz que não é um formato válido.

  25. Quais formatos de imagem o F003 exibe?
    Testei os seguintes formatos:
    • jpg - sim.
    • png - sim.
    • gif - sim. Inclusive gifs animados. Muito bom.
    • svg - não.

  26. Quais formatos de vídeo o F003 reproduz?
    Testei os seguintes formatos:
    • mp4 - sim.
    • 3gp - sim.
    • wmv - não.
    • mpg - não.
    • avi - não.
    A qualidade do vídeo é razoável.

  27. Reproduz vídeos em tela cheia?
    Sim.

  28. Quais formatos de áudio o F003 reproduz?
    Testei os seguintes formatos:
    • wav - sim.
    • mp3 - sim.
    • amr - sim.
    • ogg - não.
    • midi - sim.
    A qualidade do áudio é razoável.

  29. Grava voz?
    Sim. Não gostei da qualidade do áudio.

  30. Grava programas da TV?
    Sim. Veja a qualidade da gravação do canal aqui.

  31. Grava programas do rádio FM?
    Sim.

  32. Handsfree?
    Sim.

  33. Envia SMS?
    Sim.

  34. Envia MMS?
    Sim.

  35. Tem agenda telefônica?
    Sim, com capacidade para 1000 números. Podes, inclusive, enviar por SMS os contatos do teu celular para o F003 que ele os insere na agenda.

    Se o teu aparelho permitir enviar todos os contatos de uma vez, atente-se ao tamanho do arquivo. Minha agenda tinha 213 contatos que enviados de uma vez geraram um arquivo de 74.2KB. O F003 disse que o arquivo era muito grande e ele não conseguiu usá-lo. Tive que enviar os contatos um a um.

    Nota: se tu preferes gravar os contatos no aparelho ao invés de gravá-los no chip, antes de enviar os contatos para o F003, vá nas configurações da agenda e diga que os números devem ser gravados no aparelho e não nos chips que é o padrão.

    Cada contato pode ter ringtone, imagem, vídeo e vários números associados, além de pertencer a um dos grupos existentes (família, amigos, VIP, negócios e outros).

    O que não gostei na agenda:
    • podes selecionar um toque para cada contato, porém deve ser um dentre os 30 disponíveis, sendo 25 pré-definidos (que são horríveis, como todo toque que vem por padrão) e 5 entradas para arquivos de som que tu instalas no aparelho.

      Isso significa que os teus contatos terão que compartilhar os toques, ou seja, vai ter gente com toque repetido.

      No meu k790i eu posso inserir quantos arquivos de áudio eu quiser e associar um toque diferente para cada um dos meus contatos.

    • A foto que atribuis aos contatos não pode ser maior que 20KB.

    • Não podes criar quantos grupos quiseres.

  36. Tem cliente de e-mail?
    Sim. POP3 e IMAP. Podes configurar mais de uma conta, dizendo, para cada conta, se será utilizado wi-fi, ou o GPRS ou os dados GPS do chip 1 ou do chip 2. Podes, inclusive, fazer com que o método de conexão seja questionado sempre que for enviar ou receber e-mails.

  37. Tem histórico de chamadas?
    Sim. O histórico das ligações atendidas, efetuadas e perdidas (não atendidas) é por chip.

  38. Tem alarme?
    Sim. Podes configurar se ele ocorre uma única vez, todos os dias ou dias específicos da semana. Podes escolher um toque (com as mesmas restrições dos toques da agenda de telefones) ou usar o rádio para lembrá-lo que está no horário definido.

    Podes Dizer que o telefone irá apenas vibrar, apenas soar o alarme ou vibrar e soar o alarme no horário estabelecido.

    Restrição: podes ter no máximo 5 alarmes diferentes.

  39. Tem calculadora?
    Sim.

  40. É possível criar tarefas?
    Sim. As tarefas podem ser repetitivas ou não, com ou sem alarme. Há várias configurações. É excelente e de fácil uso.

  41. Tem calendário?
    Sim. Possui muitos recursos que facilitam o dia-a-dia. Podes configurar lembretes, tarefas e alarmes, que ocorrem um único dia ou que se repetem periodicamente, por exemplo. É excelente e de fácil uso.

  42. Tem cronômetro? Sim. É excelente e de fácil uso.

  43. Tem relógio?
    Sim. Além do relógio do próprio celular, com a hora local, tem um relógio com a hora mundial. Dizes qual o horário em relação ao GMT e ficas sabendo que horas é naquele fuso. Muito bom.

  44. Tem conversor de moedas?
    Sim. Tens que entrar manualmente com a taxa e os valores. Por exemplo, dizes que U$ 1,00 vale R$ 2,00, que tens U$ 128,71 e que queres saber quanto isso vale em reais e ele faz a conta.

  45. Tem black list? Ou seja, tem como bloquear ligações de determinados números?
    Sim. Vá em Call Center -> Call Settings -> Advanced Settings -> Black list. Aí podes habilitar essa funcionalidade e cadastrar até 20 números que serão bloqueados.

    O interessante é que podes colocar apenas o telefone, o telefone com o DDD e o telefone com DDD e código da operadora. Penas estarmos limitados a 20 números.

Ao conectar o cabo USB do aparelho no PC, será apresentado um menu perguntando se desejas usar o telefone como pen drive, webcam ou porta COM. O dispositivo reconhecido é o MT6325.

Minha conclusão

A princípio fiquei decepcionado com o aparelho, por causa da qualidade da imagem da câmera e da TV, porém como não uso muito estes recursos, deixei para lá.

O que mais gostei foi a possibilidade de usar 2 chips simultaneamente, que é uma das duas coisas que eu mais queria em um aparelho celular.

A possibilidade de usar 2 chips simultaneamente, o wi-fi, o bluetooh, o blacklist, a possibilidade de rodar java e de usar o aparelho como pen drive, como web cam e modem, além de poder recarregar a bateria na porta USB me fazem considerar que valeu a pena a aquisição.

Mas uma das coisas que eu mais queria e não é possível com o F003 é usar o skype para ligar via wi-fi do celular.

O fring não tem um cliente que rode nele. Ou seja, não posso fazer ligações no skype usando wi-fi. Isso não é culpa do aparelho, mas do pessoal do fring que não disponibiliza uma versão em J2ME que tenha capacidade de efetuar ligações.

O Gizmo, concorrente do skype, funciona no F003, porém só manda mensagens de texto ou efetua ligações. Não fala de gizmo para gizmo usando o F003.

Se pensas em comprar um telefone com wi-fi para usar com o skype ou gizmo, vá primeiramente no site do fring ou do gizmo e veja para quais modelos existe software. E podes esquecer o F003.

Se após teres lido este artigo ainda desejares comprar o F003, recomendo que o faça no mercado livre com o vendedor ON3.SHOP. Eles são atenciosos e aceitam mercado pago.

quarta-feira, outubro 05, 2011

Programas e jogos para telefones Symbian

A Nokia possui uma excelente loja de aplicativos e jogos para telefones Symbian chamada OVI Store.

Infelizmente eles não deixam que telefones de outros fabricantes (Sony Ericsson, Samsung, Motorola, LG, etc) baixem os programas de lá.

Procurando por jogos para meu telefone Satio da Sony Ericsson eu achei um tutorial que ensina como baixar os programas e jogos grátis da loja da Nokia para o computador e como instalá-los nos telefones.

Tu podes ver o tutorial aqui

quinta-feira, setembro 09, 2010

Como se recuperar do crash após atualizar o pacote udev

Ontem de noite fiz a atualização do pacote udev do meu Ubuntu 10.04 (32 bits) e ao reiniciar a máquina conforme a solicitação do instalador, o sistema não bootava.

A mensagem de erro apresentada era:

udevadm settle is not permitted while udev is unconfigured
ALERT! /dev/disk/by-uuid/)a8cc71e....071cd does not exist. Dropping to a shell

Será que isso foi uma praga de  São iGNUcius devido eu ter escrito um artigo sobre o Windows?



Após pesquisar um pouco no Google, encontrei a solução:

  • Inicie o sistema usando o live CD do Ubuntu. Se o Ubuntu montar automaticamente a partição do disco rígido, desmonte-a antes de prosseguir. Isso pode ser feito facilmente por meio do Nautilus.

  • Abra um prompt de comando.

  • Crie uma pasta para montar o HD:


    sudo mkdir /mnt/newroot
    
    
  • Monte o HD (no meu caso, ele é o sda1):


    sudo mount /dev/sda1 /mnt/newroot
    
    
  • Altere o diretório root:


    sudo chroot /mnt/newroot
    
    
  • Execute o comando abaixo:


    update-initramfs -u -k all

  • Volte para o root anterior e desmonte a partição:


    exit
    sudo umount /mnt/newroot
    
    
  • Reinicie a máquina.
Após esses passos, o Ubuntu deve funcionar sem problemas.

quarta-feira, setembro 08, 2010

Executando aplicações .NET de 32 bits no Windows 7 de 64 bits

Eu fui executar um aplicativo .NET da empresa, desenvolvida para rodar em 32 bits, no Windows 7 64 bits e o ISS 7 não consegui carregar uma DLL ou uma de suas dependências.

A mensagem apresentada foi:

Parser Error Message: Could not load file or assembly 'Engine.Client' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Após algumas buscas no Google, descobri que a opção de executar aplicativos de 32 bits deveria ser habilitada explicitamente.

Abaixo seguem os passos a serem executados.
  • Abra o gerenciador do IIS. Tu verás dois items: Application Pools e Sites. Selecione Application Pools. No meu caso, o meu site estava configurado para usar o DefaultAppPool. Veja a figura 1.


  •  Clique com o botão direito sobre o pool que a tua aplicação estiver usando (DefaultAppPool no meu caso) e selecione a opção Set Application Pool Defaults. Veja a figura 2.



  • Abrirá uma janela de configuração. Note que a propriedade Enable 32-Bit Applications está com o valor false. Veja a figura 3.


  • Mude o valor do campo Enable 32-Bit Applications para true e feche a janela de configuração. Pronto! Problema resolvido. Veja figura 4.


    Espero que esse artigo seja útil. Qualquer dúvida entre em contato.

domingo, julho 18, 2010

Erro na instalação do ruby-debug

Na semana passada eu tentei instalar o ruby-debug no meu Ubuntu 9.10 e obtive o erro mostrado abaixo:

andreyq@desenv-ubuntu-9:~$ sudo gem install ruby-debug
[sudo] password for andreyq:
Building native extensions.  This could take a while...
ERROR:  Error installing ruby-debug:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1

Gem files will remain installed in /var/lib/gems/1.8/gems/linecache-0.43 for inspection.
Results logged to /var/lib/gems/1.8/gems/linecache-0.43/ext/gem_make.out
andreyq@desenv-ubuntu-9:~$

Depois de algumas pesquisas descobri que precisava ter o pacote
ruby1.8-dev
instalado para satisfazer algumas dependências.

Fiz a instalação do mesmo:

sudo apt-get install ruby1.8-dev

e tentei novamente instalar o ruby-debug:

andreyq@desenv-ubuntu-9:~$ sudo gem install ruby-debug
Building native extensions.  This could take a while...
Building native extensions.  This could take a while...
Successfully installed linecache-0.43
Successfully installed ruby-debug-base-0.10.3
Successfully installed ruby-debug-0.10.3
3 gems installed
Installing ri documentation for linecache-0.43...
Installing ri documentation for ruby-debug-base-0.10.3...
Installing ri documentation for ruby-debug-0.10.3...
Installing RDoc documentation for linecache-0.43...
Installing RDoc documentation for ruby-debug-base-0.10.3...
Installing RDoc documentation for ruby-debug-0.10.3...
andreyq@desenv-ubuntu-9:~$

Ótimo! Desta vez obtive sucesso.

O engraçado é que eu pensava que o pacote ruby1.8-dev só seria necessário se eu fosse alterar o próprio ruby.

quinta-feira, março 11, 2010

O que acontece quando se apaga a pasta appdb

Ao tentar rodar um aplicativo j2me que estou desenvolvendo aqui na empresa, ocorria o seguinte erro:

Connecting to 127.0.0.1 on port 2800
Waiting for KVM...
Waiting for debugger on port 2419
Connection received.
Running with storage root C:\Documents and Settings\moliveira\j2mewtk\2.5.2\appdb\DefaultColorPhone
Running with locale: Portuguese_Brazil.1252
Running in the manufacturer security domain
Connected to KVM
Incorrect domain name, switching to 'null'
java.lang.NullPointerException
    at java.util.Hashtable.get(+6)
    at com.sun.midp.security.Permissions.isValidDomainName(+26)
    at com.sun.midp.dev.DevMIDletSuiteImpl.create(+16)
    at com.sun.midp.dev.DevMIDletSuiteImpl.create(+74)
    at com.sun.midp.main.Main.runLocalClass(+20)
    at com.sun.midp.main.Main.main(+80)
Execution completed.
2798099 bytecodes executed
18 thread switches
1665 classes in the system (including system classes)
40932 dynamic objects allocated (2354324 bytes)
3 garbage collections (2138384 bytes collected)


Eu apaguei por engano todo o conteúdo da pasta appdb do Sun Java Wireless Toolkit 2.5.02_1 for CLDC e com isso alguma configuração foi embora.

O modo mais rápido de resolver isso é:

  • apague a pasta j2mewtk que está dentro de Documents and Settings sob outra pasta que tem o nome do teu login. (Por exemplo, C:\Documents and Settings\moliveira\j2mewtk\).
  • execute o Wireless Toolkit. Ele recriará a pasta j2mewtk e o problema será resolvido.

terça-feira, fevereiro 16, 2010

Placa de circuito impresso pelo processo fotográfico

Todos que têm a Eletrônica como hobby precisarão criar suas próprias placas de circuito impresso (PCIs).

Quando a gente começa a brincar com a Eletrônica, normalmente os circuitos são muito simples e as plaquinhas também. Para fazê-las, dá para desenharmos os circuitos usando as canetas próprias para isso. Conforme avançamos com os conhecimentos, os circuitos tendem a ficar mais e mais complexos. Aí, já não será mais possível continuar a desenhar as placas manualmente.

Como faremos então? Há vários métodos para criarmos as PCIs: desenho manual, decalques, processo térmico, serigrafia, processo fotográfico, entre outros.

O processo fotográfico que descrevo neste artigo eu aprendi neste fórum: Faça placas de circuito impresso com qualidade profissional.

Assim, antes de continuar com o tema deste artigo, gostaria de agradecer a todos que participaram deste fórum por terem compartilhado suas experiências e conhecimentos, fazendo com que esse processo deixasse de ser uma arte oculta.

Um agradecimento especial vai para o Ferocactus e para o Akira386. Eu não os conheço, mas o empenho deles em divulgar esse método foi uma iniciativa fantástica. Obrigado.

Este processo que vou descrever permite a criação de placas com trilhas extremamente finas com alta qualidade, sendo que o resultado final dependerá muito da prática. Quanto mais prática, melhor os resultados (como quase tudo na vida).

Outra coisa que o amigo leitor deve ter em mente: o processo que descrevo foi aquele com o qual eu melhor me adaptei. Existem variações sobre como fazer as placas por esse processo. Aconselho a todos os interessados neste método que leiam a discussão no fórum, desde o início, para entender os erros e acertos do pessoal, bem como para aprender as diversas variações que existem.

Vou assumir que de algum modo tu tens o layout da placa de circuito impresso (baixaste da internet um pdf ou uma imagem jpg ou tens os arquivos de algum programa específico para criar placas, como o KiCAD ou o Eagle, por exemplo.

Tu deves adquirir uma emulsão para confecção de matrizes resistentes a tintas solúveis em água e seu respectivo sensibilizante. Geralmente essa emulsão é de cor verde, independente de quem é o fabricante.

Existem várias marcas no mercado. Eu utilizo a emulsão e o sensibilizante da marca Tec-Screen, conforme mostrado na figura 1 abaixo.
Figura 1 - Emulsão e sensibilizante.

As ferramentas que tu vais precisar são:
  • uma seringa de 1ml, dessas de insulina. Comprar na farmácia.

  • uma seringa de 10 ou 20ml. Comprar na farmácia.

  • um rolo de espuma, que pode ser adquirido em qualquer loja de tintas.

  • um pincel. Pode ser obtido em papelarias.

  • um esponja scotch-brite. Comprado na farmácia ou tirado da cozinha de casa ;)

  • uma vasilha plástica em que a placa caiba. Eu reaproveitei uma embalagem dessas de paçoquinha.
     
  • uma escova de dentes macia. Podes comprar uma nova ou reaproveitar uma usada.

  • sapólium radium (outro ataque a cozinha)
     
  • um secador de cabelos (pegue emprestado da patroa, para não gastares dinheiro com isso ;)

  • ventilador (com certeza tens um em casa). Opcional.

  • uma centrífuga (vou falar dela mais adiante). Opcional.
  • uma impressora (jato de tinta ou a laser).

A figura 2 abaixo ilustra quase todos os materiais citados.

Figura 2 - Alguns dos materiais necessários.

Preparação da imagem.
Deves usar algum programa de desenho decente (o Gimp, por exemplo), e obter uma cópia invertida e em negativo do layout para o qual queres gerar a placa.

A figura 3 mostra um layout normal e a figura 4 mostra o mesmo layout em negrito e espelhado, para que tu tenhas uma ideia do que estou falando.

Figura 3 - Exemplo de layout.

Figura 4 - Layout em negativo e invertido.

Obtenção do fotolito.
Imprima a imagem invertida e em negativo do circuito em papel para transparências. Faça 3 cópias idênticas, recorte-as e monte uma sobre a outra, de modo a aumentar a opacidade da mesma.

Por quê três cópias? Porque geralmente em uma única impressão a parte em negro não fica tão opaca quanto deveria.

A figura 5 mostra como fica a opacidade da impressão. Ignore a mancha branca na imagem do meio. É apenas o reflexo da luz.

Figura 5 - Opacidade de Uma única impressão em papel para transparências próprio para impressora jato de tinta.

Pode-se notar na imagem da figura 5 que o preto não é totalmente preto. A figura 6 mostra o fotolito montado com 3 imagens sobrepostas.

Figura 6 - Fotolito montado com 3 imagens sobrepostas.

Veja na figura 6 como a sobreposição das imagens torna o desenho muito mais opção.

Para imprimir eu uso a impressora jato de tinta Epson Stylus Photo R270, configurada para imprimir em papel fotográfico com qualidade máxima.

O papel utilizado é o papel para transparências com tarja para impressoras jato de tinta, formato A4 de 100 micra, da Sistem (Sistem é escrito com i mesmo).

Notas:
  • a impressão deve ser feita no lado fosco do papel.
  • após a impressão, deixe a impressão secar naturalmente por, no mínimo, uns 15 minutos. Não force a secagem de modo algum. Nem com secador e nem com ventilador.

Preparação da Emulsão
Em um ambiente escuro, misture 9 partes de emulsão para 1 parte de sensibilizante. Com uma espátula, um palito ou qualquer outra coisa que tenhas em mãos, mexa a mistura devagar por uns 5 minutos. Depois deixe-a descansar, no escuro, por pelo menos uns 30 minutos. Isso é necessário para que não fiquem bolhas na mistura, pois elas atrapalham o processo.

Eu uso a seringa maior (de 10 ml) para puxar exatamente 9ml de emulsão de dentro do pote e a seringa de 1ml para pegar exatamente 1ml de sensibilizante.

Misturo ambos em um pote vazio de filme fotográfico, pois nele cabe perfeitamente essa quantidade além dele isolar muito bem a luz dos produtos. A figura 7 mostra o recipiente onde as misturas ficam.

Figura 7 - Recipiente de filme fotográfico, usado para guardar a mistura emulsão + sensibilizante.

Notas:
  • O sensibilizante (dicromato de amônio) é altamente tóxico, assim, use luvas e evite o contato direto com a pele. Estás avisado. Depois não vá chorar.
  • Conserve tanto o sensibilizante quanto a emulsão longe da luz.
  • Só misture os produtos quanto fores usá-los, e na quantidade necessária,  pois a partir do momento em que a mistura é feita, o processo de endurecimento se inicia.
  • A mistura obtida, se bem acondicionada e longe da luz (como por exemplo, dentro do tubo de filme fotográfico), dura vários dias.
  • Lave as seringas muito bem logo após o uso, retirando qualquer resto de emulsão ou sensibilizante, pois do contrário elas não poderão ser usadas novamente. As seringas travam de tal modo que não é possível puxar ou empurras para fora nenhum fluído. Guarde as seringas desmontadas.
    Minha experiência mostra que, mesmo bem lavadas, se forem guardadas com o êmbolo dentro da seringa, o atrito aumenta muito, dificultando seu uso.
Limpeza da placa
Para limpar a placa, use a esponja scotch-brite (lado mais abrasivo) e detergente. Para ter certeza que a limpeza está adequada, faça o seguinte: molhe a placa e vire-a de lado. Caso se forme uma película de água por toda a placa, ela estará bem limpa. Do contrário, continue com a limpeza.

Após a placa estar bem limpa, seque-a com papel higiênico e/ou secador de cabelos. Não toque mais no cobre!

Aplicação da Emulsão na placa
Em um ambiente o mais escuro possível, com um pincel ou espátula, aplique a mistura emulsão + sensibilizante preparada anteriormente por toda a placa, deixando a camada aplicada o mais uniforme possível.

Tome cuidado para que a camada aplicada não fique nem muito fina nem muito grossa. Tente evitar a formação de bolhas.

Com o pincel, eu aplico uma camada generosa da mistura sobre a placa e depois a coloco sobre a centrífuga, para que ela fique mais homogênea.

A minha centrífuga nada mais é que uma ventoinha tirada de uma sucata de  fonte de PC. Eu coloque uma fita dupla face sobre a ventoinha e depois prendo a placa sobre a fita.

Se tu fores usar uma centrífuga, lembre-se de proteger as laterais, pois ela vai espalhar emulsão para todos os lados e aí a patroa (ou a mamãe, dependendo do caso), não vais gostar nem um pouco ;).

As figuras 8 e 9 mostram a minha centrífuga.
Figura 8 - centrífuga desmontada.

Figura 9 - centrífuga montada com a placa e a proteção anti-sujeira.

Repare nas imagens,  mancha verde rodeando toda a parede do anteparo. Se não fosse pela proteção, eu teria sujado tudo em volta quando tivesse usado a centrífuga e provavelmente a patroa teria me matado ;)

Nota: Não deves deixar a rotação da centrífuga muito alta nem deixá-la ligada por muito tempo, porque senão a camada de tinta ficará muito fina.

Se tiveres uma fonte de tensão variável, podes começar alimentando o circuito com uma tensão baixa, digamos uns 3 volts, que tu irás aumentando gradualmente, para que a velocidade da ventoinha aumente também de modo gradual.

Eu não tenho essa fonte regulável, então uso uma fonte de 6V para alimentar a ventoinha (de 12V), fazendo com que ela gire mais de vagar que o normal.

Deixando a emulsão secar na placa
Ao fim do processo de aplicação de emulsão + sensibilizante, deves deixar a placa secar por algum tempo em um local escuro!

Eu deixo a placa secar por uns 10 ou 15 minutos ao natural, depois eu ligo o ventilador no mínimo (não muito próximo à placa), para apressar o processo de secagem. De 30 a 60 minutos a placa estará totalmente seca.

Quando a placa estiver completamente seca, verás que de verde escuro, com aparência de úmida, a tinta passará a um verde bem claro e sem a aparência de estar úmida.

Nota:
  • Se a placa não estiver totalmente seca, o fotolito estragará quando formos usá-lo ou na hora de removermos a tinta ela sairá nas partes que não estiverem secas.
  • Se deixarmos a emulsão muito tempo sobre a placa, a sua remoção será muito difícil e provavelmente tu estragarás o serviço ao tentar remover a emulsão.
Sensibilização da Placa
Com a placa seca, ainda em ambiente escuro, o seguinte:
  • coloque uma placa de vidro sobre a mesa.
  • centralize a PCI, com a emulsão virada para cima, sobre a placa de vidro.
  • coloque o fotolito sobre a placa. O lado fosco, ou seja, aquele onde a tinta se depositou deve ficar em contato com a emulsão!
  • coloque a outra placa de vidro sobre o conjunto  PCI + fotolito, formando um sanduíche.

  • A seguir, coloque o abajur com a lâmpada sobre a placa de vidro e acenda a luz.
O tempo de exposição varia com o tipo de luz utilizada e com a distância da lâmpada para a PCI. Eu uso uma lâmpada fluorescente de 34W, ligada por 15 minutos a uma distância de 10cm da PCI.

Há pessoas que usam lâmpadas halogenas, de luz negra, ultra-violeta com as mais diversas potências e até a exposição direta sob o sol.

Tu terás que fazer teus testes para determinar por quanto tempo deverás expor a placa com emulsão baseado no método que fores usar.

A figura 10 mostra o sanduíche formado pelas placas de vidro (como as fatias do pão) e pela PCI + fotolito (como o recheio), expostos à luz da lâmpada fluorescente.
Figura 10 - sensibilização da placa.

Revelação

Nada mais é do que a remoção da emulsão das partes que deverão ser removidas pelo percloreto de ferro durante a corrosão. Esta etapa também deve ser feita em ambiente escuro.

Essa etapa é chamada de revelação porque a imagem do layout vai aparecendo igual ao que ocorre quando se revela um filme fotográfico.

Faça o seguinte:
  1. remova o fotolito de cima da PCI. Se neste passo a camada de emulsão se soltar, limpe a placa recomece o processo do zero. Prováveis causa do problema:
    • a placa não secou o suficiente;
    • tu não misturaste a emulsão + sensibilizante na proporção adequada;
    • puseste o lado brilhante do fotolito em contato com a emulsão ao invés do lado fosco;
    • não comprimiste o fotolito sobre a emulsão de modo adequado;
    • a emulsão ou sensibilizante são muito velhos. 
     
  2. insira a placa em uma vasilha de plástico com água morna (quente o suficiente que consigas mergulhar a mão nela sem se queimar) e deixe-a submersa por 90 segundos.
  3. mantendo a placa submersa, passe o rolo, sempre úmido, sobre a placa, bem delicadamente. A emulsão deve começar a se soltar. Se todas as etapas anteriores tiverem sido feitas adequadamente, a emulsão vai se soltar facilmente, ficando apenas as trilhas e pads que compõe o layout.

    Após 5 minutos passando o rolo sobre a placa, somente o desenho do layout deverá estar com a emulsão. No restante da placa, o cobre deverá ser visto claramente.

    Se as trilhas começarem a se soltar, é sinal que alguma coisa deu errado em alguma etapa anterior. Vais ter que limpar a placa e recomeçar do zero. As causas são as mesmas da etapa 1.

    Assim que toda a emulsão tiver sido removida, tire a placa da vasilha com água e use um secador de cabelos para secá-la bem. Eu deixo a placa morna com o secador.
  4. Se o cobre não estiver brilhante é sinal que uma película de emulsão se formou sobre a placa (popularmente conhecido como véu). Para retirar o véu, primeiramente a placa deve estar muito bem seca (secagem feita na etapa anterior).

    Despeje uma quantidade generosa de sapólium radium sobre a placa e depois uma pequena quantidade de água, o suficiente para formar uma pasta. Com a escova de dentes esfregue bem a placa para remover o véu (mas não aplique força exagerada para não soltar as trilhas).

    Após 1 minuto esfregando a placa, lave-a delicadamente com água e seque-a bem com o secador. Verifique se ainda há véu em alguma parte da placa. Se houver, ponha o sapólium sobre as partes que precisam ser limpas e repita a operação.

    Lembre-se de parar a cada um  minuto e secar bem a placa para evitar que as trilhas se soltem. Normalmente duas ou três vezes são o suficiente para tirar todo o véu.
A figura 11 mostra duas placas. A de cima foi danificada durante a lavagem. O problema foi causado por uma camada muito grossa de emulsão, que não secou adequadamente.

Repare no aspecto de sujeira da placa de baixo. Esse é o famoso véu.
Figura 11 - Duas placas após a revelação.

Preparando a placa para a corrosão.

A emulsão não vai aguentar muito tempo sob a água. Daí a necessidade dessa etapa.

Com a placa totalmente limpa e seca, vamos embeber um cotonete com o sensibilizante e aplicar sobre a emulsão que reveste as trilhas e pads. Após isso, devemos reexpor a placa à luz até que a emulsão fique preta.

Eu gosto de deixar a placa torrando sob o sol forte.

A figura 12 ilustra uma placa com as trilhas pretas após ter sido exposta ao sol com a nova camada de sensibilizante. Note que eu passei sensibilizante até em áreas onde não haviam trilhas. Isso está errado (além de ser um desperdício de material). Mas eu estava com pressa e fiz essa caca.

Figura 12 -placa com emulsão negra após exposição ao sol com segunda aplicação de sensibilizante.

Corrosão
Eu faço a corrosão com percloreto de ferro. Não use percloreto muito velho, pois senão pode acontecer uma das duas coisas (ou ambas):
  • a emulsão começará a se soltar e as trilhas serão corroídas.
  • a emulsão amolecerá e permitirá que o percloreto se infiltre e corroa as trilhas.

A figura 13 ilustra uma placa já corroída.

Figura 13 - placa já corroída e limpa.

O processo parece mais trabalhoso do que é na realidade. Por isso, não se impressione se parece muita coisa para ser feita. Aprenda a fazer placas com esse processo que ele te permitirá fazer placas bem complexas.

Escolha uma placa fácil de ser feita para aprender esse método. Ou seja, placas com poucas trilhas e sem trilhas muito finas.

Excepcionalmente, para este artigo, eu NÃO vou responder a nenhuma pergunta sobre o método. Repetindo: eu NÃO vou tirar dúvida nenhuma que seja postada aqui. Vou solenemente ignorar qualquer pergunta sobre o método.

Por quê? Por dois motivos:
  1. Tu deverias ler todo o fórum, pois todas as dúvidas que tiveres provavelmente já foram respondidas lá.
  2. o fórum é o melhor lugar para postares todas as tuas dúvidas. Assim o conhecimento ficará concentrado em um lugar apenas. Isso é bom para todos.
E quando fores postar alguma pergunta no fórum, por favor, não dirija a pergunta para mim. Qualquer um dos usuários tem condições de te ajudar (aliás, quase todos tem muito mais experiência que eu nesse assunto).

Espero que tenhas gostado e que te seja útil.

quinta-feira, janeiro 28, 2010

Pacote para Ubuntu

Ontem eu fiz algo que já deveria ter feito a muito tempo: criei um pacote para o Ubuntu.

Em teoria qualquer um só deveria ter que baixar os fontes e executar os comandos mágicos (./configure, make e make install).

Na prática, para quem quer apenas usar o programa, isso é muito chato e trabalhoso, porque o usuário terá que instalar cada uma das bibliotecas de desenvolvimento (por exemplo, libgtk+2.0-dev) e suas respectivas dependências.

A algum tempo um usuário (que agora acho que posso chamar de amigo) estava tentando compilar o GMouseTool e estava encontrando vários problemas (quase todos por minha culpa).

Conforme ele ia me informando dos erros, eu ia fazendo as correções e ele tentava de novo. Pensei um pouco e achei um absurdo ele estar perdendo seu tempo quando a única coisa que ele queria era usar o programa.

Daí deixei minha preguiça de lado e gerei um pacote para o Ubuntu 9.10, versão de 32 bits para que ele não precisasse mais se preocupar com a compilação.

Assim, quero agradecer ao John Desanta por não ter desistido e por ter me ajudado a resolver vários problemas no GMouseTool.

Ah, e devo disponibilizar um pacote para o Ubuntu 9.10 de 64 bits até este domingo.

quarta-feira, janeiro 06, 2010

A ordem dos tratores altera o viaduto

Ontem eu tive alguns problemas ao tentar utilizar o framework de testes do Google (versão 1.4.0).

Eu recebia várias mensagens de erro do Visual Studio 2005 (que tu podes ver abaixo:

Error    1    error C2766: explicit specialization; 'std::numeric_limits' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\limits    482    
Error    2    error C2766: explicit specialization; 'std::iterator_traits' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    678    
Error    3    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1143    
Error    4    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1149    

Para encurtar a história, a ordem dos includes fez toda a diferença. Eu coloquei a linha
#include <gtest/gtest.h>

antes de todos os outros includes e os meus problemas desapareceram.

segunda-feira, dezembro 28, 2009

Simulador de circuitos eletrônicos

Hoje recebi um e-mal da lista de discussões que assino falando sobre um simulador de circuitos lógicos em tempo real. Chama-se Atanua (segundo a documentação que eu li, é o nome de uma deusa da mitologia polinésia: a Deusa do Amanhecer)

Neste link há um demo do produto.


Há uma versão gratuita para uso pessoal e não comercial, que pode ser obtida aqui.

O mais legal de tudo: Há uma versão para Linux (compilada para Ubuntu 8.04), para Mac e Windows.

Eu baixei a minha versão (para Linux, lógico) e vou começar a brincar com esse programa para ver se ele é bom quanto parece no demo.

Não perca tempo. Baixe e instale o simulador e comece a brincar / aprender.

sexta-feira, dezembro 25, 2009

Gravador de PICs

Bom, estou de férias até o dia 04 de janeiro e resolvi me presentear com um circuito eletrônico.

Eu gosto muito de montagens de circuitos analógicos, com amplificadores operacionais, muitos transistores, capacitores, indutores, LEDs e outros componentes discretos.

Geralmente tudo que monto é em proto-board. Assim, após o circuito estar funcionando eu o desmonto para reutilizar as peças em outras montagens.

Mas dessa vez resolvi montar algo definitivo... uma ferramenta: um gravador de PICs.

Como a maioria dos projetos que estou planejando são com os microcontroladores PIC12F675-I/P  e o 16F628A, a primeira versão do programador consegue programar os PICs de 8 e 18 pinos.

A foto abaixo ilustra o resultado final.



Há um espaço na placa para que eu habilite a gravação dos PICs de 28 e 40 pinos. Ela já está preparada para isso. Só não fiz isso na primeira versão porque faltaram componentes e eu estava sem disposição para enfrentar o comércio nesta época de compras natalinas.

Após o aparelho pronto, precisava ter certeza que ele estava funcionando. Daí, eu bolei um circuito bem simples, com 1 LED e utilizei fios no lugar chaves (que estão em falta no meu estoque).

A partir de uma combinação de sinais em nível alto e baixo em determinados pinos, o LED acenderia, apagaria ou ficaria piscando.

Utilizei o Piklab versão 0.15.2 no Ubuntu 8.04 para escrever alguns programas de teste bem simples (em assembly).

Após cada programação do PIC, eu o inseria no proto-board e usava o próprio gravador como fonte de alimentação.

Uma coisa que deve ser observada: no Ubuntu que utilizei não havia o dispositivo para a porta paralela.

Assim tive que criá-lo com o comando

sudo mknod /dev/parport c 99 0

Depois me adicionei ao grupo que tinha direito de leitura e escrita a este dispositivo (no meu caso, o grupo scanner).


A foto abaixo dá a ideia da simplicidade do circuito de teste.



Tudo funcionou muito bem. Agora preciso comprar alguns componentes para começar a brincar com meu gravador.

Bom Natal a todos.

sexta-feira, novembro 27, 2009

Foruns that I like / Fóruns que eu gosto

In English:

Em português:

Como habilitar touch screen no simulador da Sun

Os emuladores do WTK da Sun, por padrão, não vem com o touch screen habilitado. Mas e se precisarmos desenvolver algo para esse tipo de celular ?

Tudo o que precisamos fazer é alterar a configuração do aparelho para o qual desejamos habilitar o touch screen.

Os aparelhos disponíveis para o simulador encontram-se em subdiretórios dentro de
wtklib\devices\
que fica sob a pasta raiz do WTK. O nome dos subdiretórios é o mesmo do aparelho disponível para o simulador.

O arquivo de configuração termina com a extensão .properties. Abra o arquivo de configuração e altere a linha
touch_screen=false
para
touch_screen=true

Por exemplo, vamos supor que o WTK utilizado é o WTK2.5.2_01 e que desejamos habilitar o touch screen para o aparelho DefaultColorPhone.

Vá em
C:\WTK2.5.2_01\wtklib\devices\DefaultColorPhone

abra o arquivo

DefaultColorPhone.properties

e altere a linha
touch_screen=false
para
touch_screen=true

quarta-feira, novembro 25, 2009

uControl número 7

Já está disponível o número 7 da revista uControl, editado pelo pessoal do site MicroPIC. Ela está disponível gratuitamente sob o formato pdf. A qualidade do material publicado é excelente. Recomendo a todos.

Ah, vale lembrar que a revista está em espanhol.

Tu podes obtê-la aqui.

sexta-feira, novembro 13, 2009

Newton C. Braga lança seu site

Ontem recebi um e-mail do Newton C. Braga, informando que o seu site foi oficialmente lançado.

Isso é uma excelente notícia. Todos que gostam de eletrônica aqui no Brasil com 100% de certeza conhecem o excelente trabalho que ele vem desenvolvendo ao longo dos anos.

Então fica a dica de ouro: visite o site que tu só tens a ganhar.

Ah, ele também tem twitter.

segunda-feira, novembro 09, 2009

Sintonia de Controladores

Ficar fazendo continhas de taberneiro é uma chatice muito grande. Além  disso estamos sujeitos, por falta de atenção, a cometer erros.

Então resolvi fazer uma planilha em que entramos com os parâmetros e as contas são feitas automagicamente.

Ela encontra-se na seção Arquivos Úteis, no link Sintonia de Controladores.

Qualquer erro, por favor, informem-me.

terça-feira, novembro 03, 2009

Modelos para SPICE

Todos os simuladores do tipo SPICE vêm como uma quantidade razoável de modelos que é mais que suficiente para quem está começando.

E conforme tuas habilidades aumentam, a tua necessidade por modelos mais específicos também aumentará.

A lista de endereços a seguir contém vários modelos para SPICE disponíveis de graça. Espero que ela seja útil para ti.

De tempos em tempos eu vou atualizá-la.

domingo, novembro 01, 2009

Como plotar saída de funções de espaço-de-estados no Matlab

Suponha que tenhamos que determinar a forma de onda, o sobre-sinal, os tempos de subida e de estabilização bem como o valor de regime de um processo.

Suponha ainda que, ao invés da função de transferência G(s), foram fornecidas as equações de Espaço-de-Estados. Como fazer isso, sem contas nem complicações?

Faremos isso por meio do bloco State-Space do Simulink. Este bloco espera o fornecimento de quatro matrizes (A, B, C e D), que satisfaçam as equações de Espaço-de-Estados, conforme mostrado abaixo.


As equações de Espaço-de-Estados são

e

onde
x é o vetor de estado (n-vetor)
u é o vetor de controle (r-vetor)
y é o vetor de saída do sistema (m-vetor)
A é a matriz n x m
B  é a matriz n x r
C é a matriz m x n
D é a matriz m x r

Tudo o que precisamos fazer é determinar as quatro matrizes e usar o bloco State-Space. Complicado? Nem um pouco.

Vou mostrar, por meio de um exemplo, como fazer.

Suponha que as equações de Espaço-de-Estados que nós temos são

Podemos reescrever essas equações de modo a deixá-las em um forma matricial. Veja:

 
Por inspeção, obtemos as quatro matrizes:

  
 
 
Agora, crie um novo modelo do Simulink e insira o bloco State-Space (que se encontra em Simulink->Continuous) e conecte o bloco Step e o Scope, conforme mostrado na figura abaixo.


As matrizes devem ser escritas com a sintaxe do matlab. Assim, temos que

A = [0 1; -4 -2]
B = [0;4]
C = [1 0]
D = [0;0]

Como todos os elementos da matriz D são nulos, ela pode ser escrita simplesmente como

D = 0

Dê um clique duplo no bloco State-Space e insira os valores de A, B, C e D, conforme mostrado na figura abaixo.



Pronto. Agora é só simular, obter o gráfico da respsota do sistema e de lá obter os valores desejados. O gŕafico para o sistema do exemplo é visto a seguir.


Recomendo os três livros a seguir:

sexta-feira, outubro 30, 2009

Avaliação dos Artigos

No dia 28 de outubro eu incluí o widget da Out Brain que permite que o leitor qualifique os artigos publicados neste blog marcando quantas estrelas eles merecem.

Assim, eu te peço caro leitor: Diga-me a tua opinião. Qualifique os artigos.

Com a tua avaliação e a excelente ferramenta de relatórios da Out Brain eu terei a oportunidade de melhorar os próximos artigos. Afinal, eu escrevo para ti.

E se tu, por acaso já tiveres lido outros artigos, por favor, perca um tempinho e vá até eles para qualificá-los.

E escreva um comentário sobre qualquer coisa que tu não tenhas gostado. Escrevi algo errado? Diga-me o que foi que eu tentarei corrigir.

Obrigado.