between the TX and RX pins
I know Paul knows what he means by this, but with "fresh, niave, eyes", I wonder if a little clarification might be helpful?
With NewSoftSerial, you could dedicate (almost) any four pins (two on each Arduino) to the task of handling the comms between the Arduinos. I would avoid using D0 or D1, so that THEY can be left dedicated to the Ardino's communication with the big PC being used to program the Arduino.
Paul's suggestion is probably The Way To Go, if you just want to get the Arduinos talking.
If you want to have some fun, for instance with your "3 bit parallel data link", add one or two "handshake" lines, to "clock" the data transfer....
RTS: A line FROM sender, TO receiver... when it goes high, it is "saying" "Ready to Send"
CTS: A line FROM receiver TO sender.... "Clear To Send".
They can be used quite subtly to synchronize the activity in the two Arduinos. In the following, I'm assuming that the sending Arduino is set up to do some complex data capture job. The whole thing is dedicated to serving as some kind of sensor.
The receiving Arduino's job is "everything else"... deciding WHEN to ask sending Arduino to go off and fetch datum, and doing "stuff" with it after it has been fetched. It might not be the BEST convention to adopt, but in the following, I am having both lines go HIGH to be "saying" what their name implies.
I'm also assuming, for sake of simplicity (much more complex things are possible) that the "reading" from the sensor will be an integer from the range 0 to 15, inclusive, which is 0000 - 1111 in binary.
We'll start with both lines low, AFTER system has initialized, and after any previous cycle completed....
Sending Arduino Receiving Arduino
------------------ Starts process by sending CTS high long enough that
-
-
-
-
-
-
-
-
-
- Sending Arduino should have seen it, and then sends low again.
Begins to capture datum.
When datum captured...
Puts first bit of data on data line, i.e., maked it high or low
Waits a very brief time to let voltage on data line stabilize
Sends RTS high until...
------------------ Receiving computer reads the bit on the data line, and
-
-
-
-
-
-
-
-
-
- Waits a very brief time to let voltage on data line stabilize,
-
Waits to see CTS high,
Changes data line to show second bit,
Waits briefly,
Sends RTS low until....
------------------ Receiving computer reads the bit on the data line, and
-
-
-
-
-
-
-
-
-
- Waits a very brief time to let voltage on data line stabilize,
-
Waits to see CTS low,
Changes data line to show third bit,
Waits briefly,
Sends RTS low until....
... etc!
Simple plan.
Have fun making it work!