Con questo semplice e divertente tutorial facciamo suonare Arduino come se fosse un theremin. Sapete cosa è un Theremin?
Fonte Wikipedia:
Il Theremin è un strumento musicale elettronico, il più antico conosciuto che non preveda il contatto fisico dell’esecutore con lo strumento. Venne inventato nel 1919 dal fisico sovietico Lev Sergeevič Termen, noto in Occidente come Léon Theremin o Theremine e si basa su oscillatori che, lavorando in isofrequenza al di fuori dello spettro udibile, producono, per alterazioni delle loro caratteristiche a seguito della presenza delle mani del musicista nel campo d’onda, dei suoni sul principio fisico del battimento, questa volta nel campo delle frequenze udibili.
Cosa ci occorre:
Arduino UNO rev 3
Una resistenza da 1 MegaOhm
Un Piezo
Un foglio di alluminio meglio se arrotolato attorno ad un rotolo di carta da cucina terminato.
La fase di costruzione del progetto è semplicissima. Basta posizionare il piezo sul pin 8. Il pin 2 e 4 di Arduino devono essere connessi tra loro con la resistenza da 1 MOhm. sul pin 2 viene inserito anche un filo collegato al foglio di alluminio.
Questo è lo schema di costruzione su una breadboard.
In basso trovate il codice del Tutorial presentato al Make & Robot 2014 di Milano:
/******************************************
* Arduino Theremin
* per Robot & Makers Milano 2014
*
* Date: 21 March 2014
* Author: Giovanni Gentile
* Web: www.0lab.it
* mail: info@0lab.it
*
* Material:
* 1 Piezo
* 1 Resistor 1 MegaOhm
* 1 aluminium plate
*
* Construction:
* Pin 8 Piezo
* Pin 2 and 4 connected whith a 1 MOhm resistor
* Pin 2 Aluminium plate
*
* The code is under Creative Common License
*******************************************/
#include
CapacitiveSensor capSensor = CapacitiveSensor(4,2);
void setup() {
// Ceck the piezo
tone(8,400,400);
delay(200);
// Start up the serial connection
Serial.begin(9600);
}
void loop() {
// Read the value and setup the limit of value
long sensorValue = capSensor.capacitiveSensor(100);
int note = map(sensorValue, 0, 5000, 400, 4000);
// Degug
Serial.println(sensorValue);
Serial.print("Note: ");
Serial.println(note);
// Make sound
tone (8, note);
}