Light Theremin – ein schauriges Musikinstrument
Verwendet einen 10kΩ Widerstand bei der Fotozelle.
Das Piezo-Element braucht keinen Widerstand und es spielt auch keine Rolle, wierum Ihr es auf das Breadboard steckt.
Arduino
// Aus dem „Arduino Projects Book“, S. 71ff
int sensorValue;
int sensorLow = 1023;
int sensorHigh = 0;
// const = unveränderbarer Wert
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
// Kalibriert die Fotozelle
// in diesem Zeitraum die Hand über die Zelle so bewegen
// dass die gewünschten Max- und Min-Werte eingestellt werden können
while (millis() < 5000) {
sensorValue = analogRead(A0);
if (sensorValue > sensorHigh) {
sensorHigh = sensorValue;
}
if (sensorValue < sensorLow) {
sensorLow = sensorValue;
}
}
// wenn die LED ausgeht, ist das Kalibrieren fertig
digitalWrite(ledPin, LOW);
}
void loop() {
sensorValue = analogRead(A0);
// 50 - 4000 = Range of Frequency of Piezo
// map überträgt die Sensor-Werte auf die Range der Frequency
int pitch = map(sensorValue, sensorLow, sensorHigh, 50, 4000);
// Ton an Pin8, 20 Millisekunden Länge
tone(8, pitch, 20);
// LED an, wenn pitch sehr niedrig ist
if (pitch < 300){
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
delay(10);
}
Spielt mal mit den Werten der Frequenz und auch der Tonlänge…