Eletrônica & Porta Serial & Java 23 Oct 2007 02:45

Conversor Serial => Infra-Vermelho

Esta semana tive que fazer um projeto para a feira de ciências do curso de eletrônica na Escola Técnica Sto Inácio, aqui em Porto Alegre-RS. Pensei direto na porta serial. Por ser algo que já tenho um certo conhecimento, e para aproveitar a oportunidade de mostrar cada vez mais como o PC, com suas portas de comunicação, podem fazer coisas impressionantes.

Estava lendo revistas, projetos de eletrônica, até que achei uma Elektor, que tinha um projeto na capa “Emissor/Receptor de Infra-Vermelho para PC”. Na mesma hora eu já tinha decidido, seria esse o projeto. Comecei a ler e vi que era exatamente o que eu estava pensando sobre o projeto, seria possível trocar quaisquer tipos de informações entre os dois PCs envolvidos. Seria só o trabalho de montar as duas placas idênticas, uma para cada PC, e fazer o software para ler e escrever na serial. Imaginei em fazer um bate-papo, estilo MSN, com transferência de arquivos.

Segue o esquemático do projeto:

Esquemático

Tive um pequeno problema nesse circuito. Como podem notar, o circuito utiliza a fonte da própria porta serial para alimentar, porém, quando eu ia escrever qualquer coisa no TX, a fonte “arriava”, não aguentava, consumia mta corrente para a porta. Então, para o TX, usei fonte externa. Outra coisa, depois disso, foi que quando eu escrevia qualquer coisa, o receptor (RX) da mesma máquina recebia tudo que eu mandava, e como o RX continuava sendo alimentado pelo pino RTS/DTR, cada vez que eu iria escrever qualquer coisa, desabilitava esse pinos, afim de impedir o recebimento do que estava enviando. O objetivo era apenas que o outro pc recebesse.

Para dificuldades na escrita da porta serial, sugiro meu outro post, que fala justamente da configuração do ambiente para possibilitar a escreta na serial, usando a API Comm da Sun, segue o link.

E aqui, estou disponibilizando o código fonte do software que fiz. Pode ter alguns bugs, mas o que importava, nesse caso, era o perfeito funcionamento do mesmo. Lembrete: por limitação do infra, a velocidade da serial (baudrate) deve ser de até 2400 bps.

Final da história: Para a minha surpresa, tirei 1º lugar na categoria “Eletrônica” da Feira de Ciências e Técnologia da Escola Sto Inácio. Isso que estou no primeiro semestre, e ainda comecei no curso meio atrasado, depois de 2 meses de aulas que perdi. Fiquei muito feliz com a premiação, que não foi grande coisa - 1 multímetro, 1 ferro de solda, 1 jogo de chaves Taurus e uma medalha - mas valeu a pena passar tanto trabalho pra fazer esse circuito funcionar. Na apresentação, ficaram 2 computadores, um ao lado do outro, há uns 3 metros de distância, e usando bate-papo, porém, sem fio nenhum. Todas as informações passavam pelo infra, que para quem não sabe, é parecido com Código Morse, só que ao invés de ser por som, é por luminosidade.

Adicione ao del.icio.us

