Theremin Box (2 / 3 steg)
Steg 2: Arduino kod
Följande kod sattes ihop av en man vid namn António Lopes. Jag redigerade koden för att justera för mitt projekt och hur jag hade allt wired. Koden jag använde:
int prPin = A1
; PIN där foto motståndet är kopplad till
int prReading; Analog läsning från fotomotstånd
int buzzerPin = 7. Anslut summern till stift 4
lång buzzerFreq; Frekvensen som buzz summern
Du kan experimentera med dessa värden: lång BUZZ_FREQ_MAX = 2500; Maximala frekvensen för summern
lång PR_MAX = 1023; Högsta värdet för fotomotstånd
void setup() {pinMode (buzzerPin, produktionen); / / ange en PIN-kod för Summer utgång Serial.begin(115200);
}
void loop() {
prReading = analogRead(prPin); Värden 0-1023 Serial.println(prReading);
buzzerFreq = (prReading * BUZZ_FREQ_MAX) / PR_MAX;
Buzz (buzzerPin, buzzerFreq, 100);
}
{Ogiltig buzz (int targetPin, lång frekvens, lång längd)
lång delayValue = 1000000/frekvens/2;
lång numCycles = frekvens * längd / 1500;
för (länge jag = 0; jag < numCycles; i ++) {
digitalWrite(targetPin,HIGH);
delayMicroseconds(delayValue);
digitalWrite(targetPin,LOW);
delayMicroseconds(delayValue);
}
}