Arduinoで可変抵抗器により圧電スピーカーの音の高さを制御する
Arduinoで可変抵抗器により,圧電スピーカーから出力する音の高さを制御する.可変抵抗器の左右をGRDと5Vに,真ん中をA0に接続する.スピーカーはGRDとD12に接続する.
#define DX 12
void mtone(int dx, int hz, unsigned long tm){
unsigned long t = millis();
unsigned long ns = (long)500000 / hz;
while(millis() - t < tm){
digitalWrite(dx, HIGH);
delayMicroseconds(ns);
digitalWrite(dx, LOW);
delayMicroseconds(ns);
}
}
void setup() {
// put your setup code here, to run once:
pinMode(DX, OUTPUT);
}
void loop(){
float hz = map(analogRead(A0), 0, 1023, 0, 8000);
mtone(DX, hz, 50);
}