Failed to reproduce Realtek TX2/RX2 commands

I have this old RC toy car and wanted to control it with an Arduino, replacing just the Transmitter - TX2.

I got the TX2/RX2 datasheet here: http://www.jbprojects.net/projects/wifirobot/TX2RX2.doc

So I soldered a wire exactly where TX2 pin 8 were and connected it with Arduino Mega’s digital pin 12 and tried to reproduce the commands by setting pin 12 in High or Low state, like below:

    digitalWriteFast(pin, HIGH);
    delayMicroseconds(500);
    digitalWriteFast(pin, LOW);
    delayMicroseconds(500);

It seemed fine, except it didn’t work.

Do you guys have a glimpse of what might be going on?

An RC car that uses a data transceiver? What is it? Can you show a photo of what you've done?

It seemed fine, except it didn't work.

You obviously have a different definition of fine to me.

I think OP meant nothing burst into flames and no magic smoke was released. What if you just do digitalWrite(pin,HIGH); and measure the receiver?

BTW, did you set the pin to output with pinMode(pin,OUTPUT); ?

Transceiver? Nope. Controller ---> TX2 Car ---> RX2

I think it might be these: http://www.jbprojects.net/projects/wifirobot/TX2RX2.doc

Your link was to a data transmitter/receiver pair. I used the word transceiver to cover both ends.

@dxw00d: Yes, my link is bad. I'll replace it.

@liud: How do you suggest I measure the receiver? Yes, the pin is set to OUTPUT. I thought using the writeFast library would be good to generate pulses more quickly.

I thought what the pair does is: you set TX unit to HIGH, then TX unit informs RX unit and RX unit becomes HIGH. So if you have access to the output pin on the RX unit, measure it to see if it swings HIGH when you send HIGH to TX. What do you expect to see with your 4 lines of code? It generates a short pulse. Unless that pulse means something to the device on RX unit, there's nothing to see.

liudr: I thought what the pair does is: you set TX unit to HIGH, then TX unit informs RX unit and RX unit becomes HIGH. So if you have access to the output pin on the RX unit, measure it to see if it swings HIGH when you send HIGH to TX. What do you expect to see with your 4 lines of code? It generates a short pulse. Unless that pulse means something to the device on RX unit, there's nothing to see.

Actually, it's the combination of those HIGH and LOW that actually gets some result in the RX side.

For example: To move the car forward, you must send 4 pulses of 2 millisec. each (1 milli HIGH and 1 milli LOW) and 10 pulses of 1 millisec. each (0,5 milli HIGH and 0,5 milli LOW).

How do you suggest that I measure it in RX2? Multimeter?

cassioiks:

liudr: I thought what the pair does is: you set TX unit to HIGH, then TX unit informs RX unit and RX unit becomes HIGH. So if you have access to the output pin on the RX unit, measure it to see if it swings HIGH when you send HIGH to TX. What do you expect to see with your 4 lines of code? It generates a short pulse. Unless that pulse means something to the device on RX unit, there's nothing to see.

Actually, it's the combination of those HIGH and LOW that actually gets some result in the RX side.

For example: To move the car forward, you must send 4 pulses of 2 millisec. each (1 milli HIGH and 1 milli LOW) and 10 pulses of 1 millisec. each (0,5 milli HIGH and 0,5 milli LOW).

How do you suggest that I measure it in RX2? Multimeter?

Measure it on pin 3 of the RX2 - using an oscilloscope (preferably a DSO). You -might- also be able to run a very tight loop sampling a digital I/O pin (or use an interrupt) and store the data in RAM (more or less as a single pin digital signal analyzer), but you might not have enough RAM to do it properly...