Tinkerforge Weichendekoder

Unter tinkerforge.com gibt es ein sehr nettes Mikrocontroller Baukastensystem, "zusammenstecken und losprogrammieren", und das in sehr vielen Sprachen, könnte das Motto lauten.

Es gibt für alles mögliche Sensoren und auch digital I/O Boards, aber kein "Bricklet", was sich direkt für 4 Tortoise Weichenantriebe eignet.

Daher habe ich, basierend auf dem IO4-Bricklet, ein solches Board erstellt mit 2x LB1909MC als Treiber ICs für die motorischen Weichenantriebe (der LB1909 hat 2 Gegentakt Endstufen, so dass sich mit jedem IC 2 Motoren ansteuern lassen). Hier ist ein Bild mit dem 35x35mm grossen "IO4-12Volt" Bricklet:
Der Test-Aufbau mit einem "Master"-Brick, einem RS485 Brick, dem "tinker-tortiose" Bricklet und einem Motor-Weichenantrieb:

Der Schaltplan: (software-seitig ist das Modul ein IO-4 Bricklet )

Die Software (hier mit JAVA)
Bei Anschluss an einen RaspberryPI (wenn "raspian" als OS installiert ist), müssen

  • zunächst die pm-utils installiert werden:
    sudo apt-get install pm-utils
  • der brick-deamon muss heruntergeladen und dann installiert werden mit
    sudo dpkg -i brickd-2.1.0_armhf.deb
  • die Tinkerforge java-lib (Tinkerforge.jar) muss heruntergeladen werden, zb nach /opt/javalib
  • weitere Hinweise zu Java und Tinkerforge hier
  • dann kann das folgende Test Programm compiliert und ausgeführt werden (UIDs müssen natürlich angepasst werden, der classpath muss Tinkerforge.jar enthalten etc.). Das Programm schaltet eine Weiche, die an Port1 angeschlossen, zunächst in die eine Richtung und nach 5 Sekunden dann in die andere Richtung
    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
          Thread.sleep(5000);
    	     
          // Set pin 1 output low
          wdec84.setValue((short) 0);
    	        
          System.out.println("press key to exit");
    	     
          System.console().readLine();
          ipcon.disconnect();
    	        
          }
    
    }
    

Die Tinkerforge Module können jetzt auch über die "Lanbahn" UDP Multicast Pakete angesprochen werden, die Software liegt auf sourceforge - Projekt Lanbahn, Verzeichnis tinker

Auch "in Arbeit": ein kompakter 4-Kanal Belegtmelder (mit galvanischer Trennung über Optokoppler) für das Tinkerforge System. Der blaue Stecker links ist der ISP-Programmierstecker für einen ATtiny84.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer