const int wavePin = 9; // 出力ピンを選択
int amplitude = 128; // 波形の振幅
unsigned long previousMillis = 0;
unsigned long interval = 1000; // タイマーの周期(ミリ秒)
void setup() {
pinMode(wavePin, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
// タイマー処理
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
// 波形生成
int value = amplitude * sin(currentMillis * 2 * PI / interval) + 128;
analogWrite(wavePin, value);
}
// ここで他の処理を行う
}