INTERCEPT EMV CARD COMMUNICATION WITH EMV CARD READER

Hi ,i write a small code in my Arduino Nano , i am trying to INTERCEPT EMV CARD COMMUNICATION WITH EMV CARD READER and the opposite.

I send characters from the Card reader to the emv card with an app called "MICROEXPERT".

The code that i write is as follow :

#include <SoftwareSerial.h>

SoftwareSerial Myserial (10, 11);

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

void loop() {
  if (Myserial.available() > 0) {
    Serial.write (Myserial.read());
    Serial.print (" ") ;
  }
}
     
}

Every time i send a character to the emv card (with MICROEXPERT) , my Arduino print the value on the screen .

BUT THERE IS A PROBLEM: THE PRINTED VALUE ON THE SCREEN HAVE NOTHING TO DO WITH WHAT I SENT TO MY EMV CARD.

CAN SOME ONE HELP ME , PLEASE (SORRY FOR MY BAD ENGLISH).

(PLEASE SEE THE ATTACHED PICTURE OF MY SCHEMATICS )

Please don't shout at us.

What a mess...

Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. Using code tags and other important information is explained in the How to use this forum post. Please read it.

Please always do a Tools > Auto Format on your code before posting it. This will make it easier for you to spot bugs and make it easier for us to read. If you're using the Arduino Web Editor you will not have access to this useful tool. I recommend you to use the standard IDE instead.

Please remove unnecessary blank lines from your code before posting to the forum. One or two to separate code into logical sections is fine but large spaces for no reason just make for more scrolling when we're trying to read your code.

Please take the time to actually test the code before you post it. Your code doesn't even work. Why should I take the time to help you if you won't make a little effort to post something legible? Try harder next time.

Try this:

#include <SoftwareSerial.h>

SoftwareSerial Myserial (10, 11);

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

void loop() {
  if (Myserial.available() > 0) {
    Serial.write (Myserial.read());
    Serial.print (" ") ;
  }
}

See:

How about posting a picture of the Myserial you connected to the Arduino? If you didn't actually attach a Myserial to the Arduino, why on earth did you name it that in the code?

Myserial is pin 10 and 11.
I showed in the schematic only pin 10 cause i only need to read the value of i/o of the card.

alpa4inos:
Myserial is pin 10 and 11.
I showed in the schematic only pin 10 cause i only need to read the value of i/o of the card.

If you attach a cat to the pins, naming the instance MyCat makes sense. Sort of.

If you attach a dog to the pins, naming the instance myDog makes sense. Sort of.

If you attach a EMV CARD READER to the pins, naming the instance Myserial makes no sense.