Communicating with the Fischertechnik Interface
I. Parameters of the control port:
Baudrate |
9600 |
Bit |
8 |
Parity |
no |
Stopbits |
1 |
II. Communication
There are two byte necessary to control the interface via the serial port. The first byte is the interface command ( see below ) which tells the interface what to send as reply. The second byte describes which motor should work and in which direction. The interface sends one or three bytes according to the interface command.
1. Byte: Commands to the Interface
binary |
hex |
decimal |
description |
11000001 |
C1 |
193 |
only Input condition (E1..E8) |
11000101 |
C5 |
197 |
Input condition and analog value EX |
11001001 |
C9 |
201 |
Input condition and analog value EY |
2. Byte: motor state
Bit |
description |
1 |
motor 1 left |
2 |
motor 1 right |
3 |
motor 2 left |
4 |
motor 2 right |
5 |
motor 3 left |
6 |
motor 3 right |
7 |
motor 4 left |
8 |
motor 4 right |
It is possible to operate all 4 motors. If the left bit and right bit of the same motor is set, this motor will refuse to operate.
III. Answers from the interface:
command |
answers |
description |
193 |
one byte |
every bit represents one input |
197 |
three byte |
1. byte see above 2. und 3. byte analog value EX |
201 |
three byte |
1. byte see above 2. und 3. byte analog value EY |
In order to programm the interface you have to use loops. The interface needs a command every 300 ms otherwise the motors are turned off.
You can download examples of programms of the following programming languages: