RCX to RCX Communication

 

For two robots to communicate, one has to send a message and the other has to be prepared to receive the message. We will call one the sender and the other one the receiver.  A Mindstorms™ robot can send a message to another robot, making it do whatever it is programmed to do when it gets the message. The infrared port that is usually used for downloading programs is also used to send messages.

 

In this activity you will learn how to program your robot to send a message to another robot. You will also figure out how to program the “other robot” to receive a message.

What you will need:

Two robots (cooperate with another group)

The Robotics Invention™ Kit

A flashlight

A disk to save your work

A copy of the Technical Guide

There is one way to send a message and many ways to receive one.

The Sender

 

You can have a send to RCX block anywhere in your program. When your program gets to that block, it will send out a number.

Tech Guide

 

 

 

 

 

 

© The LEGO Group

Text Box: You can choose to send any number between 1-255.  The number you send has no meaning by itself. It is used to set off the receiver if it is in the range of numbers the receiver is programmed to accept. Therefore, sender and receiver programmers must work together to decide which number to send and which range to set. 

 

The Receiver   

 

For a program to receive a message, it has to have either an IR watcher or one of the

IR Stack Decision Makers.  It also has to set the condition for which numbers to accept.

 IR Watcher

 

Like all other sensor watchers, the IR watcher keeps looking for a message over and over again. When it gets a message in its range, it will set off the stack underneath it.

      Tech Guide


© The LEGO Group

Here the program will wait for a number between 10 and 20.

 

 

 

 

 

 

 

 

 

  IR Stack Decision Makers

 

Like all other Stack decision Makers, the IR Yes or No looks for a message once. If the message is in its range, it will set off the Yes stack. If the message is not in its range, it will set off the No stack.

  
© The LEGO Group
     Tech Guide

Wait Until The Wait until block will wait until a number in its range comes in.

 

            Tech Guide


© The LEGO Group

Here the program will wait for a number greater than 35.

               

IMPORTANT: If your program is set up to look for a new message over and over again, you must clear an old message so a new message can come in. Use the Clear IR Message block to erase an old message from memory.

Tech Guide

 

Here are some examples of simple sending-receiving programs. These programs can work with many kinds of robots.

Sender Program

 

Receiver Program

 

Receiver Program

© The LEGO Group

RCXtras

 

Remember you can always come up with a problem of your own to solve.

 

1.       Recreate the sender program from the previous page. Change it so that it will send a message only after a touch sensor has been pressed or a light is shined on a light sensor. Have the receiver’s group program the robot to receive your message. (It is okay for the receiver to recreate the programs on the previous page.)

 

2.       Write a program that has a robot return a message to the sender, making the sender do something. (A sender can also be programmed to be a receiver.)

 

3.       Write a program that has the receiving robot respond to a message only after its touch sensor was pressed (or a light shined on its light sensor).