Thanks to the modularity of the system Theremino, HAL (Hardware Abstraction Layer), the slots (Interprocess Communication), the UDP (Communications via network and Internet) and the OSC Protocol (Open Sound Control), all components of the next image can communicate with each other, quickly and easily, Although located on different operating systems, such as Windows, Android, Linux, UNIX and Mac OSX.
All of this is immediately applicable, even by those who do not have the experience, or the time, for writing communications software. All the software you need, comes as “free” and “Open”, download pages.
This picture also shows an Arduino that, like every other hardware, with USB connection, can access the system Slot Theremino, and therefore benefit from all the possibilities of communication, provided by our software. At the time (January 2015), No one has yet written a “Sketch”, to communicate between Arduino, with our Slots. All information and examples needed, are published, Hopefully some expert on Arduino intervenes – hardly we will find the time to do it.
Release notes Theremino stand-alone
Theremino the system arose from the need, to provide an easy and immediate input-output for PC. All design choices are aimed at making the system, suitable for the following applications:
- Educational input-output systems easy to assemble and to understand.
- Applications for scientific research.
- Process control equipment and testing.
- Laboratory bench gauges.
- Timing and control of artistic installations.
- User interface and multimedia systems command.
Professional applications, musical and scientific, need a PC. For comfortable work also serve: real operating system, a math coprocessor, a mouse, and possibly more than one monitor. This is the environment for which it was developed the system Theremino.
You can reprogram the Master for a standalone operation, using the C language, like you do with Arduino-compatible systems. But this operation, requires expert knowledge and years of experience in the programming of microcontrollers. The syntax is the same, and the compiler is the same “GCC”, valid for ATMEL processors to 8 bit of Arduino, for both PIC to 16 bits of Theremino. Arduino compiles with an IDE made for him, While Theremino uses Microchip's MPLAB. Arduino program via USB, but needs a programmer to write the Bootloader. Theremino instead, always requires a programmer (Pickit2, Pickit3 or similar), for an additional charge, but with the advantage, to have complete control of micro, and not only of the parties, that the “sketch” lets see.
ATTENTION: This is not an easy task. The firmware of the master, that takes care of the communication, via USB, and that makes the recognition, the configuration, and serial communication, with the slaves, is much more complex, a normal “Sketch” Arduino. If you get it wrong something, they degrade the performance of the entire system.
Theremino system software is modular. Applications can communicate with each other, are modular, like the LEGO ® bricks. Hardware modules are designed, to be modular and stackable.
These innovative and unusual features, which may disorient users, in the early stages of learning, require you to familiarize yourself, with new concepts, as: the “Slot”, interprocess communication (InterprocessCommunication and MemoryMappedFiles), the HAL (Hardware Abstraction Layer), the UDP (Communications via network and Internet), OSC Protocol (Open Sound Control), and any interactions with PureData, Eyesweb, Max-MSP and Processing.
Once you understand the basic principles, that make the system fitted Theremino, it becomes possible to achieve, in a few moments, each type of interfacing, without writing a single line of code.
To do more, but immediately, without having years to learn programming, You can use the Theremino Automation. A very simple language, probably the simplest in the world (and there are really many).
For very complex projects, and for those who prefer to use standard programming languages, is available on “Theremino_script”, as well as the instructions for using C++, C #, VBNET , VB6, Python and Pascal.
The Theremino system consists of one or more modules of type “Master”
The Master has 6 Generic pin, tagged with numbers 1 to 6. The pins are configurable, as both digital and analogue, and both inbound and outbound. The master scheduled, with firmware version 3 and subsequent, their other four pins, at the top. Pin connection details, are on this page: technical/pin-types
Each “Master” can communicate with one or more modules “Slave”
The slave “Servant” has 10 Generic pin, tagged with numbers 1 to 10. Even the pins of “Servant” are configurable, as both digital and analogue, and both inbound and outbound. The slave “Cap Sensor” has generic Pin, but only the desktop shortcut to the antenna. Pin connection details, are on this page: technical/pin-types
Both the Master and the “Slave” can control sensors and actuators
Examples of sensors and actuators
Ultrasonic distance sensor. Light sensors.
Radiation sensor, composed of Geiger tube, and adapter to the standard Theremino.
Brushless motor. Servo control.
Description of the system
Theremino allows you to easily connect, any type of sensor, and actuator. On the contrary, Arduino needs, a challenging programming, that implies time, experience, and appropriate tools. Theremino has all functions, to connect sensors and actuators, already programmed and ready to use.
The whole system has been designed, to be completely modular and allows you to compose, complex control systems, by means of high-level programs on your PC. Connectable devices, ranging from simple, as a potentiometer, or one servo, to complex, as a distance sensor capacitive, a robotic arm, a Geiger counter, or a multichannel Analyzer, Gamma Spectroscopy.
Theremino is immediately interfaced, with known programs “PureData”, “Eyesweb”, “Max-MSP”, and “Processing”. This allows every type of interfacing, for scientific applications, educational activities, and artistic works, without writing a single line of code. For the most demanding applications, You can use Theremino Automation, Theremino Script, and all kinds of high-level language, C++, VBNET, C #, VB6, Python, Pascal etc.
Whatever the language of your choice, communication with the system Theremino, It is very simple and efficient, Thanks to HAL application (Hardware Abstraction Layer), that handles the details of the sensors, and presents them to the software, so simple and homogeneous, by using the “Slot”.
Finally, via UDP and OSC (Open Sound Control), You can connect the “Slot”, with other “Slot”, located on other computers, via local network or Internet, and with any application, on any operating system: Windows, Linux, Mac OSX, UNIX and Android.
These possibilities are real and immediately applicable, by downloading the free software and open-source from the pages of “Download”, and without writing a single line of code.
Theremino the system is distinguished by:
Input pin-configurable Output
System Theremino each Pin can be configured individually. Others “n”Duini instead, have the pins with fixed type and location.
The types of pins
The pins are configurable, in more than twenty types pre-programmed, can communicate directly, with sensors and actuators, of all kinds. Others “n”Duini instead, They generally only four types of Pin: Digital-In, Digital-Out, Analogin and PWM.
The modular hardware
Unlike the other “n”Duini, the modules of the system Theremino, communicate with each other and are modular immediately, like the LEGO ®, without programming.
The modular software
High level programs, communicate with each other and are modular. All software for audio, video and special features is already written, with highly efficient technologies.
The communication on a single wire
Communicate on a single wire, makes it possible to use the comfortable three-wire cables, they are now a standard for model airplanes, Servo controls, Accelerometers, Compasses, Brushless motors, Helicopters, Drones and robots. The communication features are preprogrammed, simply connect the modules of the system Theremino, and they auto-acknowledge and auto-configure.
The USB communication
Unlike the other “n”Duini, the Theremino does not use a virtual serial, for communication. That does not require the installation of a driver and can communicate much faster (data exchange and refreshments for all modules, up to 500 – 1000 times per second).
Ease of use
And’ can quickly assemble, very complex systems, with virtually unlimited, hardware modules and software, that communicate with each other, without writing a single line, of firmware or software.
Unlike all other "n" Duini, Theremino the system has all the basic functions for communication and for the pre-programmed Input/Output.
The ability to add new features
Theremino the system includes Input/Output functions, for all kinds of application, and for all commonly used sensors. On the rare occasions that require additional firmware, Theremino the system is programmable anyway, like all his fellows “n”Duini. All software sources, are freely available, as well as the protocols, wiring diagrams and all relevant information, to make hardware and software changes.
The ability to request new features
Firmware programming is complex, requires a lot of experience, and must be planned carefully, otherwise the degradation efficiency, of the entire system. The team system Theremino is available, to develop new features for free, where these are useful for the whole community, and technically valid.
The ability to isolate optically the communication line
For professional applications, You must ensure the insulation between the masses of the subsystems, for example, a PC and a machine tool. If the masses are in common, the strong power transients, caused such as, by an electric motor, can crash your PC, damage electronic components, and generate communication errors. Optically isolate the USB is virtually impossible, the few existing systems, are expensive and complex.
Theremino the system starts with the communication protocol, designed for optical isolation, for which the implementation is simple and immediate.
The ability to communicate at long distance
USB connections should be short, Max 10 meters, to communicate long distance you must use a serial line.
Also all other systems “n”Duino can communicate over serial, but you must build special slave modules, called shield, Mount and program them. These modules must contain, both the firmware to communicate with sensors, to communicate with the Arduino. To implement such a system, you need a decent development time, and significant hardware and software knowledge.
Theremino the system communicates over a serial line, that can be hundreds of metres long. Don't need changes, to go far enough to use a long shielded cable.
The modules of the Theremino system are very compact and the Pin layout is designed to minimize the size of the wiring.
Reliability and cost
Theremino the system is the result of over 30 years of experience in the Input-Output for PC. The first Out systems, were developed in 1981, with patents and innovative solutions, in the implementation of the first lighting control systems for disco, with dozens of modules, and hundreds of channels on the net. In all these years, through the continuous iteration of designs, revisions and improvements, We finally got a simple hardware, reliable, and minimum cost.
- Individually configurable input-output pin.
- Wide choice of types of Pin pre-programmed, for sensors and actuators, of all kinds.
- Bidirectional serial communication, on a single wire.
- Auto detection of connected devices.
- Number of devices ranging from 1 to 200.
- Number of bytes transmitted and received variable, Depending on the type of devices.
- Transmission speed up to 4 Megabits/sec, to transmit a lot of data with short cables.
- Transmission speed up to 100 Kilobits/sec, for longer cable lengths (up to 10 Km).
- High efficiency of communication (from 10 to 20 times greater than in CAN).
- Modularity of all components, hardware, firmware and software.
- Minimal module dimensions and compactness, the Pin layout.
- Simplicity and low cost.