Παραλλαγή του Theremin

Το Theremin (θέρεμιν) είναι ένα ηλεκτρονικό μουσικό όργανο, το οποίο ελέγχεται χωρίς καμία φυσική επαφή. Το όνομά του προέρχεται από τον εφευρέτη του, Leon Theremin, ο οποίος κατοχύρωσε την πατέντα το 1928. Το συγκεκριμένο όργανο έχει προσαρμοσμένες πάνω του 2 κεραίες, οι οποίες ανιχνεύουν τη σχετική θέση των χεριών του «Thereminist», επιτρέποντάς του να ελέγχει τη συχνότητα του ταλαντωτή (oscillator) με το ένα χέρι και το πλάτος (όγκο) με το άλλο. Αμέσως μετά, τα ηλεκτρικά σήματα του Theremin περνάνε από έναν ενισχυτή σήματος και στέλνονται σε ένα μεγάφωνο.

Το έργο Arduino που ακολουθεί παρακολουθεί τις αυξομειώσεις της αντίστασης του φωτοαντιστάτη μέσω της αλλαγής του φωτισμού και στη συνέχεια αυξομειώνει τη συχνότητα του ήχου που παράγεται από το buzzer.

 

Shows the breadboard connections for the Arduino Theremin

Arduino Code

 

int analogPin = A0; // Input from photoresistor connected to A0

int buzzerPin = 4; // Positive buzzer pin connected to pin 4

 

long max_frequency = 2500; // Max frequency for the buzzer

 

long frequency; // The frequency to buzz the buzzer

int readVal; // The input voltage read from photoresistor

 

 

void setup() {

    pinMode(buzzerPin, OUTPUT); // set a pin for buzzer output

}

 

void loop() {

    readVal = analogRead(analogPin); // Reads 0-1023

    frequency = (readVal * max_frequency) / 1023;

    buzz(buzzerPin, frequency, 10);

}

 

void buzz(int targetPin, long frequency, long length) {

    long delayValue = 1000000/frequency/2;

    long numCycles = frequency * length/ 1000;

 

    for (long i=0; i < numCycles; i++) {

        digitalWrite(targetPin,HIGH);

        delayMicroseconds(delayValue);

        digitalWrite(targetPin,LOW);

        delayMicroseconds(delayValue);

    }

}