Binary toy for the Museum of Technology, Berlin

My first larger project using the Arduino platform is an exhibit for the German Museum of Technology in Berlin. It will be shown in the Konrad Zuse exhibition.

The device shows a random number (left display). By activating the correct bits in a binary representation (center display) the visitor has to assemble this number (right display). From a programmers point of view this is really not a big deal, but for most people this can be a challenge.

This device was created in cooperation with Felix Scharstein who has a long experience in objects and machines for museums. An article on a more mechanical device for the same exhibition will follow soon.

Technical Facts

The device is controlled by an Arduino Duemilanove. All buttons are connected to digital inputs: eight buttons for the digits, two buttons to increase (+1) or decrease (-1) the number and one button to request a new random number. The front panel was made from white Corian.

The displays consist of 14 single 7-Seg-modules (Kingbright SA10-21GWA) connected to two MAX7221 controllers. One controller drives the center display, the other drives the left and right display. The controllers are cascaded and connected to the Arduino using a serial interface (3 pins). The Arduino library LedControl is used to control the displays from the software. By using this excellent library the main program can be kept really small and simple (~150 lines). The program logic is trivial, no special programming skills were required.

All wiring was done by hand (~800 soldered joints). This was a hard job, but finally everything is working. The device will be installed in the museum in the next weeks.

Many thanks to the creators and contributors of Arduino and LedControl!

Personal

Jörg Rädler

General Skills

  • engineer (Diplom-Ingenieur) for energy engineering with a focus on computer simulations
  • more than 20 years experience in software development and system administration on UNIX, Windows, MacOS and DOS
  • working and developing mainly with GNU/Linux (since kernel 0.99.12)
  • long-time experience in the design, implementation and maintenance of networks and network services

Projects und Publications

Research and Teaching

  • different research projects and lectures at the Berlin Univertsity of the Arts (since 2008)
  • assistant professor in a research project at the Technical University of Berlin, Department of Computer Sciences, for 3 years
  • lectureship at the Technical University of Berlin, Department of Mathematics, teaching programming skills

Special Topics

  • object-oriented modelling and simulation of dynamical systems
  • mathematical applications and libraries
  • visualisation of scientific data in 2D and 3D
  • graphical user interfaces (GUI)
  • data formats and data converters
  • network services and web applications

Programming Languages and Tools

  • very good skills in C and Python
  • long experience in SQL, Bourne-Shell, Pascal, C++, TCL and Fortran
  • standard developer tools: gcc, make, gdb, autoconf, cmake etc.
  • toolkits: Qt, Qwt, VTK, gtk+, Tk and corresponding tools
  • data formats XML, netCDF, HDF5, IFC and many others