Tinkerforge Motor Driver

There is a nice mikrocontroller kit system available, see tinkerforge.com . Just connect the bricks and begin to program your application! No need to have a soldering iron...

There are lots of sensors and also IO-boards (named "bricklets"(, however there was no bricklet which can control 4 tortoise turnout motors "out of the box".

I now made such a board, based on the IO4-bricklet with 2x LB1909MC as +/-12V drivers for the motors. Here is an image of the 35x35mm "IO4-12Volt" Bricklet:
The test setup with a master brick, an RS485 brick, the new "tinker-tortiose" bricklet and a turnout motor:

Schematics: (for the software the module is identical to the IO-4 Bricklet )

Using this bricklet with JAVA
If you connect to a RaspberryPI (and with "raspian"OS ), you must first

  • install the pm-utils:
    sudo apt-get install pm-utils
  • download the brick-deamon and install it with
    sudo dpkg -i brickd-2.1.0_armhf.deb
  • download the Tinkerforge java-lib (Tinkerforge.jar), store for example in /opt/javalib
  • for additional info see this link: Java and Tinkerforge
  • finally compile and run the following test program (change UIDs to your UIDs, make sure that Tinkerforge.jar can be found on classpath etc.). This test program switches a turnout at port 1 in one direction and after 5 seconds in the other direction.
    import com.tinkerforge.BrickMaster;
    import com.tinkerforge.IPConnection;
    import com.tinkerforge.BrickletIO4;
    public class JLPITinkerMain {
        private static final String HOST = "localhost";
        private static final int PORT = 4223;
        // master brick UID 6qAdgK
        // wdec UID         mb84w
        private static final String MASTER_UID = "6qAdgK"; 
        private static final String WDEC84_UID = "mb84w";
        public static void main(String[] args) throws Exception{
          IPConnection ipcon = new IPConnection(); // Create IP connection
          BrickMaster master = new BrickMaster(MASTER_UID, ipcon); // Create device object
          BrickletIO4 wdec84 = new BrickletIO4(WDEC84_UID, ipcon); // Create device object
          ipcon.connect(HOST, PORT); // Connect to brickd
              // Don't use device before ipcon is connected
          // Set pin 1 output high
          wdec84.setConfiguration((short)(1 << 1), 'o', true);
          // wait 5 seconds
          // Set pin 1 output low
          wdec84.setValue((short) 0);
          System.out.println("press key to exit");

To control tinkerforge modules via "Lanbahn" UDP Multicast pakets, I have written some small java programs which you find on: sourceforge - project Lanbahn, directory tinker

"work in progress": a compact 4-channel "train-on-track-indicator" (with galvanic isolation via optocouplers) ein kompakter 4-Kanal Belegtmelder (mit galvanischer Trennung über Optokoppler) for the Tinkerforge System. The blue connector is for ISP programming of an ATtiny84.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer