読者です 読者をやめる 読者になる 読者になる

aa develop

開発と成長

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);
}

Arduino/sound_test at master · aa-debdeb/Arduino