Italian 

Theremino is a different system from Arduino, it can be complementary to it. Even this little board with its software opens up new possibilities for teaching.



after the connection of Theremino

| pin | description | type | examples | notes | |
|---|---|---|---|---|---|
| Dig_out | Digital output | OUTPUT | turn on a LED | 3.3 Volt 18mA | |
| Pwm_8 | Pwm_16 | output PWM (Pulse Width Modulation) | OUTPUT | average voltage variable. A LED can be directly connected and its light can be adjusted from zero to maximum | 3.3 Volt 18mA |
| Servo_8 | Servo_16 | servo commands | OUTPUT | servo commands | 3.3 Volt 18mA |
| Dig_in_pu | Dig_in | Digital input | INPUT | buttons | |
| Adc_8 | Adc_16 | analog voltage input | INPUT | potenziometers | |
| Cap_8 | Cap_16 | measuring small capacity, in the order of picofarads | INPUT | capacitive keypads, tomatoes, apples | |
| Res_8 | Res_16 | to measure the resistance value of a sensor | INPUT | Variable Resistors | |
| Counter_pu | Counter | Counter | INPUT | ||
| Fast_counter_pu | Fast_counter | Fast counter | INPUT | ||
| Period_pu | Period | measure the period of a repetitive waveform | INPUT | ||
| Usound_sensor | ultrasonic distance sensors | INPUT | ultrasonic distance sensors | ||
| CapSensor_HQ | to measure the distance of a conductive object | INPUT | to measure the distance of a conductive object (typically an hand) | ||
Arduino ![]() ![]() |
Theremino ![]() ![]() |
Theremino ![]() ![]() | |
|---|---|---|---|
| sends to the Pin | DigitalWrite(1,HIGH) AnalogWrite(1,125) | WriteSlot(1,1000); WriteSlot(1,500); | WriteSlot(1,1000) WriteSlot(1,500) |
| reads from Pin | DigitalRead(1) AnalogRead(1) | ReadSlot(1); | ReadSlot(1) |
| setup | void setup(){
pinMode(1,INPUT); } | the setup is in HAL | |
| main loop | void loop(){ ... } |
static void EseguiConPause() { ... } |
Sub PausableExecution() ... End Sub |
| pause | delay(200); | PausaMS(200); | PausaMS(200) |
| conditional | if(x>125) { ... } | if x>125 ... End if | |
| repeat a loop | for(int i=1;i<=3;i++){ ... } | for i1 as int32=1 to 10 ... Next | |
| variables | int x=100; | dim x as Integer=100 | |
| float x=100.23; | dim x as single=100.23 | ||
![]()
void setup(){ pinMode(13,OUTPUT); } void loop(){ digitalWrite(13,HIGH); delay(500); digitalWrite(13,LOW); delay(500); }
![]()
static void EseguiConPause(){ WriteSlot(1,1000); PausaMS(500); WriteSlot(1,0); PausaMS(500); }
![]()
Sub PausableExecution() For i1 As Int32 = 1 to 10 WriteSlot(1,1000) PausaMS(500) WriteSlot(1,0) PausaMS(500) Next End Sub
![]()
void setup(){ pinMode(a1,INPUT); pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); } void loop(){ X=analogRead(a1); if(X>=0 && X<=62){ digitalWrite(2,HIGH); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } if(X>62 && X<=125){ digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,LOW); digitalWrite(5,LOW); } if(X>125 && X<=187){ digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,LOW); } if(X>187 && X<=255){ digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); } }
![]()
static void EseguiConPause(){ float X=ReadSlot(1); if(X>=0 & X< 250){ WriteSlot(2,1000); WriteSlot(3,0); WriteSlot(4,0); WriteSlot(5,0); } if(X>=250 & X< 500){ WriteSlot(2,1000); WriteSlot(3,1000); WriteSlot(4,0); WriteSlot(5,0); } if(X>=500 & X< 750){ WriteSlot(2,1000); WriteSlot(3,1000); WriteSlot(4,1000); WriteSlot(5,0); } if(X>=750 & X<=1000){ WriteSlot(2,1000); WriteSlot(3,1000); WriteSlot(4,1000); WriteSlot(5,1000); } }
![]()
Sub PausableExecution() Dim X as single=readSlot(1) If X>=0 and X<=250 then WriteSlot(2,1000) WriteSlot(3,0) WriteSlot(4,0) WriteSlot(5,0) End if If X>250 and X<=500 then WriteSlot(2,1000) WriteSlot(3,1000) WriteSlot(4,0) WriteSlot(5,0) End if If X>0 and X<=750 then WriteSlot(2,1000) WriteSlot(3,1000) WriteSlot(4,1000) WriteSlot(5,0) End if If X>750 and X<=1000 then WriteSlot(2,1000) WriteSlot(3,1000) WriteSlot(4,1000) WriteSlot(5,1000) End if End Sub

.

Theremino is an Open Source system for teaching and scientific applications, which allows the PC to interface with the outside world. There are many examples, from the simple (turn on an LED), to complex scientific applications (gamma spectrometry). Can be measured, with cheap sensors, each type of physical quantity, temperature, radiation, magnetic fields to chemical compounds. And you can control servos, motors, LEDs and lamps, ovens, solenoid valves, relays, process controls, robots, etc..
