Boas pessoal

Actualmente tenho um dispositivo ligado a ao computador através do usb que me devolve umas medições que ficam gravadas em memoria interna do dispositivo (como se pode ver na imagem).

 

Este é o código (em python) que eu utilizo no computador para poder apanhar os dados que estão gravados na memoria do medidor:

------------------------------------------------------------------------------------------------------

def get_vals():
           try:
                Obj_porta = serial.Serial('COM3',19200)      #cria a comunicação
                Obj_porta.write("mem")                                   # envia a string para o dispositivo
                ch ="""
                 for x in range (0,50):
                       ch = Obj_porta.read()                                # le char a char que o dispositivo retorna
                       ch+= ch
                       pass
                
                Obj_porta.close()                                              # termina a comunicação

                print ch                                                                # mostra a string com os resultados

except serial.SerialException:
           print "ERRO"

------------------------------------------------------------------------------------------------------

O que eu quero fazer é em vez do dispositivo ligar ao computador, liga directamente ao arduino.

Depois de clicar num botão do arduino, este envia a string "mem"  para o dispositivo

e logo de seguida o arduino ficar à escuta para poder receber os valores enviados pelo dispositivo.

Gostava que me ajudassem a conseguir esta ligação entre o arduino e este dispositivo.

Se possível que me ajudassem a perceber como irei comunicar  com o arduino e o dispositivo e  como a melhor maneira de ligar o arduino UNO e o dispositivo.

Exibições: 1185

Responder esta

Respostas a este tópico

Pessoal, eu preciso mesmo de ajuda!

Não há por ai alguém que me ajude? =P

Vá lá pessoal!

Preciso de uma ajudinha!

Utilize um arduino para receber o dados através da comunicação serial, e coloque um modulo sd para salva os dados recebidos no cartão de memoria no formato txt ou csv.

utilizando modulo SD

o sem modulo

Caro Nelson, 

Favor apresentar alguma informação sobre o dispositivo.

Qual interface ele usa? não entendi esse conector jack 2.5, é uma interface serial TTL? Usa 5V , 3,3V ou EIA 232?

E conectado ao PC, esta usando uma interface USB/serial?

Obrigado por estarem a me ajudar.

José Murta eu não tenho muita informação do dispositivo pois eu estou a  tentar fazer reverse engineering!

O que lhe posso dizer é que o dispositivo funciona independente (tem alimentação própria, tem uma pilha). O cabo jack 2.5 <->usb é só utilizado para poder aceder a memoria do dispositivo.

O cabo usb <-> jack 2.5 quando esta ligado ao computador é reconhecido como porta COM, por isso se verificar o código de python que criei (está no post inicial) este cria a comunicação serial na porta COM e depois envia a string "mem" pela porta serial para o dispositivo. E logo de seguida (o computador) recebe os dados que o dispositivo tem em memoria!

É isto que eu quero fazer com o arduino! Queiro que o arduino envie a string "mem" para a porta serial e logo de seguida fique a espera da resposta que o dispositivo vai retornar (que irá ser um conjunto de chars).

Caro Nelson, se quiser pode postar fotos do  dispositivo que esta usando.

Fotos dos dois lados. Quem sabe poderei ajuda-lo.

Veja esse processo fotografico de engenharia reversa  que sempre uso:

https://www.flickr.com/photos/jgustavoam/sets/72157638878341744/

Fotografo os dois lados do circuito. Inverto a foto do lado do circuito impresso.

E depois faço um merge das fotos com Photoshop.

Ok, mas José eu não quero criar um dispositivo novo eu só quero poder criar a comunicação entre dispositivo e o Arduino.

Eu já consegui comunicar entre o computador e o dispositivo, agora só não sei ligar o dispositivo ao Arduino e como funciona a serial do arduino para conseguir comunicar da mesma maneira que comuniquei entre o o computador e o arduino.

Eu sou licenciado em Engenharia Informática, então percebo de programação, o que eu não percebo é de electrotécnica.  Então não percebo muito bem como funciona o arduino e as ligações.

É por isso que eu estou a pedir ajuda :)

Nelson eu entendo de eletronica, por isso solicitei as fotos.

Talvez através das fotos poderei identificar qual nível de tensão deverá usar na porta serial.

Por exemplo, se usar níveis de tensão errados, poderá danificar componentes.

Se o nivel de tensão do seu dispositivo for de 5V, poderá conectar o Arduino diretamente.

Se for diferente, terá que usar circuitos adicionais.

Basicamente é isso 

Arduino TX - pino 1 ====> Dispositivo RX (nivel 5V) 

Arduino RX - pino 0 <==== Dispositivo RX (nivel 5V) 

Arduino terra - GND ==== Dispositivo terra - GND

+5V ===> Dispositivo

http://arduino.cc/en/reference/serial

http://playground.arduino.cc/Referencia/Serial#.Uz_eVvldWa8

Interface USB Serial com conector de 2,5 mm:

http://www.sinforcon.com/product/html/314.html

  • Standard pinout: Tip-RX, Ring-Tx, Sleeve-GND
  •  (o site esta informando errado)

José Muito obrigado por toda a ajuda!

Assim que eu tiver novidades do meu projecto irei postar aqui!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço