#include <TimerOne.h>
const int wavePin = 9; // 出力ピンを選択
int amplitude = 128; // 波形の振幅
void setup() {
pinMode(wavePin, OUTPUT);
Timer1.initialize(1000); // タイマーの初期化(1000マイクロ秒ごとに割り込み)
Timer1.attachInterrupt(generateWave); // タイマー割り込み関数の設定
}
void loop() {
// ここで他の処理を行う
}
void generateWave() {
static int counter = 0;
int value = amplitude * sin(counter++ * 2 * PI / 180) + 128;
analogWrite(wavePin, value);
}