Ajuda com conexão serial Arduino X equipamento

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.

?

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.

//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 ...

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

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;
  }

}

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?

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

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?

ele dava erro ao subir um novo codigo

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.

|281x500 |375x500

?

Deixa eu te explicar mas desde o começo pq oque eu achei que entendia de programação, vi que não entendo nada. :D

Eu tenho o expedidor, dele sai um cabo db9 ligado a um modulo db9 para arduino, no modulo esta ligado vcc no 5v do arduino, gnd no gnd do arduino, txd no borne 0 Rx do arduino, o rxd do modulo ligado no borne 1 TX do arduino. Na protoboard tem um botão ligado no gnd do arduino e no canal 8 do arduino. o que eu precise não o conseguindo de jeito nenhum fazer é que quando eu aperte esse botão ele envie o sinal pro modulo e do modulo para o expedidor para poder sair o cartão.

esse é um log do software que vem junto com o expedidor,

14:39:58 Prepare to open COM5... 14:39:58 ==========COM5 open successed========== 14:39:58 ----------> 02 00 02 32 30 03 01 14:39:58 <<<<<< 02 00 03 32 30 10 03 10 14:39:59 ----------> 02 00 02 31 31 03 03 (CÓDIGO DE QUANDO SAIU O CARTÃO) 14:40:00 <<<<<< 02 00 03 31 31 59 03 5B

Ok entao estas a dizer que se do pc enviares isso ele dá um cartao para fora? Se olhares para o meu codigo o comando enviado é defacto diferente.

02 00 02 32 30 03 01 ->indicado por ti
0x02 0x00 0x02 0x31 0x32 0x03 ->o que eu vi no datasheet

Se assim for bastara alterar o codigo que eu te enviei para:

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(0x32,HEX);
  Serial.print(0x30,HEX);
  Serial.print(0x03,HEX);
  Serial.print(0x01,HEX);
}

void loop() {


  }

Coloquei o codigo e nao aconteceu nada , uma coisa que reparei é q o led laranja do arduino fica piscando e o led do modulo rs232 que comprei fica oscilando bem fraco igual o led laranja, isso quer dizer que há comunicação neh. porem nao esta saindo cartão.

Demonstra com rigor como ligaste isso.Não terás os pinos RX e TX invertidos? Tira fotos e explica bem como ligaste isso.Lembra-te que quanto mais detalhado o fizeres melhor as pessoas aqui te podem ajudar... Não respondeste a isto:

Ok entao estas a dizer que se do pc enviares isso ele dá um cartao para fora?

Ok entao estas a dizer que se do pc enviares isso ele dá um cartao para fora? O dispensador vem com um software para pc, porem pra aplicação que vou fazer nao vai ter como deixar ligado a um pc, por isso quero dar um jeito de acionar o dispensador usando um botão no arduino.

Essas são as imagens da ligação |375x500 |375x500 |375x500 |375x500 |375x500

Já tentaste inverter os pinos TX e RX e testar? Em algum sitio do cabo o TX tem de ligar ao RX e vice-versa. Tenta inverter os pinos

ja fiz e tbm nao funcionou