28 Respostas para “Conversor Serial => Infra-Vermelho”

  1. em 04 Dec 2007 as 6:54 pm 1.Cheap cialis online cialis buy cialis online. disse …

    Cheap cialis online cialis buy cialis online….

    Buy cialis generic cheap cialis buy cialis. Link buy cialis cheap. Cod phentermine as well as cialis cheap reviews. Cheap cialis online pharmacy. Cheap cialis….

  2. em 05 Mar 2008 as 4:11 am 2.Natália disse …

    Bom dia Rafael, eu tenho que fazer um trab para a faculdade (matéria: comunicações ópticas), então achei seu artigo na net e gostei muito, qdo apresentei ao professor ele disse q estaria ótimo. Mas sou leiga em computadores, entendo o básico do básico, então estou terminando de fazer as placas, até aqui nenhum problema, pq essa parte de eletrônica é mais fácil, o que estou com dificuldades é qdo vc diz:
    **** “Em primeiro lugar, o pacote para windows acompanha 3 arquivos: javax.comm.properties, win32com.dll e a comm.jar. Aí está a maior dificuldade. Mas como já tive muitos problemas com isso, vou direto ao ponto certo. O supondo que a variável $JDK se ja o diretório onde está instalado sua JDK e $JRE onde está sua JRE, siga os seguintes passos:
    Arquivo win32comm.dll => $JDK/bin, $JDK/jre/bin, $JRE/bin
    Arquivo javax.comm.properties => $JDK/lib, $JDK/jre/lib, $JRE/lib
    Quanto à comm.jar, é só colocá-la no classpath de sua aplicação. no site do GUJ tem uma ótimo artigo sobre como escrever na porta serial usando a Java Comm que serviu como base para meus estudos.” ***
    Fiquei completamente perdida nessa parte…por favor se não for pedir muito vc poderia soletrar (rs)!? Digo, escrever onde acho esse pacote de windows no meu pc?? Uso o XP…e como e onde posso fazer os seguintes passos:
    Arquivo win32comm.dll => $JDK/bin, $JDK/jre/bin, $JRE/bin
    Arquivo javax.comm.properties => $JDK/lib, $JDK/jre/lib, $JRE/lib
    Desculpa por tantas dúvidas + realmente nunca fiz nada parecido. À propósito curso Engenharia Elétrica com Telecomunicações e Computação, estou no 9º semestre. Como pode ver embora meu curso tenha ênfase em computação aprendemos o básico do básico, tipo redes, programar em C … mas muito por alto.

    Beijos e muitíssimo obrigada,
    Se vc preferir responder por email eu agradeço:
    natalia_ftc@yahoo.com.br, nataliaftc@gmail.com

  3. em 05 Mar 2008 as 5:31 am 3.Rafael Quines disse …

    Olá.. Seguinte, vc conhece algo de java? sabe o q é JDK e JRE? O software q comuinica na serial e é convertido para infra foi feito em Java. Aconselharia vc a ver a linguagem q mais conhece para fazer isso. O que acha?

  4. em 06 Mar 2008 as 3:46 am 4.Natália disse …

    dúvidas:
    que fonte externa vc usou para o tx? quantos volts?

    vc poderia me enviar uma foto do circuito montado, encaixado no pc, por favor?

  5. em 06 Mar 2008 as 3:37 pm 5.Natalia disse …

    Vc poderia me enviar o codigo fonte?
    Eu realmente nao entendo de Java, + já estou procurando um prof que entende para me orientar.
    Muito Obrigada :)
    Beijos.

  6. em 07 Mar 2008 as 3:53 am 6.Rafael Quines disse …

    Olha, não tenho mais o circuito. Ficou no curso de eletrônica. E sobre a fonte, usei uma de 12 V para o circuito. Não tenho mais esse fonte, mas tem uma apostila mto boa, aqui

    T+

  7. em 11 Mar 2008 as 6:11 am 7.Natália disse …

    Olá de novo. bom dia
    Rafael no esquemático do projeto q vc colocou acima tem um foto diodo (receptor IR D3) q foto diodo é esse??? pergunto pq tenho q pesquisar o datasheet dele e tudo o mais.
    Muitissimo obrigada pela força, vc é 1000!!!

    Ah outra coisa vc pode me enviar via email o codigo fonte do projeto???
    natalia_ftc@yahoo.com.br
    nataliaftc@gmail.com

    bjos!!

  8. em 11 Mar 2008 as 6:54 am 8.Rafael Quines disse …

    Ah, sobre o IR D3, eu peguei um similar, pois não o encontrei em nenhum lugar.. Estou te enviando por e-mail o esquema do circuito…

    T+

  9. em 12 Mar 2008 as 8:32 am 9.Natália disse …

    OBRIGADA
    RECEBI SUA RESPOSTA
    POREM O EMAIL COM O CODIGO FONTE NAO
    BJOS

  10. em 13 Mar 2008 as 3:51 pm 10.Sidney disse …

    Olá amigo eu gostei muito desse projeto.
    Já estou terminando de montar a placa.
    Só falta o código fonte…. poderia me enviar???
    Desde já agradeço
    email:
    compras_rg@yahoo.com.br

  11. em 15 Mar 2008 as 5:22 am 11.Natalia disse …

    Oi Rafael consegui comprar o IR porem ta dificil achar o soquete…o q liga no pc (para ligar o Tx, Rx, RTS, DTR, CTS)…vc conhece por outro nome?? aqui me informaram q o nome é soquete…so q tem soquetes para varias coisas…

    Bjos

    p.s: ainda nao recebi o cógigo fonte.

    Obrigada por tudo.

  12. em 15 Mar 2008 as 5:55 am 12.Rafael Quines disse …

    Pessoal, não tenho mais o código fonte. Ficou no curso. Mas não tem nada de específico no código fonte. É apenas leitura e escrita da serial. O que o circuito fará apenas, é converter o dados da seria pra infra, enviar para a outra q tá com o receptor de infra, que retransformará em serial para entrar no outro PC. Essa foi a idéia para fazer esse circuito. Nessa apostila: AQUI tem tudo o que é neccessário para a manipulação da porta serial. Estou desenvolvendo uma API para manipulação da serial de uma maneira bem fácil, quando tiver pronto, posto aki… T+++

  13. em 24 Mar 2008 as 7:47 pm 13.Ivã disse …

    olá rafael,

    amigo estou desenvolvendo uma copia do seu projeto e precisaria do codigo fonte ja que terminei a placa. como eu não prgramo em java e não conheço quase nada. gostaria de saber se vc não vende o codigo fonte ou desenvolve o codigo. É so dizer o preco e se pode desenvolver.

    grato, aguardo ancioso, URGENTE

    Ivã Chaves

  14. em 26 Mar 2008 as 7:19 pm 14.Rafael Quines disse …

    Amigo, continuamos essa conversa por e-mail blz.
    Abraço

  15. em 27 Mar 2008 as 6:59 am 15.Ivã disse …

    qual o seu email?

    o meu é ivachaves@yahoo.com.br

    no aguardo.

  16. em 27 Mar 2008 as 7:04 am 16.Ivã disse …

    mandei um e-mail pra vc…. utilzando o e-mail do site….. se não receber….. mande-me um no e-mail acima.

    grato,

    Ivã Chaves

  17. em 19 Jul 2008 as 1:16 pm 17.Seroquel xr. disse …

    Seroquel xr….

    Seroquel xr….

  18. em 12 Oct 2008 as 4:16 pm 18.Edson disse …

    Olá,
    Amigo tu tens a API pra windows?
    No site da SUN só tem pra LINUX, e perdi os arquivos que tinha!!!
    Desde já grato!!!

  19. em 12 Oct 2008 as 4:56 pm 19.Rafael Quines disse …

    Tenho sim, segue o link…

    http://www.rafaelquines.com/download/javacomm20-win32.zip

    flw

  20. em 07 Nov 2008 as 3:25 am 20.Rafael Silva disse …

    Tudo bom chará, olha estou com um projeto de direcionamento automático de antenas sem fio,da escola técnica redentorista ,em campina grande-pb tu. tens um sistema com transmissor tx rx para fazer essa interface wireless? s´´o falta eu conseguir isso!
    e se tiveres também, um esquema para transmitir dados de u, computador pra outro, sendo q os dois fiquem interligados via porta serial.
    é a 1° vez q entro no teu site,tomara q entre muitas outras p/ t prestigiar e contar ~c/ a tua ajuda.
    desde já estou grato, que DEUS te abençoe
    JESUS te ama e tem um plano na tua vida!
    valeu!!!!!

  21. em 07 Nov 2008 as 11:53 am 21.Rafael Quines disse …

    Amigo, na verdade não terei como te ajudar. Esse projeto eu fiz há 1 ano pro curso q eu estava fazendo e hje não tenho mais ele. O que vc poderia fazer era usar algum tipo de serial => ethernet, e mais um access point. dessa maneira poderia fazer 2 pcs comunicarem por wireless…

    abraço

  22. em 29 Nov 2008 as 5:44 am 22.Leandro Messaggi disse …

    Olá Rafael, estou tendo problemas para configurar o pacote de comunicação do java, tenho o pacote que vc diponibilizou, fiz como foi falado em varios forums, colocar o win32 no bin, o java.properties no lib e o comm.jar no lib e tb teve uns que disseram que deveria colocar no lib\ext… porem sempre que vou chamar a classe javax.comm o soft indica que a mesma não existe. Você pode me ajudar?

  23. em 29 Nov 2008 as 8:38 am 23.Rafael Quines disse …

    vc precisa adicionar o comm.jar no seu projeto. Caso esteja usando o Eclipse, adicione um “external jar” e seleciona a comm.jar e tal..

    flw

  24. em 29 Nov 2008 as 9:07 am 24.Leandro Messaggi disse …

    Estou usando o JCREATOR e o NETBEANS, como eu aciciono o comm.jar no programa, pois pelos pdfs eu ja segui mas continua aparecendo package javax.comm does not exist

  25. em 01 Dec 2008 as 8:55 am 25.RAFAEL SILVA disse …

    olá Leandro Messaggi RECEBÍ O TEU E-MAIL, MAS NÃO ENTENDÍ AO CERTO O TEU PROBLEMA, ME EXPLICA MAIS DETALHADAMENTE

  26. em 01 Dec 2008 as 11:36 am 26.Rafael Quines disse …

    Leandro, botão direito no projeto => Properties => clica na direita, em Libraries => Add Jar/Folder e seleciona onde tá teu comm.jar

    flw

  27. em 12 Dec 2008 as 7:30 am 27.raylon disse …

    Qual e o conector usado neste transmissor ?
    porta Serial DB-09 ou porta paralela DB-25

    Msn: raylonsasj@hotmail.com

  28. em 12 Dec 2008 as 1:30 pm 28.Rafael Quines disse …

    nah, um conector DB9 mesmo… e só to usando 3 pinos: TX, RX e GND. A fonte é externa.

Trackback This Post | Inscreva-se no RSS Feed dos comentátios

Responda