Go Down

Topic: Ajuda com conexão serial Arduino X equipamento (Read 940 times) previous topic - next topic

paulo_pianca

Boa tarde, meu nome é Paulo,  estou com uma certa urgência para fazer um equipamento funcionar queria saber se vcs podem me dizer se vai funcionar. Eu trabalho com automação e controle de acesso em condomínios, comprei um dispensador de cartão e ele funciona através da porta rs232 e um software no computador. eu precisava colocar um botão para que quando acionado ele dispensasse o cartão sem usar o software,  queria saber se consigo programar ele com um modulo de rele e modulo rs232, para que sempre que eu acionar o relé ele execute o comando para ejetar o cartão no dispensador pelo modulo rs232. Se puderem me ajudar agradeço, de qualquer maneira obrigado.

acjacques

#1
Sep 08, 2020, 11:06 pm Last Edit: Sep 08, 2020, 11:09 pm by acjacques
Isso só vendo como é o hardware do seu dispensador . Veja com o fabricante e o manual se há como acionar sem ser por sw. E tambem qual e o comando e o protocolo usado para dispensar o cartão.  Se souber isso deve ser facil um Arduino emular esse comando quando um botão  for acionado

paulo_pianca

Ele me enviou esse manual, com o protocolo de comunicação.


hugo007

Boas,
Entao o datasheet que colocaste do dispositivo tem bem detalhado o protocolo de comunicação que é implementado.Basicamente terás de ligar esse botão a uma entrada digital do arduino e programares uma interrupção para quando este for pressionado enviar para o modulo via porta serie essa instrução para largar o cartão.
No datasheet tens isto:

Quote
4.4Dispensingcardtotheoutsideofcarddispense
Hostsend:
0x02 0x00 0x02 0x31 0x32 0x03

Reader return:
0x02 0x00 0x03 0x31 0x3 2O
Parece relativamente fácil.
Tens o modulo dos cartões contigo?
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

paulo_pianca

Opa,
Tenho sim estou com o dispensador e com o arduíno Uno.
Vc poderia me ajudar com o código é que é a primeira vez que mexo com arduíno e estou apanhando um pouco pra fazer isso funcionar. Obrigado.


hugo007

Já tens alguma coisa feita?Tenho andado sem tempo estes dias, mostra ai o que ja tens e assim que possa envio-te algo rápido para testares.
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

hugo007

Code: [Select]

//0x02 0x00 0x02 0x31 0x32 0x03

void setup() {
  Serial.begin(9600);

    /*  4.4Dispensingcardtotheoutsideofcarddispense
    Hostsend:
    0x02 0x00 0x02 0x31 0x32 0x03
    */
  Serial.print(0x02,HEX);
  Serial.print(0x00,HEX);
  Serial.print(0x02,HEX);
  Serial.print(0x31,HEX);
  Serial.print(0x32,HEX);
  Serial.print(0x33,HEX);
}

void loop() {
 

  }



Tenta assim e ve se ele mexe ...
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

paulo_pianca

Boa Tarde eu tenho isso que vi em um video no youtube , só dei uma ajustada pra o que eu preciso e com o que vc me passou agora

Code: [Select]
void setup() {
  // put your setup code here, to run once:

  pinMode(8, INPUT_PULLUP);
  Serial.begin(9600);
  Serial.available();
  Serial.write ("tudo OK");
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.available();
  while (digitalRead(8) == LOW) {
    Serial.print(0x02, HEX);
    Serial.print(0x00, HEX);
    Serial.print(0x02, HEX);
    Serial.print(0x31, HEX);
    Serial.print(0x32, HEX);
    Serial.print(0x33, HEX);
    break;
  }

}





hugo007

#10
Sep 24, 2020, 07:23 pm Last Edit: Sep 24, 2020, 07:25 pm by hugo007
Quote
Serial.write ("tudo OK");
Isto não está correcto, uma vez que irás enviar isto ao modulo também.Nota que a porta serie não pode ser partilhada.Não podes escrever dados para humanos e ao mesmo tempo estares a escrever para o módulo!
Ele não vai saber o que é "tudo OK" ...
Eventualmente usa um led para marcares algo ...
O modulo usa TTL na porta serie ou é RS232?

Ao executar o meu código o que aconteceu?
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

paulo_pianca

#11
Sep 24, 2020, 07:26 pm Last Edit: Sep 24, 2020, 07:28 pm by paulo_pianca
quando enviei seu codigo pro arduino ele nao fez nada, e agora quando tento enviar outro codigo ele da erro no envio. Mas ja consegui resolver

hugo007

Quote
quando enviei seu código pro arduino ele nao fez nada, e agora quando tento enviar outro codigo ele da erro no envio.
Não entendi bem agora, dá erro ao subir novo código para o arduino ou o modulo sinaliza erro?
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

paulo_pianca


hugo007

Nota que como te disse a porta serie nao pode ser partilhada.Se tens o modulo ligado na serie quando estas a enviar o codigo vai falhar!
Tens de desligar do modulo, faz upload, desliga o arduino, faz as ligações, coloca energia primeiro no modulo para dar tempo para ele inicializar e so depois liga o arduino.
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Go Up